Merge pull request #124 from billz/new-php-pa

Installs php7.0-cgi for Stretch. Maintains backward compatibility with Jessie. Resolves #118 #109
This commit is contained in:
Bill Zimmerman 2017-11-16 18:22:30 +01:00 committed by GitHub
commit 6e2c6de8a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 46 deletions

View File

@ -2,14 +2,20 @@ raspap_dir="/etc/raspap"
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"
fi
# Determine version, set default home location for lighttpd and
# php package to install
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)"
php_package="php5-cgi"
else
version_msg="Raspian earlier than 8.0 (Wheezy)"
webroot_dir="/var/www"
php_package="php5-cgi"
fi
# Outputs a RaspAP Install log line
function install_log() {
@ -72,15 +78,8 @@ function install_dependencies() {
function enable_php_lighttpd() {
install_log "Enabling PHP for lighttpd"
sudo lighty-enable-mod fastcgi-php
ERR=$?
if [ $ERR -eq 2 ]
then
echo ' [already enabled]'
elif [ $ERR -ne 0 ]
then
install_error "Cannot enable fastcgi-php for lighttpd"
fi
sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd force-reload
sudo /etc/init.d/lighttpd restart || install_error "Unable to restart lighttpd"
}
@ -111,6 +110,12 @@ function create_logging_scripts() {
sudo mv /var/www/html/installers/*log.sh /etc/raspap/hostapd
}
# 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() {
if [ -d "$webroot_dir" ]; then
@ -181,20 +186,19 @@ function default_configuration() {
sudo mv $webroot_dir/config/hostapd.conf /etc/hostapd/hostapd.conf || install_error "Unable to move hostapd configuration file"
sudo mv $webroot_dir/config/dnsmasq.conf /etc/dnsmasq.conf || install_error "Unable to move dnsmasq configuration file"
sudo mv $webroot_dir/config/dhcpcd.conf /etc/dhcpcd.conf || install_error "Unable to move dhcpcd configuration file"
# Generate required lines for Rasp AP to place into rc.local file.
# #RASPAP is for removal script
lines=(
'echo 1 > /proc/sys/net/ipv4/ip_forward #RASPAP'
'iptables -t nat -A POSTROUTING -j MASQUERADE #RASPAP'
'echo 1 > /proc/sys/net/ipv4/ip_forward #RASPAP'
'iptables -t nat -A POSTROUTING -j MASQUERADE #RASPAP'
)
for line in "${lines[@]}"; do
if grep "$line" /etc/rc.local > /dev/null; then
echo "$line: Line already added"
else
sed -i "s/exit 0/$line\nexit0/" /etc/rc.local
sed -i "s/exit 0/$line\nexit0/" /etc/rc.local
echo "Adding line $line"
fi
done
@ -203,7 +207,7 @@ function default_configuration() {
# Add a single entry to the sudoers file
function sudo_add() {
sudo bash -c "echo \"www-data ALL=(ALL) NOPASSWD:$1\" | (EDITOR=\"tee -a\" visudo)" \
sudo bash -c "echo \"www-data ALL=(ALL) NOPASSWD:$1\" | (EDITOR=\"tee -a\" visudo)" \
|| install_error "Unable to patch /etc/sudoers"
}
@ -211,27 +215,27 @@ function sudo_add() {
function patch_system_files() {
# Set commands array
cmds=(
'/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'
'/sbin/wpa_cli reconfigure'
'/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'
'/sbin/shutdown -h now'
'/sbin/reboot'
'/sbin/ip link set wlan0 down'
'/sbin/ip link set wlan0 up'
'/sbin/ip -s a f label wlan0'
'/bin/cp /etc/raspap/networking/dhcpcd.conf /etc/dhcpcd.conf'
'/etc/raspap/hostapd/enablelog.sh'
'/etc/raspap/hostapd/disablelog.sh'
'/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'
'/sbin/wpa_cli reconfigure'
'/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'
'/sbin/shutdown -h now'
'/sbin/reboot'
'/sbin/ip link set wlan0 down'
'/sbin/ip link set wlan0 up'
'/sbin/ip -s a f label wlan0'
'/bin/cp /etc/raspap/networking/dhcpcd.conf /etc/dhcpcd.conf'
'/etc/raspap/hostapd/enablelog.sh'
'/etc/raspap/hostapd/disablelog.sh'
)
# Check if sudoers needs patchin

2
installers/raspbian.sh Normal file → Executable file
View File

@ -9,7 +9,7 @@ function update_system_packages() {
function install_dependencies() {
install_log "Installing required packages"
sudo apt-get install lighttpd php5-cgi git hostapd dnsmasq || install_error "Unable to install dependencies"
sudo apt-get install lighttpd $php_package git hostapd dnsmasq || install_error "Unable to install dependencies"
}
install_raspap

0
installers/uninstall.sh Normal file → Executable file
View File