From 1ff962b2aeb033fd2dcafe05a08af563283e122c Mon Sep 17 00:00:00 2001 From: absurdo Date: Fri, 1 Dec 2023 00:31:34 +0100 Subject: [PATCH] Fixes in php --- scripts/check_php.sh | 2 +- scripts/install_apache.php | 66 ++++++++++++++++--- .../phpmyadmin/install_phpmyadmin_site.py | 13 ++-- 3 files changed, 67 insertions(+), 14 deletions(-) diff --git a/scripts/check_php.sh b/scripts/check_php.sh index 2bef426..9bc4696 100644 --- a/scripts/check_php.sh +++ b/scripts/check_php.sh @@ -187,7 +187,7 @@ elif [ "$DISTRO" = 'rocky' ] || [ "$DISTRO" = 'fedora' ]; then else - sudo dnf -y install php${FINAL_PHP_VERSION} php${FINAL_PHP_VERSION}-php-gd php${FINAL_PHP_VERSION}-php-mysqlnd php${FINAL_PHP_VERSION}-php-imap php${FINAL_PHP_VERSION}-php-intl php${FINAL_PHP_VERSION}-php-fpm php${FINAL_PHP_VERSION}-php-process composer unzip mariadb + sudo dnf -y install php${FINAL_PHP_VERSION} php${FINAL_PHP_VERSION}-php-gd php${FINAL_PHP_VERSION}-php-mysqlnd php${FINAL_PHP_VERSION}-php-imap php${FINAL_PHP_VERSION}-php-intl php${FINAL_PHP_VERSION}-php-fpm php${FINAL_PHP_VERSION}-php-process composer unzip mariadb php${FINAL_PHP_VERSION}-php-pecl-zip if [ $? -eq 0 ]; then diff --git a/scripts/install_apache.php b/scripts/install_apache.php index 3d76db9..273972a 100644 --- a/scripts/install_apache.php +++ b/scripts/install_apache.php @@ -22,6 +22,12 @@ $create_dirs=['debian' => ["sudo mkdir -p /etc/apache2/vhosts.d/ && sudo mkdir - $create_dirs['ubuntu']=$create_dirs['debian']; +$create_dirs['fedora']=["sudo mkdir -p /etc/httpd/vhosts.d/{php,extra} "]; + +$create_dirs['almalinux']=$create_dirs['fedora']; + +$create_dirs['rocky']=$create_dirs['fedora']; + Linux::exec($create_dirs); if(!file_put_contents('vhosts.conf', $conf_vhosts)) { @@ -34,29 +40,73 @@ $create_vhost_file=['debian' => ["sudo mv vhosts.conf /etc/apache2/sites-enabled $create_vhost_file['ubuntu']=$create_vhost_file['debian']; +//echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list + +//$create_vhost_file['fedora']=["sudo mv vhosts.conf /etc/httpd/conf.d/zzz-vhosts.conf && sudo chown root:root /etc/httpd/conf.d/zzz-vhosts.conf && sudo chmod 644 /etc/httpd/conf.d/zzz-vhosts.conf"]; + +$create_vhost_file['fedora']=["echo ${conf_vhosts} | sudo tee -a /etc/httpd/conf/httpd.conf"]; + +$create_vhost_file['almalinux']=$create_vhost_file['fedora']; + +$create_vhost_file['rocky']=$create_vhost_file['fedora']; + Linux::exec($create_vhost_file); //Modifying apache configuration Linux::json_log('Modifying Apache configuration...', $error=0, $status=0, $progress=0, $no_progress=1); -$sed_apache=['debian' => ['ServerTokens OS', "ServerTokens Prod", '/etc/apache2/conf-enabled/security.conf']]; +if($linux_distro=='ubuntu' || $linux_distro=='debian') { -$sed_apache['ubuntu']=$sed_apache['debian']; + $sed_apache=['debian' => ['ServerTokens OS', "ServerTokens Prod", '/etc/apache2/conf-enabled/security.conf']]; -Linux::sed($sed_apache); + $sed_apache['ubuntu']=$sed_apache['debian']; + + Linux::sed($sed_apache); + +} -//Activating modules for apache. +// In red hat derivatives is different. -$activate_modules=['debian' => ["sudo a2enmod ssl rewrite proxy proxy_fcgi"]]; +if($linux_distro=='rocky' || $linux_distro=='almalinux' || $linux_distro=='fedora') { + + #echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list + + $add_tokens['rocky']=["sudo echo \"ServerTokens Prod\" | sudo tee -a /etc/httpd/conf.d/tokens.conf"]; + + $add_tokens['almalinux']=$add_tokens['rocky']; + + $add_tokens['fedora']=$add_tokens['rocky']; + + Linux::exec($add_tokens); + +} -$activate_modules['ubuntu']=$create_vhost_file['debian']; +//Activating modules for apache/debian. -Linux::exec($activate_modules); +if($linux_distro=='ubuntu' || $linux_distro=='debian') { + + $activate_modules=['debian' => ["sudo a2enmod ssl rewrite proxy proxy_fcgi"]]; + + $activate_modules['ubuntu']=$create_vhost_file['debian']; + + Linux::exec($activate_modules); + +} + +if($linux_distro=='rocky' || $linux_distro=='almalinux' || $linux_distro=='fedora') { + + if(Linux::shell_command(['sudo systemctl status firewalld'], 0)==0) { + + Linux::shell_command(["sudo firewall-cmd --add-service=http && sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --add-service=https && sudo firewall-cmd --add-service=https --permanent"]); + + } + +} //Restart apache -$linux_service=['debian' => 'apache2', 'ubuntu' => 'apache2', 'fedora' => 'httpd', 'almalinux' => 'httpd', 'rocky' => 'httpd', 'arch' => 'apache']; +$linux_service=['debian' => 'apache2', 'ubuntu' => 'apache2', 'fedora' => 'httpd', 'almalinux' => 'httpd', 'rocky' => 'httpd', 'arch' => 'httpd']; Linux::systemd_service('restart', $linux_service); diff --git a/scripts/webapps/phpmyadmin/install_phpmyadmin_site.py b/scripts/webapps/phpmyadmin/install_phpmyadmin_site.py index 642ccf1..7dbdecd 100644 --- a/scripts/webapps/phpmyadmin/install_phpmyadmin_site.py +++ b/scripts/webapps/phpmyadmin/install_phpmyadmin_site.py @@ -9,6 +9,7 @@ import pathlib import distro import pwd import getpass +from time import sleep #import pymysql.cursors #pymysql.install_as_MySQLdb @@ -194,12 +195,14 @@ if args.path!='/': print('Error') sys.exit(1) - print('Restarting apache...') + sleep(1) - if subprocess.call('sudo '+apachectl+' configtest && sudo systemctl restart '+apache_cmd, shell=True) > 0: - subprocess.call('sudo rm /etc/{}/vhosts.d/extra/{}'.format(apache_cmd, base_name_file), shell=True) - print('Error: Error in configtest\n') - sys.exit(1) +print('Restarting apache...') + +if subprocess.call('sudo '+apachectl+' configtest && sudo systemctl restart '+apache_cmd, shell=True) > 0: + subprocess.call('sudo rm /etc/{}/vhosts.d/extra/{}'.format(apache_cmd, base_name_file), shell=True) + print('Error: Error in configtest\n') + sys.exit(1) print('phpmyadmin installed!')