1
0
mirror of https://github.com/billz/raspap-webgui.git synced 2023-10-10 13:37:24 +02:00
This commit is contained in:
billz 2017-11-16 22:38:54 +00:00
commit 5d9d58630c
3 changed files with 50 additions and 46 deletions

View File

@ -2,14 +2,20 @@ raspap_dir="/etc/raspap"
raspap_user="www-data" raspap_user="www-data"
version=`sed 's/\..*//' /etc/debian_version` version=`sed 's/\..*//' /etc/debian_version`
# Determine version and set default home location for lighttpd # Determine version, set default home location for lighttpd and
if [ $version -ge 8 ]; then # php package to install
version_msg="Raspian version 8.0 or later" webroot_dir="/var/www/html"
webroot_dir="/var/www/html" if [ $version -eq 9 ]; then
else version_msg="Raspian 9.0 (Stretch)"
version_msg="Raspian version earlier than 8.0" php_package="php7.0-cgi"
webroot_dir="/var/www" elif [ $version -eq 8 ]; then
fi 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 # Outputs a RaspAP Install log line
function install_log() { function install_log() {
@ -72,15 +78,8 @@ function install_dependencies() {
function enable_php_lighttpd() { function enable_php_lighttpd() {
install_log "Enabling PHP for lighttpd" install_log "Enabling PHP for lighttpd"
sudo lighty-enable-mod fastcgi-php sudo lighttpd-enable-mod fastcgi-php
ERR=$? sudo service lighttpd force-reload
if [ $ERR -eq 2 ]
then
echo ' [already enabled]'
elif [ $ERR -ne 0 ]
then
install_error "Cannot enable fastcgi-php for lighttpd"
fi
sudo /etc/init.d/lighttpd restart || install_error "Unable to restart lighttpd" sudo /etc/init.d/lighttpd restart || install_error "Unable to restart lighttpd"
} }
@ -112,6 +111,12 @@ function create_logging_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"
} }
# 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 # Fetches latest files from github to webroot
function download_latest_files() { function download_latest_files() {
if [ -d "$webroot_dir" ]; then if [ -d "$webroot_dir" ]; then
@ -182,20 +187,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/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/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" 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. # Generate required lines for Rasp AP to place into rc.local file.
# #RASPAP is for removal script # #RASPAP is for removal script
lines=( lines=(
'echo 1 > /proc/sys/net/ipv4/ip_forward #RASPAP' 'echo 1 > /proc/sys/net/ipv4/ip_forward #RASPAP'
'iptables -t nat -A POSTROUTING -j MASQUERADE #RASPAP' 'iptables -t nat -A POSTROUTING -j MASQUERADE #RASPAP'
) )
for line in "${lines[@]}"; do for line in "${lines[@]}"; do
if grep "$line" /etc/rc.local > /dev/null; then if grep "$line" /etc/rc.local > /dev/null; then
echo "$line: Line already added" echo "$line: Line already added"
else 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" echo "Adding line $line"
fi fi
done done
@ -204,7 +208,7 @@ function default_configuration() {
# Add a single entry to the sudoers file # Add a single entry to the sudoers file
function sudo_add() { 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" || install_error "Unable to patch /etc/sudoers"
} }
@ -212,27 +216,27 @@ function sudo_add() {
function patch_system_files() { function patch_system_files() {
# Set commands array # Set commands array
cmds=( cmds=(
'/sbin/ifdown wlan0' '/sbin/ifdown wlan0'
'/sbin/ifup wlan0' '/sbin/ifup wlan0'
'/bin/cat /etc/wpa_supplicant/wpa_supplicant.conf' '/bin/cat /etc/wpa_supplicant/wpa_supplicant.conf'
'/bin/cp /tmp/wifidata /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_results'
'/sbin/wpa_cli scan' '/sbin/wpa_cli scan'
'/sbin/wpa_cli reconfigure' '/sbin/wpa_cli reconfigure'
'/bin/cp /tmp/hostapddata /etc/hostapd/hostapd.conf' '/bin/cp /tmp/hostapddata /etc/hostapd/hostapd.conf'
'/etc/init.d/hostapd start' '/etc/init.d/hostapd start'
'/etc/init.d/hostapd stop' '/etc/init.d/hostapd stop'
'/etc/init.d/dnsmasq start' '/etc/init.d/dnsmasq start'
'/etc/init.d/dnsmasq stop' '/etc/init.d/dnsmasq stop'
'/bin/cp /tmp/dhcpddata /etc/dnsmasq.conf' '/bin/cp /tmp/dhcpddata /etc/dnsmasq.conf'
'/sbin/shutdown -h now' '/sbin/shutdown -h now'
'/sbin/reboot' '/sbin/reboot'
'/sbin/ip link set wlan0 down' '/sbin/ip link set wlan0 down'
'/sbin/ip link set wlan0 up' '/sbin/ip link set wlan0 up'
'/sbin/ip -s a f label wlan0' '/sbin/ip -s a f label wlan0'
'/bin/cp /etc/raspap/networking/dhcpcd.conf /etc/dhcpcd.conf' '/bin/cp /etc/raspap/networking/dhcpcd.conf /etc/dhcpcd.conf'
'/etc/raspap/hostapd/enablelog.sh' '/etc/raspap/hostapd/enablelog.sh'
'/etc/raspap/hostapd/disablelog.sh' '/etc/raspap/hostapd/disablelog.sh'
) )
# Check if sudoers needs patchin # 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() { function install_dependencies() {
install_log "Installing required packages" 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 install_raspap

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