diff --git a/ApachController/ApacheController.py b/ApachController/ApacheController.py index 441c090aa..d0609295c 100755 --- a/ApachController/ApacheController.py +++ b/ApachController/ApacheController.py @@ -4,6 +4,7 @@ import subprocess import shlex import plogical.CyberCPLogFileWriter as logging from ApachController.ApacheVhosts import ApacheVhost +from plogical.processUtilities import ProcessUtilities class ApacheController: @@ -102,57 +103,96 @@ LoadModule mpm_event_module modules/mod_mpm_event.so def InstallApache(): try: - command = "yum install -y httpd httpd-tools mod_ssl php-fpm" - if ApacheController.executioner(command) == 0: + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + command = "yum install -y httpd httpd-tools mod_ssl php-fpm" + else: + command = "apt update -y && sudo apt upgrade -y && apt install apache2 -y" + + if ProcessUtilities.executioner(command, None, True) == 0: return "Failed to install Apache and PHP-FPM." - command = "yum -y install centos-release-scl yum-utils" - if ApacheController.executioner(command) == 0: - return "Failed to centos-release-scl and yum-utils" + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: - command = "yum-config-manager --enable rhel-server-rhscl-7-rpms" - if ApacheController.executioner(command) == 0: - return "Failed to --enable rhel-server-rhscl-7-rpms" + command = "yum -y install centos-release-scl yum-utils" + if ProcessUtilities.executioner(command) == 0: + return "Failed to centos-release-scl and yum-utils" + + command = "yum-config-manager --enable rhel-server-rhscl-7-rpms" + if ProcessUtilities.executioner(command) == 0: + return "Failed to --enable rhel-server-rhscl-7-rpms" + + sslPath = "/etc/apache2/conf.d/ssl.conf" + + if os.path.exists(sslPath): + os.remove(sslPath) + + confPath = ApacheVhost.serverRootPath + "/conf/httpd.conf" + + data = open(confPath, 'r').readlines() + writeToFile = open(confPath, 'w') + + for items in data: + if items.find("Listen") > -1 and items.find("80") > -1 and items.find('#') == -1: + writeToFile.writelines("Listen 8081\nListen 8082\n") + elif items.find("User") > -1 and items.find('#') == -1: + writeToFile.writelines("User nobody\n") + elif items.find("Group") > -1 and items.find('#') == -1: + writeToFile.writelines("Group nobody\n") + writeToFile.writelines('SetEnv LSWS_EDITION Openlitespeed\nSetEnv X-LSCACHE on\n') + elif items[0] == "#": + continue + else: + writeToFile.writelines(items) + + writeToFile.close() + + # MPM Module Configurations + + writeToFile = open(ApacheController.mpmConfigsPath, 'w') + writeToFile.write(ApacheController.mpmConfigs) + writeToFile.close() - ## Minor Configuration changes. + else: - sslPath = "/etc/httpd/conf.d/ssl.conf" - if os.path.exists(sslPath): - os.remove(sslPath) + sslPath = "/etc/httpd/conf.d/ssl.conf" + confPath = ApacheVhost.serverRootPath + "/apache2.conf" - confPath = ApacheVhost.serverRootPath + "/conf/httpd.conf" + portsPath = '/etc/apache2/ports.conf' - data = open(confPath, 'r').readlines() - writeToFile = open(confPath, 'w') + WriteToFile = open(portsPath, 'w') + WriteToFile.write('Listen 8081\nListen 8082\n') + WriteToFile.close() - for items in data: - if items.find("Listen") > -1 and items.find("80") > -1 and items.find('#') == -1: - writeToFile.writelines("Listen 8081\nListen 8082\n") - elif items.find("User") > -1 and items.find('#') == -1: - writeToFile.writelines("User nobody\n") - elif items.find("Group") > -1 and items.find('#') == -1: - writeToFile.writelines("Group nobody\n") - writeToFile.writelines('SetEnv LSWS_EDITION Openlitespeed\nSetEnv X-LSCACHE on\n') - elif items[0] == "#": - continue - else: - writeToFile.writelines(items) - writeToFile.close() - # MPM Module Configurations + command = f"sed -i 's/User ${{APACHE_RUN_USER}}/User nobody/g' {confPath}" + if ProcessUtilities.executioner(command, None, True) == 0: + return "Apache run user change failed" - writeToFile = open(ApacheController.mpmConfigsPath , 'w') - writeToFile.write(ApacheController.mpmConfigs) - writeToFile.close() + command = f"sed -i 's/Group ${{APACHE_RUN_GROUP}}/Group nogroup/g' {confPath}" + if ProcessUtilities.executioner(command, None, True) == 0: + return "Apache run group change failed" + + command = 'apt-get install apache2-suexec-pristine -y' + if ProcessUtilities.executioner(command, None, True) == 0: + return "Apache run apache2-suexec-pristine" + + command = 'a2enmod suexec proxy ssl proxy_fcgi proxy' + if ProcessUtilities.executioner(command, None, True) == 0: + return "Apache run suexec proxy ssl" ### - command = "systemctl start httpd.service" + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + serviceName = 'httpd' + else: + serviceName = 'apache2' + + command = f"systemctl start {serviceName}.service" ApacheController.executioner(command) - command = "systemctl enable httpd.service" + command = f"systemctl enable {serviceName}.service" ApacheController.executioner(command) return 1 @@ -164,83 +204,100 @@ LoadModule mpm_event_module modules/mod_mpm_event.so def phpVersions(): # Version 5.4 - command = 'yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm' - ApacheController.executioner(command) + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: - command = 'yum-config-manager --enable remi-php' - ApacheController.executioner(command) + command = 'yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm' + ApacheController.executioner(command) + + command = 'yum-config-manager --enable remi-php' + ApacheController.executioner(command) - command = 'yum install -y php54-php-fpm php54-php-gd php54-php-xml php54-php-twig php54-php-zstd php54-php-tidy' \ - 'php54-php-suhosin php54-php-soap php54-php-snmp php54-php-snappy php54-php-smbclient' \ - 'php54-php-process php54-php-pimple php54-php-pgsql php54-php-pear.noarch php54-php-pdo' \ - 'php54-php-mysqlnd php54-php-mssql php54-php-mcrypt php54-php-mbstring php54-php-maxminddb' \ - 'php54-php-common php54-php-imap php54-php-intl php54-php-tarantool php54-php-pspell php54-php-oci8' \ - 'php54-php-bcmath php54-php-litespeed php54-php-recode php54-php-odbc' - if ApacheController.executioner(command) == 0: - return "Failed to install php54-fpm" + command = 'yum install -y php54-php-fpm php54-php-gd php54-php-xml php54-php-twig php54-php-zstd php54-php-tidy' \ + 'php54-php-suhosin php54-php-soap php54-php-snmp php54-php-snappy php54-php-smbclient' \ + 'php54-php-process php54-php-pimple php54-php-pgsql php54-php-pear.noarch php54-php-pdo' \ + 'php54-php-mysqlnd php54-php-mssql php54-php-mcrypt php54-php-mbstring php54-php-maxminddb' \ + 'php54-php-common php54-php-imap php54-php-intl php54-php-tarantool php54-php-pspell php54-php-oci8' \ + 'php54-php-bcmath php54-php-litespeed php54-php-recode php54-php-odbc' + if ApacheController.executioner(command) == 0: + return "Failed to install php54-fpm" - # Version 5.5 - command = 'yum install -y php55-php-fpm php55-php-gd php55-php-xml php55-php-twig php55-php-zstd php55-php-tidy' \ - 'php55-php-suhosin php55-php-soap php55-php-snmp php55-php-snappy php55-php-smbclient ' \ - 'php55-php-process php55-php-pimple php55-php-pgsql php55-php-pear.noarch php55-php-pdo' \ - 'php55-php-mysqlnd php55-php-mssql php55-php-mcrypt php55-php-mbstring php55-php-maxminddb' \ - 'php55-php-common php55-php-imap php55-php-intl php55-php-tarantool php55-php-pspell php55-php-oci8' \ - 'php55-php-litespeed php55-php-bcmath php55-php-odbc php55-php-recode' - if ApacheController.executioner(command) == 0: - return "Failed to install php55-fpm" + # Version 5.5 + command = 'yum install -y php55-php-fpm php55-php-gd php55-php-xml php55-php-twig php55-php-zstd php55-php-tidy' \ + 'php55-php-suhosin php55-php-soap php55-php-snmp php55-php-snappy php55-php-smbclient ' \ + 'php55-php-process php55-php-pimple php55-php-pgsql php55-php-pear.noarch php55-php-pdo' \ + 'php55-php-mysqlnd php55-php-mssql php55-php-mcrypt php55-php-mbstring php55-php-maxminddb' \ + 'php55-php-common php55-php-imap php55-php-intl php55-php-tarantool php55-php-pspell php55-php-oci8' \ + 'php55-php-litespeed php55-php-bcmath php55-php-odbc php55-php-recode' + if ApacheController.executioner(command) == 0: + return "Failed to install php55-fpm" - # Version 5.6 - command = 'yum install -y php56-php-fpm php56-php-gd php56-php-xml php56-php-twig php56-php-zstd php56-php-tidy' \ - 'php56-php-suhosin php56-php-soap php56-php-snmp php56-php-snappy php56-php-smbclient' \ - 'php56-php-process php56-php-pimple php56-php-pgsql php56-php-pear.noarch php56-php-pdo ' \ - 'php56-php-mysqlnd php56-php-mssql php56-php-mcrypt php56-php-mbstring php56-php-maxminddb' \ - 'php56-php-common php56-php-imap php56-php-intl php56-php-tarantool php56-php-recode' \ - 'php56-php-odbc php56-php-oci8 php56-php-litespeed php56-php-bcmath php56-php-pspell' - if ApacheController.executioner(command) == 0: - return "Failed to install php56-fpm" + # Version 5.6 + command = 'yum install -y php56-php-fpm php56-php-gd php56-php-xml php56-php-twig php56-php-zstd php56-php-tidy' \ + 'php56-php-suhosin php56-php-soap php56-php-snmp php56-php-snappy php56-php-smbclient' \ + 'php56-php-process php56-php-pimple php56-php-pgsql php56-php-pear.noarch php56-php-pdo ' \ + 'php56-php-mysqlnd php56-php-mssql php56-php-mcrypt php56-php-mbstring php56-php-maxminddb' \ + 'php56-php-common php56-php-imap php56-php-intl php56-php-tarantool php56-php-recode' \ + 'php56-php-odbc php56-php-oci8 php56-php-litespeed php56-php-bcmath php56-php-pspell' + if ApacheController.executioner(command) == 0: + return "Failed to install php56-fpm" - # Version 7.0 - command = 'yum install -y php70-php-fpm php70-php-gd php70-php-xml php70-php-twig php70-php-zstd php70-php-tidy' \ - 'php70-php-suhosin php70-php-soap php70-php-snmp php70-php-snappy php70-php-smbclient' \ - 'php70-php-process php70-php-pimple php70-php-pgsql php70-php-pear.noarch php70-php-pdo ' \ - 'php70-php-mysqlnd php70-php-mssql php70-php-mcrypt php70-php-mbstring php70-php-maxminddb' \ - 'php70-php-common php70-php-imap php70-php-intl php70-php-tarantool php70-php-recode' \ - 'php70-php-odbc php70-php-oci8 php70-php-litespeed php70-php-bcmath php70-php-pspell' - if ApacheController.executioner(command) == 0: - return "Failed to install php70-fpm" + # Version 7.0 + command = 'yum install -y php70-php-fpm php70-php-gd php70-php-xml php70-php-twig php70-php-zstd php70-php-tidy' \ + 'php70-php-suhosin php70-php-soap php70-php-snmp php70-php-snappy php70-php-smbclient' \ + 'php70-php-process php70-php-pimple php70-php-pgsql php70-php-pear.noarch php70-php-pdo ' \ + 'php70-php-mysqlnd php70-php-mssql php70-php-mcrypt php70-php-mbstring php70-php-maxminddb' \ + 'php70-php-common php70-php-imap php70-php-intl php70-php-tarantool php70-php-recode' \ + 'php70-php-odbc php70-php-oci8 php70-php-litespeed php70-php-bcmath php70-php-pspell' + if ApacheController.executioner(command) == 0: + return "Failed to install php70-fpm" - # Version 7.1 - command = 'yum install -y php71-php-fpm php71-php-gd php71-php-xml php71-php-twig php71-php-zstd php71-php-tidy' \ - 'php71-php-suhosin php71-php-soap php71-php-snmp php71-php-snappy php71-php-smbclient' \ - 'php71-php-process php71-php-pimple php71-php-pgsql php71-php-pear.noarch php71-php-pdo ' \ - 'php71-php-mysqlnd php71-php-mssql php71-php-mcrypt php71-php-mbstring php71-php-maxminddb' \ - 'php71-php-common php71-php-imap php71-php-intl php71-php-tarantool php71-php-recode' \ - 'php71-php-odbc php71-php-oci8 php71-php-litespeed php71-php-bcmath php71-php-pspell' - if ApacheController.executioner(command) == 0: - return "Failed to install php71-fpm" + # Version 7.1 + command = 'yum install -y php71-php-fpm php71-php-gd php71-php-xml php71-php-twig php71-php-zstd php71-php-tidy' \ + 'php71-php-suhosin php71-php-soap php71-php-snmp php71-php-snappy php71-php-smbclient' \ + 'php71-php-process php71-php-pimple php71-php-pgsql php71-php-pear.noarch php71-php-pdo ' \ + 'php71-php-mysqlnd php71-php-mssql php71-php-mcrypt php71-php-mbstring php71-php-maxminddb' \ + 'php71-php-common php71-php-imap php71-php-intl php71-php-tarantool php71-php-recode' \ + 'php71-php-odbc php71-php-oci8 php71-php-litespeed php71-php-bcmath php71-php-pspell' + if ApacheController.executioner(command) == 0: + return "Failed to install php71-fpm" - # Version 7.2 - command = 'yum install -y php72-php-fpm php72-php-gd php72-php-xml php72-php-twig php72-php-zstd php72-php-tidy' \ - 'php72-php-suhosin php72-php-soap php72-php-snmp php72-php-snappy php72-php-smbclient' \ - 'php72-php-process php72-php-pimple php72-php-pgsql php72-php-pear.noarch php72-php-pdo ' \ - 'php72-php-mysqlnd php72-php-mssql php72-php-mcrypt php72-php-mbstring php72-php-maxminddb' \ - 'php72-php-common php72-php-imap php72-php-intl php72-php-tarantool php72-php-recode' \ - 'php72-php-odbc php72-php-oci8 php72-php-litespeed php72-php-bcmath php72-php-pspell' - if ApacheController.executioner(command) == 0: - return "Failed to install php72-fpm" + # Version 7.2 + command = 'yum install -y php72-php-fpm php72-php-gd php72-php-xml php72-php-twig php72-php-zstd php72-php-tidy' \ + 'php72-php-suhosin php72-php-soap php72-php-snmp php72-php-snappy php72-php-smbclient' \ + 'php72-php-process php72-php-pimple php72-php-pgsql php72-php-pear.noarch php72-php-pdo ' \ + 'php72-php-mysqlnd php72-php-mssql php72-php-mcrypt php72-php-mbstring php72-php-maxminddb' \ + 'php72-php-common php72-php-imap php72-php-intl php72-php-tarantool php72-php-recode' \ + 'php72-php-odbc php72-php-oci8 php72-php-litespeed php72-php-bcmath php72-php-pspell' + if ApacheController.executioner(command) == 0: + return "Failed to install php72-fpm" - # Version 7.3 - command = 'yum install -y php73-php-fpm php73-php-gd php73-php-xml php73-php-twig php73-php-zstd php73-php-tidy' \ - 'php73-php-suhosin php73-php-soap php73-php-snmp php73-php-snappy php73-php-smbclient' \ - 'php73-php-process php73-php-pimple php73-php-pgsql php73-php-pear.noarch php73-php-pdo ' \ - 'php73-php-mysqlnd php73-php-mssql php73-php-mcrypt php73-php-mbstring php73-php-maxminddb' \ - 'php73-php-common php73-php-imap php73-php-intl php73-php-tarantool php73-php-recode' \ - 'php73-php-odbc php73-php-oci8 php73-php-litespeed php73-php-bcmath php73-php-pspell' + # Version 7.3 + command = 'yum install -y php73-php-fpm php73-php-gd php73-php-xml php73-php-twig php73-php-zstd php73-php-tidy' \ + 'php73-php-suhosin php73-php-soap php73-php-snmp php73-php-snappy php73-php-smbclient' \ + 'php73-php-process php73-php-pimple php73-php-pgsql php73-php-pear.noarch php73-php-pdo ' \ + 'php73-php-mysqlnd php73-php-mssql php73-php-mcrypt php73-php-mbstring php73-php-maxminddb' \ + 'php73-php-common php73-php-imap php73-php-intl php73-php-tarantool php73-php-recode' \ + 'php73-php-odbc php73-php-oci8 php73-php-litespeed php73-php-bcmath php73-php-pspell' - if ApacheController.executioner(command) == 0: - return "Failed to install php73-fpm" + if ApacheController.executioner(command) == 0: + return "Failed to install php73-fpm" + else: + + command = 'apt install python-software-properties -y' + if ProcessUtilities.executioner(command, None, True) == 0: + return "Failed to install python-software-properties" + + command = 'add-apt-repository ppa:ondrej/php -y' + if ProcessUtilities.executioner(command, None, True) == 0: + return "Failed to ppa:ondrej/php" + + command = "sudo apt-get install -y php-fpm php7.4-fpm php8.0-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-zip" + + if ProcessUtilities.executioner(command, None, True) == 0: + return "Failed to install Apache and PHP-FPM." + try: wwwConfPath = ApacheVhost.php54Path + "/www.conf" diff --git a/ApachController/ApacheVhosts.py b/ApachController/ApacheVhosts.py index 9be3ca737..30d3ed9b7 100755 --- a/ApachController/ApacheVhosts.py +++ b/ApachController/ApacheVhosts.py @@ -16,18 +16,45 @@ import re class ApacheVhost: apacheInstallStatusPath = '/home/cyberpanel/apacheInstallStatus' - serverRootPath = '/etc/httpd' - configBasePath = '/etc/httpd/conf.d/' + + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + + serverRootPath = '/etc/httpd' + configBasePath = '/etc/httpd/conf.d/' + php54Path = '/opt/remi/php54/root/etc/php-fpm.d/' + php55Path = '/opt/remi/php55/root/etc/php-fpm.d/' + php56Path = '/etc/opt/remi/php56/php-fpm.d/' + php70Path = '/etc/opt/remi/php70/php-fpm.d/' + php71Path = '/etc/opt/remi/php71/php-fpm.d/' + php72Path = '/etc/opt/remi/php72/php-fpm.d/' + php73Path = '/etc/opt/remi/php73/php-fpm.d/' + + else: + serverRootPath = '/etc/apache2' + configBasePath = '/etc/apache2/sites-enabled/' + + php54Path = '/etc/php/5.4/fpm/pool.d/' + php55Path = '/etc/php/5.5/fpm/pool.d/' + php56Path = '/etc/php/5.6/fpm/pool.d/' + php70Path = '/etc/php/7.0/fpm/pool.d/' + php71Path = '/etc/php/7.1/fpm/pool.d/' + php72Path = '/etc/php/7.2/fpm/pool.d/' + php73Path = '/etc/php/7.3/fpm/pool.d/' + + php74Path = '/etc/php/7.4/fpm/pool.d/' + php80Path = '/etc/php/8.0/fpm/pool.d/' + php81Path = '/etc/php/8.1/fpm/pool.d/' + php82Path = '/etc/php/8.2/fpm/pool.d/' + + + lswsMainConf = "/usr/local/lsws/conf/httpd_config.conf" - php54Path = '/opt/remi/php54/root/etc/php-fpm.d/' - php55Path = '/opt/remi/php55/root/etc/php-fpm.d/' - php56Path = '/etc/opt/remi/php56/php-fpm.d/' - php70Path = '/etc/opt/remi/php70/php-fpm.d/' - php71Path = '/etc/opt/remi/php71/php-fpm.d/' - php72Path = '/etc/opt/remi/php72/php-fpm.d/' - php73Path = '/etc/opt/remi/php73/php-fpm.d/' + count = 0 - sslBasePath = "/etc/httpd/conf.d/ssl/" + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + sslBasePath = "/etc/httpd/conf.d/ssl/" + else: + sslBasePath = "/etc/apache2/conf-enabled/" @staticmethod def DecidePHPPath(php, virtualHostName): @@ -45,6 +72,14 @@ class ApacheVhost: finalConfPath = ApacheVhost.php72Path + virtualHostName elif php == '73': finalConfPath = ApacheVhost.php73Path + virtualHostName + elif php == '74': + finalConfPath = ApacheVhost.php74Path + virtualHostName + elif php == '80': + finalConfPath = ApacheVhost.php80Path + virtualHostName + elif php == '81': + finalConfPath = ApacheVhost.php81Path + virtualHostName + elif php == '82': + finalConfPath = ApacheVhost.php82Path + virtualHostName return finalConfPath + '.conf' @@ -74,6 +109,18 @@ class ApacheVhost: if os.path.exists(ApacheVhost.php73Path + virtualHostName): return ApacheVhost.php73Path + virtualHostName + if os.path.exists(ApacheVhost.php74Path + virtualHostName): + return ApacheVhost.php74Path + virtualHostName + + if os.path.exists(ApacheVhost.php80Path + virtualHostName): + return ApacheVhost.php80Path + virtualHostName + + if os.path.exists(ApacheVhost.php81Path + virtualHostName): + return ApacheVhost.php81Path + virtualHostName + + if os.path.exists(ApacheVhost.php82Path + virtualHostName): + return ApacheVhost.php82Path + virtualHostName + @staticmethod def GenerateSelfSignedSSL(virtualHostName): if os.path.exists(ApacheVhost.sslBasePath): @@ -90,6 +137,11 @@ class ApacheVhost: def perHostVirtualConf(administratorEmail,externalApp, virtualHostUser, phpVersion, virtualHostName): try: + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + sockPath = '/var/run/php-fpm/' + else: + sockPath = '/var/run/php/' + ## Non-SSL Conf finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf' @@ -104,6 +156,7 @@ class ApacheVhost: currentConf = currentConf.replace('{php}', php) currentConf = currentConf.replace('{adminEmails}', administratorEmail) currentConf = currentConf.replace('{externalApp}', virtualHostUser) + currentConf = currentConf.replace('{sockPath}', sockPath) confFile.write(currentConf) confFile.close() @@ -122,6 +175,8 @@ class ApacheVhost: currentConf = currentConf.replace('{php}', php) currentConf = currentConf.replace('{adminEmails}', administratorEmail) currentConf = currentConf.replace('{externalApp}', virtualHostUser) + currentConf = currentConf.replace('{SSLBase}', ApacheVhost.sslBasePath) + currentConf = currentConf.replace('{sockPath}', sockPath) confFile.write(currentConf) confFile.close() @@ -135,6 +190,7 @@ class ApacheVhost: currentConf = currentConf.replace('{www}', virtualHostUser) currentConf = currentConf.replace('{Sock}', virtualHostName) currentConf = currentConf.replace('{externalApp}', externalApp) + currentConf = currentConf.replace('{sockPath}', sockPath) confFile.write(currentConf) @@ -204,6 +260,11 @@ class ApacheVhost: ## Non - SSL Conf + if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8: + sockPath = '/var/run/php-fpm/' + else: + sockPath = '/var/run/php/' + finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf' confFile = open(finalConfPath, "w+") @@ -216,6 +277,7 @@ class ApacheVhost: currentConf = currentConf.replace('{adminEmails}', administratorEmail) currentConf = currentConf.replace('{externalApp}', virtualHostUser) currentConf = currentConf.replace('{path}', path) + currentConf = currentConf.replace('{sockPath}', sockPath) confFile.write(currentConf) confFile.close() @@ -234,6 +296,8 @@ class ApacheVhost: currentConf = currentConf.replace('{adminEmails}', administratorEmail) currentConf = currentConf.replace('{externalApp}', virtualHostUser) currentConf = currentConf.replace('{path}', path) + currentConf = currentConf.replace('{sockPath}', sockPath) + currentConf = currentConf.replace('{SSLBase}', ApacheVhost.sslBasePath) confFile.write(currentConf) confFile.close() @@ -247,6 +311,7 @@ class ApacheVhost: currentConf = currentConf.replace('{www}', "".join(re.findall("[a-zA-Z]+", virtualHostName))[:7]) currentConf = currentConf.replace('{Sock}', virtualHostName) currentConf = currentConf.replace('{externalApp}', externalApp) + currentConf = currentConf.replace('{sockPath}', sockPath) confFile.write(currentConf) diff --git a/plogical/vhostConfs.py b/plogical/vhostConfs.py index 372fc5510..7eae1a56d 100755 --- a/plogical/vhostConfs.py +++ b/plogical/vhostConfs.py @@ -221,12 +221,12 @@ context /.well-known/acme-challenge { ServerAdmin {administratorEmail} SuexecUserGroup {externalApp} {externalApp} DocumentRoot /home/{virtualHostName}/public_html/ - + ProxySet disablereuse=off SetHandler proxy:fcgi://php-fpm-{externalApp} - + #CustomLog /home/{virtualHostName}/logs/{virtualHostName}.access_log combined #AddHandler application/x-httpd-php{php} .php .php7 .phtml @@ -246,7 +246,7 @@ context /.well-known/acme-challenge { ServerAdmin {administratorEmail} SuexecUserGroup {externalApp} {externalApp} DocumentRoot /home/{virtualHostName}/public_html/ - + ProxySet disablereuse=off @@ -264,8 +264,8 @@ context /.well-known/acme-challenge { SSLEngine on SSLVerifyClient none - SSLCertificateFile /etc/httpd/conf.d/ssl/{virtualHostName}.fullchain.pem - SSLCertificateKeyFile /etc/httpd/conf.d/ssl/{virtualHostName}.privkey.pem + SSLCertificateFile {SSLBase}{virtualHostName}.fullchain.pem + SSLCertificateKeyFile {SSLBase}{virtualHostName}.privkey.pem """ @@ -276,12 +276,12 @@ context /.well-known/acme-challenge { ServerAdmin {administratorEmail} SuexecUserGroup {externalApp} {externalApp} DocumentRoot {path} - + ProxySet disablereuse=off SetHandler proxy:fcgi://php-fpm-{externalApp} - + #CustomLog /home/{virtualHostName}/logs/{virtualHostName}.access_log combined #AddHandler application/x-httpd-php{php} .php .php7 .phtml @@ -301,7 +301,7 @@ context /.well-known/acme-challenge { ServerAdmin {administratorEmail} SuexecUserGroup {externalApp} {externalApp} DocumentRoot {path} - + ProxySet disablereuse=off @@ -318,8 +318,8 @@ context /.well-known/acme-challenge { SSLEngine on SSLVerifyClient none - SSLCertificateFile /etc/httpd/conf.d/ssl/{virtualHostName}.fullchain.pem - SSLCertificateKeyFile /etc/httpd/conf.d/ssl/{virtualHostName}.privkey.pem + SSLCertificateFile {SSLBase}{virtualHostName}.fullchain.pem + SSLCertificateKeyFile {SSLBase}{virtualHostName}.privkey.pem """ @@ -383,7 +383,7 @@ REWRITERULE ^(.*)$ HTTP://proxyApacheBackendSSL/$1 [P,L] """ phpFpmPool = """[{www}] -listen = /var/run/php-fpm/{Sock}.sock +listen = {sockPath}{Sock}.sock listen.owner = nobody listen.group = nobody listen.mode = 0660 @@ -396,7 +396,7 @@ pm.min_spare_servers = 1 pm.max_spare_servers = 1 """ phpFpmPoolReplace = """[{www}] -listen = /var/run/php-fpm/{Sock}.sock +listen = {sockPath}{Sock}.sock listen.owner = nobody listen.group = nobody listen.mode = 0660 diff --git a/websiteFunctions/static/websiteFunctions/websiteFunctions.js b/websiteFunctions/static/websiteFunctions/websiteFunctions.js index 66210733c..074b20925 100755 --- a/websiteFunctions/static/websiteFunctions/websiteFunctions.js +++ b/websiteFunctions/static/websiteFunctions/websiteFunctions.js @@ -2405,7 +2405,7 @@ app.controller('createWebsite', function ($scope, $http, $timeout, $window) { $scope.currentStatus = "Starting creation.."; - var ssl, dkimCheck, openBasedir, mailDomain; + var ssl, dkimCheck, openBasedir, mailDomain, apacheBackend; if ($scope.sslCheck === true) { ssl = 1; @@ -2413,6 +2413,12 @@ app.controller('createWebsite', function ($scope, $http, $timeout, $window) { ssl = 0 } + if ($scope.apacheBackend === true) { + apacheBackend = 1; + } else { + apacheBackend = 0 + } + if ($scope.dkimCheck === true) { dkimCheck = 1; } else { @@ -2461,9 +2467,11 @@ app.controller('createWebsite', function ($scope, $http, $timeout, $window) { websiteOwner: websiteOwner, dkimCheck: dkimCheck, openBasedir: openBasedir, - mailDomain: mailDomain + mailDomain: mailDomain, + apacheBackend: apacheBackend }; + var config = { headers: { 'X-CSRFToken': getCookie('csrftoken') diff --git a/websiteFunctions/templates/websiteFunctions/createWebsite.html b/websiteFunctions/templates/websiteFunctions/createWebsite.html index 0f7ca84b5..a37bce9a3 100755 --- a/websiteFunctions/templates/websiteFunctions/createWebsite.html +++ b/websiteFunctions/templates/websiteFunctions/createWebsite.html @@ -254,6 +254,15 @@ +
+
+ +
+
+