Files
CyberPanel/ApachController/ApacheVhosts.py

604 lines
24 KiB
Python
Raw Normal View History

2019-12-10 23:04:24 +05:00
#!/usr/local/CyberCP/bin/python
2019-11-07 15:06:34 +05:00
import os
import os.path
import sys
import django
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()
import os
from websiteFunctions.models import Websites, ChildDomains
from plogical.vhostConfs import vhostConfs
from managePHP.phpManager import PHPManager
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
from plogical.processUtilities import ProcessUtilities
import re
class ApacheVhost:
apacheInstallStatusPath = '/home/cyberpanel/apacheInstallStatus'
2023-05-15 12:19:42 +05:00
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/'
2023-05-17 01:27:57 +05:00
php74Path = '/etc/opt/remi/php74/php-fpm.d/'
php80Path = '/etc/opt/remi/php80/php-fpm.d/'
php81Path = '/etc/opt/remi/php81/php-fpm.d/'
php82Path = '/etc/opt/remi/php82/php-fpm.d/'
2023-05-15 21:16:10 +05:00
serviceName = 'httpd'
2023-05-15 12:19:42 +05:00
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/'
2023-05-15 21:16:10 +05:00
serviceName = 'apache2'
2023-05-15 12:19:42 +05:00
2019-11-07 15:06:34 +05:00
lswsMainConf = "/usr/local/lsws/conf/httpd_config.conf"
2023-05-15 12:19:42 +05:00
2019-11-07 15:06:34 +05:00
count = 0
2023-05-15 12:19:42 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
sslBasePath = "/etc/httpd/conf.d/ssl/"
else:
sslBasePath = "/etc/apache2/conf-enabled/"
2019-11-07 15:06:34 +05:00
@staticmethod
def DecidePHPPath(php, virtualHostName):
if php == '53' or php == '54':
finalConfPath = ApacheVhost.php54Path + virtualHostName
elif php == '55':
finalConfPath = ApacheVhost.php55Path + virtualHostName
elif php == '56':
finalConfPath = ApacheVhost.php56Path + virtualHostName
elif php == '70':
finalConfPath = ApacheVhost.php70Path + virtualHostName
elif php == '71':
finalConfPath = ApacheVhost.php71Path + virtualHostName
elif php == '72':
finalConfPath = ApacheVhost.php72Path + virtualHostName
elif php == '73':
finalConfPath = ApacheVhost.php73Path + virtualHostName
2023-05-15 12:19:42 +05:00
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
2019-11-07 15:06:34 +05:00
return finalConfPath + '.conf'
@staticmethod
def whichPHPExists(virtualHostName):
virtualHostName = virtualHostName + ".conf"
if os.path.exists(ApacheVhost.php54Path + virtualHostName):
return ApacheVhost.php54Path + virtualHostName
if os.path.exists(ApacheVhost.php55Path + virtualHostName):
return ApacheVhost.php55Path + virtualHostName
if os.path.exists(ApacheVhost.php56Path + virtualHostName):
return ApacheVhost.php56Path + virtualHostName
if os.path.exists(ApacheVhost.php70Path + virtualHostName):
return ApacheVhost.php70Path + virtualHostName
if os.path.exists(ApacheVhost.php71Path + virtualHostName):
return ApacheVhost.php71Path + virtualHostName
if os.path.exists(ApacheVhost.php72Path + virtualHostName):
return ApacheVhost.php72Path + virtualHostName
if os.path.exists(ApacheVhost.php73Path + virtualHostName):
return ApacheVhost.php73Path + virtualHostName
2023-05-15 12:19:42 +05:00
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
2019-11-07 15:06:34 +05:00
@staticmethod
def GenerateSelfSignedSSL(virtualHostName):
if os.path.exists(ApacheVhost.sslBasePath):
pass
else:
os.mkdir(ApacheVhost.sslBasePath)
pathToStoreSSLPrivKey = ApacheVhost.sslBasePath + ".privkey.pem"
pathToStoreSSLFullChain = ApacheVhost.sslBasePath + ".fullchain.pem"
2019-11-07 15:06:34 +05:00
command = 'openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" -keyout ' + pathToStoreSSLPrivKey + ' -out ' + pathToStoreSSLFullChain
ProcessUtilities.normalExecutioner(command)
@staticmethod
def perHostVirtualConf(administratorEmail,externalApp, virtualHostUser, phpVersion, virtualHostName):
try:
2023-05-15 12:19:42 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
sockPath = '/var/run/php-fpm/'
2023-05-15 21:16:10 +05:00
group = 'nobody'
2023-05-15 12:19:42 +05:00
else:
sockPath = '/var/run/php/'
2023-05-15 21:16:10 +05:00
group = 'nogroup'
2023-05-15 12:19:42 +05:00
2019-11-07 15:06:34 +05:00
## Non-SSL Conf
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
confFile = open(finalConfPath, "w+")
php = PHPManager.getPHPString(phpVersion)
currentConf = vhostConfs.apacheConf
currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
currentConf = currentConf.replace('{virtualHostUser}', virtualHostUser)
currentConf = currentConf.replace('{php}', php)
currentConf = currentConf.replace('{adminEmails}', administratorEmail)
currentConf = currentConf.replace('{externalApp}', virtualHostUser)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{sockPath}', sockPath)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
confFile.close()
## SSL Conf
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
confFile = open(finalConfPath, "a")
php = PHPManager.getPHPString(phpVersion)
currentConf = vhostConfs.apacheConfSSL
currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
currentConf = currentConf.replace('{virtualHostUser}', virtualHostUser)
currentConf = currentConf.replace('{php}', php)
currentConf = currentConf.replace('{adminEmails}', administratorEmail)
currentConf = currentConf.replace('{externalApp}', virtualHostUser)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{SSLBase}', ApacheVhost.sslBasePath)
currentConf = currentConf.replace('{sockPath}', sockPath)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
confFile.close()
##
finalConfPath = ApacheVhost.DecidePHPPath(php, virtualHostName)
confFile = open(finalConfPath, "w+")
currentConf = vhostConfs.phpFpmPool
currentConf = currentConf.replace('{www}', virtualHostUser)
currentConf = currentConf.replace('{Sock}', virtualHostName)
currentConf = currentConf.replace('{externalApp}', externalApp)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{sockPath}', sockPath)
2023-05-15 21:16:10 +05:00
currentConf = currentConf.replace('{group}', group)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
ApacheVhost.GenerateSelfSignedSSL(virtualHostName)
2023-05-15 21:16:10 +05:00
command = f"systemctl restart {ApacheVhost.serviceName}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
return [1, 'None']
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
return [0, str(msg)]
@staticmethod
def enableProxyInMainConf():
try:
data = open(ApacheVhost.lswsMainConf, 'r').readline()
putProxyConf = 1
putProxyConfSSL = 1
for items in data:
if items.find('apachebackend') > -1:
putProxyConf = 0
if items.find('proxyApacheBackendSSL') > -1:
putProxyConfSSL = 0
if putProxyConf:
confFile = open(ApacheVhost.lswsMainConf, "a")
confFile.write(vhostConfs.proxyApacheBackend)
confFile.close()
if putProxyConfSSL:
confFile = open(ApacheVhost.lswsMainConf, "a")
confFile.write(vhostConfs.proxyApacheBackendSSL)
confFile.close()
return [1, 'None']
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
return [0, str(msg)]
@staticmethod
def reWrite(domain_name):
try:
domainPath = '/home/' + domain_name + '/public_html/.htaccess'
confFile = open(domainPath, "w+")
confFile.write("REWRITERULE ^(.*)$ HTTP://apachebackend/$1 [P]")
confFile.close()
return [1, 'None']
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
return [0, str(msg)]
@staticmethod
def setupApacheVhost(administratorEmail,externalApp, virtualHostUser, phpVersion, virtualHostName):
result = ApacheVhost.perHostVirtualConf(administratorEmail,externalApp, virtualHostUser, phpVersion, virtualHostName)
if result[0] == 0:
return [0, result[1]]
result = ApacheVhost.enableProxyInMainConf()
if result[0] == 0:
return [0, result[1]]
return [1, 'None']
@staticmethod
def perHostVirtualConfChild(administratorEmail, externalApp, virtualHostUser, phpVersion, virtualHostName, path):
try:
## Non - SSL Conf
2023-05-15 12:19:42 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
sockPath = '/var/run/php-fpm/'
2023-05-15 21:16:10 +05:00
group = 'nobody'
2023-05-15 12:19:42 +05:00
else:
sockPath = '/var/run/php/'
2023-05-15 21:16:10 +05:00
group = 'nogroup'
2023-05-15 12:19:42 +05:00
2019-11-07 15:06:34 +05:00
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
confFile = open(finalConfPath, "w+")
php = PHPManager.getPHPString(phpVersion)
currentConf = vhostConfs.apacheConfChild
currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
currentConf = currentConf.replace('{php}', php)
currentConf = currentConf.replace('{adminEmails}', administratorEmail)
currentConf = currentConf.replace('{externalApp}', virtualHostUser)
currentConf = currentConf.replace('{path}', path)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{sockPath}', sockPath)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
confFile.close()
## SSL Conf
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
confFile = open(finalConfPath, "a")
php = PHPManager.getPHPString(phpVersion)
currentConf = vhostConfs.apacheConfChildSSL
currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
currentConf = currentConf.replace('{php}', php)
currentConf = currentConf.replace('{adminEmails}', administratorEmail)
currentConf = currentConf.replace('{externalApp}', virtualHostUser)
currentConf = currentConf.replace('{path}', path)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{sockPath}', sockPath)
currentConf = currentConf.replace('{SSLBase}', ApacheVhost.sslBasePath)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
confFile.close()
## SSL Conf
finalConfPath = ApacheVhost.DecidePHPPath(php, virtualHostName)
confFile = open(finalConfPath, "w+")
currentConf = vhostConfs.phpFpmPool
currentConf = currentConf.replace('{www}', "".join(re.findall("[a-zA-Z]+", virtualHostName))[:7])
currentConf = currentConf.replace('{Sock}', virtualHostName)
currentConf = currentConf.replace('{externalApp}', externalApp)
2023-05-15 12:19:42 +05:00
currentConf = currentConf.replace('{sockPath}', sockPath)
2023-05-15 21:16:10 +05:00
currentConf = currentConf.replace('{group}', group)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
ApacheVhost.GenerateSelfSignedSSL(virtualHostName)
2023-05-15 21:16:10 +05:00
command = f"systemctl restart {ApacheVhost.serviceName}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
return [1, 'None']
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
return [0, str(msg)]
@staticmethod
def setupApacheVhostChild(administratorEmail, externalApp, virtualHostUser, phpVersion, virtualHostName, path):
2023-05-15 21:16:10 +05:00
2019-11-07 15:06:34 +05:00
result = ApacheVhost.perHostVirtualConfChild(administratorEmail, externalApp, virtualHostUser, phpVersion,
virtualHostName, path)
if result[0] == 0:
return [0, result[1]]
result = ApacheVhost.enableProxyInMainConf()
if result[0] == 0:
return [0, result[1]]
return [1, 'None']
@staticmethod
def DeleteApacheVhost(virtualHostName):
try:
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
if os.path.exists(finalConfPath):
os.remove(finalConfPath)
ApacheVhost.deletePHPPath(virtualHostName)
2023-05-15 21:16:10 +05:00
command = f"systemctl restart {ApacheVhost.serviceName}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
logging.writeToFile(str(msg))
@staticmethod
def perHostVirtualConfOLS(vhFile, administratorEmail):
# General Configurations tab
try:
confFile = open(vhFile, "w+")
currentConf = vhostConfs.OLSLBConf
currentConf = currentConf.replace('{adminEmails}', administratorEmail)
confFile.write(currentConf)
confFile.close()
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
logging.writeToFile(
str(msg) + " [IO Error with per host config file [ApacheVhosts.perHostVirtualConf]]")
@staticmethod
def deletePHPPath(virtualHostName):
phpPath = ApacheVhost.DecidePHPPath('54', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php54-php-fpm'
else:
phpService = f"php5.4-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('55', virtualHostName)
if os.path.exists(phpPath):
2023-05-15 21:16:10 +05:00
2019-11-07 15:06:34 +05:00
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php55-php-fpm'
else:
phpService = f"php5.5-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('56', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php56-php-fpm'
else:
phpService = f"php5.6-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('70', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php70-php-fpm'
else:
phpService = f"php7.0-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('71', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php71-php-fpm'
else:
phpService = f"php7.1-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('72', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php72-php-fpm'
else:
phpService = f"php7.2-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('73', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php73-php-fpm'
else:
phpService = f"php7.3-fpm"
command = f"systemctl restart {phpService}"
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('74', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php74-php-fpm'
else:
phpService = f"php7.4-fpm"
command = f"systemctl restart {phpService}"
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('80', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php80-php-fpm'
else:
phpService = f"php8.0-fpm"
command = f"systemctl restart {phpService}"
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('81', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php81-php-fpm'
else:
phpService = f"php8.1-fpm"
command = f"systemctl restart {phpService}"
ProcessUtilities.normalExecutioner(command)
phpPath = ApacheVhost.DecidePHPPath('82', virtualHostName)
if os.path.exists(phpPath):
os.remove(phpPath)
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpService = f'php82-php-fpm'
else:
phpService = f"php8.2-fpm"
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
@staticmethod
def changePHP(phpVersion, vhFile):
try:
2023-05-15 21:16:10 +05:00
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
sockPath = '/var/run/php-fpm/'
group = 'nobody'
else:
sockPath = '/var/run/php/'
group = 'nogroup'
2019-11-07 15:06:34 +05:00
virtualHostName = vhFile.split('/')[6]
finalConfPath = ApacheVhost.configBasePath + virtualHostName + '.conf'
if not os.path.exists(finalConfPath):
2023-05-15 21:16:10 +05:00
logging.writeToFile(f'Config path: {finalConfPath}')
2019-11-07 15:06:34 +05:00
return 0
ApacheVhost.deletePHPPath(virtualHostName)
2023-05-15 21:16:10 +05:00
try:
website = Websites.objects.get(domain=virtualHostName)
externalApp = website.externalApp
except:
child = ChildDomains.objects.get(domain=virtualHostName)
externalApp = child.master.externalApp
2019-11-07 15:06:34 +05:00
php = PHPManager.getPHPString(phpVersion)
finalConfPath = ApacheVhost.DecidePHPPath(php, virtualHostName)
confFile = open(finalConfPath, "w+")
currentConf = vhostConfs.phpFpmPool
2023-05-15 21:16:10 +05:00
currentConf = currentConf.replace('{www}', externalApp)
2019-11-07 15:06:34 +05:00
currentConf = currentConf.replace('{Sock}', virtualHostName)
2023-05-15 21:16:10 +05:00
currentConf = currentConf.replace('{externalApp}', externalApp)
currentConf = currentConf.replace('{sockPath}', sockPath)
currentConf = currentConf.replace('{group}', group)
2019-11-07 15:06:34 +05:00
confFile.write(currentConf)
2023-05-17 16:05:58 +05:00
phpService = ApacheVhost.DecideFPMServiceName(phpVersion)
2023-05-15 21:16:10 +05:00
command = f"systemctl stop {phpService}"
ProcessUtilities.normalExecutioner(command)
command = f"systemctl restart {phpService}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
2023-05-15 21:16:10 +05:00
command = f"systemctl restart {ApacheVhost.serviceName}"
2019-11-07 15:06:34 +05:00
ProcessUtilities.normalExecutioner(command)
return 1
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-11-07 15:06:34 +05:00
logging.writeToFile(str(msg))
2023-05-17 16:05:58 +05:00
return 1
@staticmethod
def DecidePHPPathforManager(apache, phpVers):
2023-05-18 15:47:39 +05:00
if apache == 0 or apache == None:
2023-05-17 16:05:58 +05:00
phpVers = "php" + PHPManager.getPHPString(phpVers)
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
path = "/usr/local/lsws/ls" + phpVers + "/etc/php.ini"
else:
initial = phpVers[3]
final = phpVers[4]
completeName = str(initial) + '.' + str(final)
path = "/usr/local/lsws/ls" + phpVers + "/etc/php/" + completeName + "/litespeed/php.ini"
else:
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
phpVers = "php" + PHPManager.getPHPString(phpVers)
path = f'/etc/opt/remi/{phpVers}/php.ini'
else:
path = f'/etc/php/{phpVers.split(" ")[1]}/fpm/php.ini'
if os.path.exists(ProcessUtilities.debugPath):
logging.writeToFile(f'PHP Path {path}')
return path
@staticmethod
def DecideFPMServiceName(phpVersion):
if ProcessUtilities.decideDistro() == ProcessUtilities.centos or ProcessUtilities.decideDistro() == ProcessUtilities.cent8:
php = PHPManager.getPHPString(phpVersion)
return f'php{php}-php-fpm'
else:
return f"{phpVersion.replace(' ', '').lower()}-fpm"