mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	Merge branch 'master' of https://github.com/billz/raspap-webgui into bandwidthmonitoring
This commit is contained in:
		| @@ -28,6 +28,7 @@ You need to install some extra software in order for the Raspberry Pi to act as | ||||
| 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**](http://www.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/global/wireless_adapters_n150/ew-7811un) – 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: Setting up a Raspberry Pi as an access point in a standalone network (Tested with Raspbian Stretch)**](https://github.com/SurferTim/documentation/blob/6bc583965254fa292a470990c40b145f553f6b34/configuration/wireless/access-point.md) | ||||
| * [**How-To: Use The Raspberry Pi As A Wireless Access Point/Router Part 1**](http://sirlagz.net/2012/08/09/how-to-use-the-raspberry-pi-as-a-wireless-access-pointrouter-part-1/) | ||||
| * [**How-To: Turn a Raspberry Pi into a WiFi router**](http://raspberrypihq.com/how-to-turn-a-raspberry-pi-into-a-wifi-router/) (uses isc-dhcp-server instead of dnsmasq) | ||||
|  | ||||
|   | ||||
| @@ -17,6 +17,13 @@ else | ||||
|     php_package="php5-cgi"  | ||||
| fi | ||||
|  | ||||
| phpcgiconf="" | ||||
| if [ "$php_package" = "php7.0-cgi" ]; then | ||||
|     phpcgiconf="/etc/php/7.0/cgi/php.ini" | ||||
| elif [ "$php_package" = "php5-cgi" ]; then | ||||
|     phpcgiconf="/etc/php5/cgi/php.ini" | ||||
| fi | ||||
|  | ||||
| # Outputs a RaspAP Install log line | ||||
| function install_log() { | ||||
|     echo -e "\033[1;32mRaspAP Install: $*\033[m" | ||||
| @@ -28,6 +35,11 @@ function install_error() { | ||||
|     exit 1 | ||||
| } | ||||
|  | ||||
| # Outputs a RaspAP Warning line | ||||
| function install_warning() { | ||||
|     echo -e "\033[1;33mWarning: $*\033[m" | ||||
| } | ||||
|  | ||||
| # Outputs a welcome message | ||||
| function display_welcome() { | ||||
|     raspberry='\033[0;35m' | ||||
| @@ -108,14 +120,12 @@ function create_logging_scripts() { | ||||
|     sudo mkdir $raspap_dir/hostapd || install_error "Unable to create directory '$raspap_dir/hostapd'" | ||||
|  | ||||
|     # Move existing shell scripts  | ||||
|     sudo mv $webroot_dir/installers/*log.sh $raspap_dir/hostapd || install_error "Unable to move logging scripts" | ||||
|     sudo mv "$webroot_dir/installers/"*log.sh "$raspap_dir/hostapd" || install_error "Unable to move logging scripts" | ||||
|     # Make enablelog.sh and disablelog.sh not writable by www-data group. | ||||
|     sudo chown -c root:"$raspap_user" "$raspap_dir/hostapd/"*log.sh || install_error "Unable change owner and/or group." | ||||
|     sudo chmod 750 "$raspap_dir/hostapd/"*log.sh || install_error "Unable to change file permissions." | ||||
| } | ||||
|  | ||||
| # Generate logging enable/disable files for hostapd | ||||
| function create_logging_scripts() { | ||||
|     sudo mkdir /etc/raspap/hostapd | ||||
|     sudo mv /var/www/html/installers/*log.sh /etc/raspap/hostapd | ||||
| } | ||||
|  | ||||
| # Fetches latest files from github to webroot | ||||
| function download_latest_files() { | ||||
| @@ -263,13 +273,50 @@ function patch_system_files() { | ||||
|     fi | ||||
| } | ||||
|  | ||||
|  | ||||
| # Optimize configuration of php-cgi. | ||||
| function optimize_php() { | ||||
|     install_log "Optimize PHP configuration" | ||||
|     if [ ! -f "$phpcgiconf" ]; then | ||||
|         install_warning "PHP configuration could not be found." | ||||
|         return | ||||
|     fi | ||||
|  | ||||
|     # Backup php.ini and create symlink for restoring. | ||||
|     datetimephpconf=$(date +%F-%R) | ||||
|     sudo cp "$phpcgiconf" "$raspap_dir/backups/php.ini.$datetimephpconf" | ||||
|     sudo ln -sf "$raspap_dir/backups/php.ini.$datetimephpconf" "$raspap_dir/backups/php.ini" | ||||
|  | ||||
|     echo -n "Enable HttpOnly for session cookies (Recommended)? [Y/n]: " | ||||
|     read answer | ||||
|     if [ "$answer" != 'n' ] && [ "$answer" != 'N' ]; then | ||||
|         echo "Php-cgi enabling session.cookie_httponly." | ||||
|         sudo sed -i -E 's/^session\.cookie_httponly\s*=\s*(0|([O|o]ff)|([F|f]alse)|([N|n]o))\s*$/session.cookie_httponly = 1/' "$phpcgiconf" | ||||
|     fi | ||||
|  | ||||
|     if [ "$php_package" = "php7.0-cgi" ]; then | ||||
|         echo -n "Enable PHP OPCache? [Y/n]: " | ||||
|         read answer | ||||
|         if [ "$answer" != 'n' ] && [ "$answer" != 'N' ]; then | ||||
|             echo "Php-cgi enabling opcache.enable." | ||||
|             sudo sed -i -E 's/^;?opcache\.enable\s*=\s*(0|([O|o]ff)|([F|f]alse)|([N|n]o))\s*$/opcache.enable = 1/' "$phpcgiconf" | ||||
|             # Make sure opcache extension is turned on. | ||||
|             if [ -f "/usr/sbin/phpenmod" ]; then | ||||
|                 sudo phpenmod opcache | ||||
|             else | ||||
|                 install_warning "phpenmod not found." | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| function install_complete() { | ||||
|     install_log "Installation completed!" | ||||
|  | ||||
|     echo -n "The system needs to be rebooted as a final step. Reboot now? [y/N]: " | ||||
|     read answer | ||||
|     if [[ $answer != "y" ]]; then | ||||
|         echo "Installation aborted." | ||||
|         echo "Installation reboot aborted." | ||||
|         exit 0 | ||||
|     fi | ||||
|     sudo shutdown -r now || install_error "Unable to execute shutdown" | ||||
| @@ -280,6 +327,7 @@ function install_raspap() { | ||||
|     config_installation | ||||
|     update_system_packages | ||||
|     install_dependencies | ||||
|     optimize_php | ||||
|     enable_php_lighttpd | ||||
|     create_raspap_directories | ||||
|     check_for_old_configs | ||||
|   | ||||
| @@ -4,14 +4,28 @@ raspap_user="www-data" | ||||
| version=`sed 's/\..*//' /etc/debian_version` | ||||
|  | ||||
| # Determine version and set default home location for lighttpd  | ||||
| if [ $version -ge 8 ]; then | ||||
|     version_msg="Raspian version 8.0 or later" | ||||
|     webroot_dir="/var/www/html" | ||||
| else | ||||
|     version_msg="Raspian version earlier than 8.0" | ||||
| webroot_dir="/var/www/html"  | ||||
| if [ $version -eq 9 ]; then  | ||||
|     version_msg="Raspian 9.0 (Stretch)"  | ||||
|     php_package="php7.0-cgi"  | ||||
| elif [ $version -eq 8 ]; then  | ||||
|     version_msg="Raspian 8.0 (Jessie)"  | ||||
|     webroot_dir="/var/www"  | ||||
|     php_package="php5-cgi"  | ||||
| else  | ||||
|     version_msg="Raspian earlier than 8.0 (Wheezy)" | ||||
|     webroot_dir="/var/www"  | ||||
|     php_package="php5-cgi"  | ||||
| fi | ||||
|  | ||||
| phpcgiconf="" | ||||
| if [ "$php_package" = "php7.0-cgi" ]; then | ||||
|     phpcgiconf="/etc/php/7.0/cgi/php.ini" | ||||
| elif [ "$php_package" = "php5-cgi" ]; then | ||||
|     phpcgiconf="/etc/php5/cgi/php.ini" | ||||
| fi | ||||
|  | ||||
|  | ||||
| # Outputs a RaspAP Install log line | ||||
| function install_log() { | ||||
|     echo -e "\033[1;32mRaspAP Install: $*\033[m" | ||||
| @@ -68,6 +82,13 @@ function check_for_backups() { | ||||
|                 sudo cp "$raspap_dir/backups/dhcpcd.conf" /etc/dhcpcd.conf | ||||
|             fi | ||||
|         fi | ||||
|         if [ -f "$raspap_dir/backups/php.ini" ] && [ -f "$phpcgiconf" ]; then | ||||
|             echo -n "Restore the last php.ini file? [y/N]: " | ||||
|             read answer | ||||
|             if [[ $answer -eq 'y' ]]; then | ||||
|                 sudo cp "$raspap_dir/backups/php.ini" "$phpcgiconf" | ||||
|             fi | ||||
|         fi | ||||
|         if [ -f "$raspap_dir/backups/rc.local" ]; then | ||||
|             echo -n "Restore the last rc.local file? [y/N]: " | ||||
|             read answer | ||||
| @@ -75,7 +96,7 @@ function check_for_backups() { | ||||
|                 sudo cp "$raspap_dir/backups/rc.local" /etc/rc.local | ||||
|             else | ||||
|                 echo -n "Remove RaspAP Lines from /etc/rc.local? [Y/n]: " | ||||
|                 if $answer -ne 'n' ]]; then | ||||
|                 if [[ $answer -ne 'n' ]]; then | ||||
|                     sed -i '/#RASPAP/d' /etc/rc.local | ||||
|                 fi | ||||
|             fi | ||||
|   | ||||
		Reference in New Issue
	
	Block a user