Code Monkey home page Code Monkey logo

minionap's Introduction

raspap-webgui

Started and modified from here (http://sirlagz.net/2013/02/08/raspap-webgui/)

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)

Requirements

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:

  • lighttpd
  • php5-cgi
  • isc-dhcp-server
  • git

Steps

  1. Install required packages

sudo apt-get install lighttpd php5-cgi git isc-dhcp-server 2. Enable php in lighttpd

sudo lighty-enable-mod fastcgi-php
sudo service lighttpd restart
  1. Edit /etc/sudoers to allow the www-data user to call the necessary commands. Add the following line to the end of the file.
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
  1. 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

  1. 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;
}
  1. 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

minionap's People

Contributors

rjpcomputing avatar

Watchers

James Cloos avatar Gavin Greenwalt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.