mirror of
https://github.com/RaspAP/raspap-webgui.git
synced 2024-11-22 07:30:23 +00:00
Backup php.ini to $raspap_dir/backups folder.
Ask for before changing php configuration of httpOnly and opcache. Do not change session.use_strict_mode, no extra question. Ask to restore backup of php.ini from $raspap_dir/backups folder in uninstall.sh. Signed-off-by: D9ping <D9ping@users.noreply.github.com>
This commit is contained in:
parent
e428271ef2
commit
03f2620e48
2 changed files with 55 additions and 24 deletions
|
@ -15,7 +15,14 @@ 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
|
||||
function install_log() {
|
||||
|
@ -269,23 +276,28 @@ function patch_system_files() {
|
|||
|
||||
# Change configuration of php-cgi.
|
||||
function reconfigure_php() {
|
||||
install_log "Reconfiguring php"
|
||||
phpcgiconf=""
|
||||
if [ "$php_package" = "php7.0-cgi" ]; then
|
||||
phpcgiconf="/etc/php/7.0/cgi/php.ini"
|
||||
elif [ "$php_package" = "php5-cgi" ]; then
|
||||
phpcgiconf="/etc/php/cgi/php.ini"
|
||||
if [ ! -f "$phpcgiconf" ]; then
|
||||
install_warning "PHP configuration could not be found."
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -f "$phpcgiconf" ]; then
|
||||
# Backup php configuration.
|
||||
sudo cp "$phpcgiconf" "$phpcgiconf.`date +%F-%R`"
|
||||
# Turn on the httpOnly flag if off.
|
||||
# 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"
|
||||
# Don't accept uninitialized session ID's.
|
||||
sudo sed -i -E 's/^session\.use_strict_mode\s*=\s*(0|([O|o]ff)|([F|f]alse)|([N|n]o))\s*$/session.use_strict_mode = 1/' "$phpcgiconf"
|
||||
if [ "$php_package" = "php7.0-cgi" ]; then
|
||||
# Enable PHP Zend Opcache.
|
||||
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
|
||||
|
@ -294,8 +306,6 @@ function reconfigure_php() {
|
|||
install_warning "phpenmod not found."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
install_warning "PHP configuration could not be found."
|
||||
fi
|
||||
|
||||
# Apply new php configuration.
|
||||
|
|
|
@ -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"
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue