Wireless

From Hurlster Wiki
Revision as of 16:14, 30 March 2016 by Gqwill69 (talk | contribs)
Jump to navigation Jump to search

Wireless WebGui

https://github.com/billz/raspap-webgui

Prerequisites

You need to install some extra software in order for the Raspberry Pi to act as a WiFi router and access point. If all you're interested in is configuring your RPi as a client on an existing WiFi network, you can skip this step.

There are many guides available to help you select a WiFi adapter, install a compatible driver, configure HostAPD and so on. The details are outside the scope of this project, although I've had consistently good results with the Edimax Wireless 802.11b/g/n nano USB adapter – it's small, cheap and easy to work with.

To configure your RPi as a WiFi router, either of these resources will start you on the right track:

How To : Use The Raspberry Pi As A Wireless Access Point/Router Part 1 How-To: Turn a Raspberry Pi into a WiFi router (uses isc-dhcp-server instead of dnsmasq) After you complete the intial setup, you'll be able to administer these services using the web UI.

Installation

Start off by installing lighttpd and php5.

$ sudo 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

Please note that these are only UI's for now. If there's enough interest I'll complete the funtionality for these optional admin screens.