Simple wireless AP setup & management for Debian-based devices
Find a file
2015-02-28 10:59:43 +01:00
bower_components Updated favicon 2015-02-27 17:18:38 +01:00
dist Updated favicon 2015-02-27 17:18:38 +01:00
img New .ico and logo image 2015-02-28 00:30:51 +01:00
includes Removed debug output 2015-02-28 10:59:43 +01:00
js Added assets + dependencies 2015-02-25 14:08:14 +01:00
less Added assets + dependencies 2015-02-25 14:08:14 +01:00
.gitignore Initial commit 2015-02-28 08:47:39 +01:00
bower.json Added assets + dependencies 2015-02-25 14:08:14 +01:00
index.php Updated favicon 2015-02-27 17:18:38 +01:00
README.md Updated README 2015-02-28 00:31:34 +01:00

$ raspap-webgui Release 1.0

A simple, responsive web interface to control wifi, hostapd and related services on the Raspberry Pi.

This project was inspired by a blog post by SirLagz about using a web page rather than ssh to configure wifi and hostapd settings on the Raspberry Pi. I mostly just prettified the UI by wrapping it in SB Admin 2, a Bootstrap based admin theme 😄

We'd be curious to hear about how you use this with your own Pi-powered access points. Ping us on Twitter (@billzimmerman and @SirLagz). Until then, here's a screenshot:

Contents

Installation

Start off by installing lighttpd and php5.

$ apt-get install lighttpd php5-cgi

After that, enable PHP for lighttpd and restart it for the settings to take effect.

sudo lighty-enable-mod fastcgi-php
/etc/init.d/lighttpd restart

Now comes the fun part. For security reasons, the www-data user which lighttpd runs under is not allowed to start or stop daemons, or run commands like ifdown and ifup, all of which we want our page to do. So what I have done is added the www-data user to the sudoers file, but with restrictions on what commands the user can run. Add the following to the end of /etc/sudoers:

www-data ALL=(ALL) NOPASSWD:/sbin/ifdown wlan0,/sbin/ifup wlan0,/bin/cat
/etc/wpa_supplicant/wpa_supplicant.conf,/bin/cp /tmp/wifidata 
/etc/wpa_supplicant/wpa_supplicant.conf,/sbin/wpa_cli scan_results,
/sbin/wpa_cli scan,/bin/cp /tmp/hostapddata /etc/hostapd/hostapd.conf,
/etc/init.d/hostapd start,/etc/init.d/hostapd stop,/etc/init.d/dnsmasq start,
/etc/init.d/dnsmasq stop,/bin/cp /tmp/dhcpddata /etc/dnsmasq.conf

Once those modifications are done, git clone the files to /var/www.

sudo git clone https://github.com/billz/raspap-webgui /var/www

Set the files ownership to www-data user.

sudo chown -R www-data:www-data /var/www

Reboot and it should be up and running!

sudo reboot

How to contribute

  1. File an issue in the repository, using the bug tracker, describing the contribution you'd like to make. This will help us to get you started on the right foot.
  2. Fork the project in your account and create a new branch: your-great-feature.
  3. Commit your changes in that branch.
  4. Open a pull request, and reference the initial issue in the pull request message.

License

See the LICENSE file.