1
0
mirror of https://github.com/billz/raspap-webgui.git synced 2023-10-10 13:37:24 +02:00

Merge branch 'Branch_D9ping' of https://github.com/D9ping/raspap-webgui into D9ping-Branch_D9ping

This commit is contained in:
billz 2018-09-03 08:31:38 +00:00
commit e0e78cb0f9
2 changed files with 86 additions and 15 deletions

View File

@ -15,7 +15,14 @@ else
version_msg="Raspian earlier than 8.0 (Wheezy)" version_msg="Raspian earlier than 8.0 (Wheezy)"
webroot_dir="/var/www" webroot_dir="/var/www"
php_package="php5-cgi" php_package="php5-cgi"
fi 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 # Outputs a RaspAP Install log line
function install_log() { function install_log() {
@ -28,6 +35,11 @@ function install_error() {
exit 1 exit 1
} }
# Outputs a RaspAP Warning line
function install_warning() {
echo -e "\033[1;33mWarning: $*\033[m"
}
# Outputs a welcome message # Outputs a welcome message
function display_welcome() { function display_welcome() {
raspberry='\033[0;35m' 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'" sudo mkdir $raspap_dir/hostapd || install_error "Unable to create directory '$raspap_dir/hostapd'"
# Move existing shell scripts # 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 # Fetches latest files from github to webroot
function download_latest_files() { function download_latest_files() {
@ -263,13 +273,52 @@ function patch_system_files() {
fi fi
} }
# Change configuration of php-cgi.
function reconfigure_php() {
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 "Turn on httpOnly flag for session cookies(recommended)? [Y/n]: "
read answer
if [ "$answer" != 'n' ] && [ "$answer" != 'N' ]; then
install_log "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 "Turn on php opcache? [Y/n]: "
read answer
if [ "$answer" != 'n' ] && [ "$answer" != 'N' ]; then
install_log "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
# Apply new php configuration.
sudo service lighttpd reload
}
function install_complete() { function install_complete() {
install_log "Installation completed!" install_log "Installation completed!"
echo -n "The system needs to be rebooted as a final step. Reboot now? [y/N]: " echo -n "The system needs to be rebooted as a final step. Reboot now? [y/N]: "
read answer read answer
if [[ $answer != "y" ]]; then if [[ $answer != "y" ]]; then
echo "Installation aborted." echo "Installation reboot aborted."
exit 0 exit 0
fi fi
sudo shutdown -r now || install_error "Unable to execute shutdown" sudo shutdown -r now || install_error "Unable to execute shutdown"
@ -289,5 +338,6 @@ function install_raspap() {
move_config_file move_config_file
default_configuration default_configuration
patch_system_files patch_system_files
reconfigure_php
install_complete install_complete
} }

View File

@ -4,14 +4,28 @@ 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 and set default home location for lighttpd
if [ $version -ge 8 ]; then webroot_dir="/var/www/html"
version_msg="Raspian version 8.0 or later" if [ $version -eq 9 ]; then
webroot_dir="/var/www/html" version_msg="Raspian 9.0 (Stretch)"
else php_package="php7.0-cgi"
version_msg="Raspian version earlier than 8.0" elif [ $version -eq 8 ]; then
webroot_dir="/var/www" 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 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 # Outputs a RaspAP Install log line
function install_log() { function install_log() {
echo -e "\033[1;32mRaspAP Install: $*\033[m" 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 sudo cp "$raspap_dir/backups/dhcpcd.conf" /etc/dhcpcd.conf
fi fi
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 if [ -f "$raspap_dir/backups/rc.local" ]; then
echo -n "Restore the last rc.local file? [y/N]: " echo -n "Restore the last rc.local file? [y/N]: "
read answer read answer
@ -75,7 +96,7 @@ function check_for_backups() {
sudo cp "$raspap_dir/backups/rc.local" /etc/rc.local sudo cp "$raspap_dir/backups/rc.local" /etc/rc.local
else else
echo -n "Remove RaspAP Lines from /etc/rc.local? [Y/n]: " 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 sed -i '/#RASPAP/d' /etc/rc.local
fi fi
fi fi