mirror of
https://github.com/billz/raspap-webgui.git
synced 2023-10-10 13:37:24 +02:00
Updated README
This commit is contained in:
parent
ae11bfe7fc
commit
bb61db4d01
130
README.md
130
README.md
@ -1,102 +1,44 @@
|
|||||||
raspapwebgui
|
![](http://i.imgur.com/xeKD93p.png)
|
||||||
=============
|
# `$ raspap-webgui` [![Release 1.0](https://img.shields.io/badge/Release-1.0-green.svg)](https://github.com/billz/raspap-webgui/releases)
|
||||||
Started and modified from here http://sirlagz.net/2013/02/08/raspap-webgui/
|
A simple, responsive web interface to control wifi, hostapd and related services on the Raspberry Pi.
|
||||||
|
|
||||||
Found this article very helpful for setting up DHCP (https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/install-software)
|
We'd be curious to hear about how you use this with your own Pi-powered access points. Ping us on Twitter and ([**@billzimmerman**](https://twitter.com/billzimmerman)) and ([**@SirLagz**](https://twitter.com/SirLagz)). Until then, here's a screenshot:
|
||||||
|
|
||||||
Requirements
|
![](http://i.imgur.com/c09ZTQS.png)
|
||||||
============
|
|
||||||
A raspberry pi with raspbian running on it. You will need to ssh into it to set this up.
|
|
||||||
|
|
||||||
The Packages required for the WebGUI are:
|
## Contents
|
||||||
* lighttpd
|
|
||||||
* php5-cgi
|
|
||||||
* isc-dhcp-server
|
|
||||||
* git
|
|
||||||
|
|
||||||
Steps
|
- [Installation](#installation)
|
||||||
=====
|
- [How to contribute](#how-to-contribute)
|
||||||
1. Install required packages
|
|
||||||
|
|
||||||
`sudo apt-get install lighttpd php5-cgi git isc-dhcp-server`
|
## Installation
|
||||||
2. Enable php in lighttpd
|
Start off by installing lighttpd and php5.
|
||||||
|
```sh
|
||||||
|
$ apt-get install lighttpd php5-cgi
|
||||||
|
```
|
||||||
|
After that, enable PHP for lighttpd and restart it for the settings to take effect.
|
||||||
|
```sh
|
||||||
|
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`:
|
||||||
|
|
||||||
```
|
```sh
|
||||||
sudo lighty-enable-mod fastcgi-php
|
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
|
||||||
sudo service lighttpd restart
|
```
|
||||||
```
|
## How to contribute
|
||||||
3. Edit `/etc/sudoers` to allow the *www-data* user to call the necessary commands. Add the following line to the end of the file.
|
|
||||||
|
|
||||||
|
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
|
||||||
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
|
See the [LICENSE](./LICENSE) file.
|
||||||
```
|
|
||||||
4. Once those modifications are done, git clone the files to `/var/www`. Make sure that there are no files in the `/var/www` directory. There was a default lighttpd index file that I had to delete.
|
|
||||||
|
|
||||||
`sudo git clone https://github.com/rjpcomputing/raspap-webgui.git /var/www`
|
|
||||||
5. Set the files ownership to `www-data` user.
|
|
||||||
|
|
||||||
`sudo chown -R www-data:www-data /var/www`
|
|
||||||
6. Configure a static IP for the Pi
|
|
||||||
* Edit `/etc/network/interfaces`
|
|
||||||
|
|
||||||
`sudo nano /etc/network/interfaces`
|
|
||||||
* Find and remove dhcp entry
|
|
||||||
`iface eth0 inet dhcp`
|
|
||||||
* Append new network settings
|
|
||||||
```
|
|
||||||
auto eth0
|
|
||||||
allow-hotplug eth0
|
|
||||||
iface eth0 inet static
|
|
||||||
address 10.0.0.1
|
|
||||||
netmask 255.255.255.0
|
|
||||||
dns-nameservers 8.8.8.8 8.8.4.4
|
|
||||||
```
|
|
||||||
* Find and change `iface wlan0 inet manual` to `iface wlan0 inet dhcp`. This is under the wlan0 setup.
|
|
||||||
* Comment out `iface default inet dhcp` and `allow-hotplug wlan0` using the '#' character at the beginning of the line(s).
|
|
||||||
* Example of `/etc/network/interfaces` after all changes are made:
|
|
||||||
```
|
|
||||||
auto lo
|
|
||||||
iface lo inet loopback
|
|
||||||
|
|
||||||
#iface eth0 inet dhcp
|
|
||||||
auto eth0
|
|
||||||
allow-hotplug eth0
|
|
||||||
iface eth0 inet static
|
|
||||||
address 10.0.0.1
|
|
||||||
netmask 255.255.255.0
|
|
||||||
dns-nameservers 8.8.8.8 8.8.4.4
|
|
||||||
|
|
||||||
auto wlan0
|
|
||||||
#allow-hotplug wlan0
|
|
||||||
iface wlan0 inet dhcp
|
|
||||||
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
|
|
||||||
#iface default inet dhcp
|
|
||||||
|
|
||||||
```
|
|
||||||
7. Configure `dhcpd` by editing `/etc/dhcp/dhcpd.conf`
|
|
||||||
* `sudo nano /etc/dhcp/dhcpd.conf`
|
|
||||||
* Add the following to the end of the file
|
|
||||||
```
|
|
||||||
subnet 10.0.0.0 netmask 255.255.255.0
|
|
||||||
{
|
|
||||||
range 10.0.0.50 10.0.0.99;
|
|
||||||
option routers 10.0.0.254;
|
|
||||||
option domain-name "local";
|
|
||||||
option domain-name-servers 8.8.8.8, 8.8.4.4;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
8. Open `/etc/default/isc-dhcp-server` and change the `INTERFACES=""` to `INTERFACES="eth0"`
|
|
||||||
|
|
||||||
`sudo nano /etc/default/isc-dhcp-server`
|
|
||||||
9. Install and configure the auto-reconnect WiFi script (wifi-check).
|
|
||||||
* Copy 'wifi-check' to `/usr/local/bin/wifi-check`
|
|
||||||
* `sudo cp /var/www/wifi-check /usr/local/bin/wifi-check`
|
|
||||||
* `sudo chmod +x /usr/local/bin/wifi-check`
|
|
||||||
* Add it to cron so it runs every 5 minutes
|
|
||||||
* `sudo crontab -e`
|
|
||||||
* Append the line `*/5 * * * * /usr/local/bin/wifi-check > /tmp/wificheck.log 2>&1` to the end of the file
|
|
||||||
* Save the file
|
|
||||||
* Reboot and it should be up and running!
|
|
||||||
|
|
||||||
`sudo reboot`
|
|
Loading…
Reference in New Issue
Block a user