diff --git a/plogical/vhost.py b/plogical/vhost.py
index b243ef02f..dbdb7f224 100644
--- a/plogical/vhost.py
+++ b/plogical/vhost.py
@@ -223,35 +223,16 @@ class vhost:
else:
try:
confFile = open(vhFile, "w+")
-
- doNotModify = '# Do not modify this file, this is auto-generated file.\n\n'
-
- VirtualHost = '\n\n'
- ServerName = ' ServerName ' + virtualHostName + '\n'
- ServerAlias = ' ServerAlias www.' + virtualHostName + '\n'
- ServerAdmin = ' ServerAdmin ' + administratorEmail + '\n'
- SeexecUserGroup = ' SuexecUserGroup ' + virtualHostUser + ' ' + virtualHostUser + '\n'
- DocumentRoot = ' DocumentRoot /home/' + virtualHostName + '/public_html\n'
- CustomLogCombined = ' CustomLog /home/' + virtualHostName + '/logs/' + virtualHostName + '.access_log combined\n'
-
- confFile.writelines(doNotModify)
- confFile.writelines(VirtualHost)
- confFile.writelines(ServerName)
- confFile.writelines(ServerAlias)
- confFile.writelines(ServerAdmin)
- confFile.writelines(SeexecUserGroup)
- confFile.writelines(DocumentRoot)
- confFile.writelines(CustomLogCombined)
-
- ## external app
-
php = PHPManager.getPHPString(phpVersion)
- AddType = ' AddHandler application/x-httpd-php' + php + ' .php .php7 .phtml\n\n'
- VirtualHostEnd = '\n'
+ currentConf = vhostConfs.lswsMasterConf
- confFile.writelines(AddType)
- confFile.writelines(VirtualHostEnd)
+ currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
+ currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
+ currentConf = currentConf.replace('{externalApp}', virtualHostUser)
+ currentConf = currentConf.replace('{php}', php)
+
+ confFile.write(currentConf)
confFile.close()
except BaseException, msg:
@@ -260,7 +241,6 @@ class vhost:
return 0
return 1
-
@staticmethod
def createNONSSLMapEntry(virtualHostName):
try:
@@ -286,15 +266,6 @@ class vhost:
@staticmethod
def createConfigInMainVirtualHostFile(virtualHostName):
-
- #virtualhost project.cyberpersons.com {
- #vhRoot / home / project.cyberpersons.com
- #configFile $SERVER_ROOT / conf / vhosts /$VH_NAME / vhconf.conf
- #allowSymbolLink 1
- #enableScript 1
- #restrained 1
- #}
-
if ProcessUtilities.decideServer() == ProcessUtilities.OLS:
try:
@@ -303,19 +274,12 @@ class vhost:
writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'a')
- writeDataToFile.writelines("virtualHost " + virtualHostName + " {\n")
- writeDataToFile.writelines(" vhRoot /home/$VH_NAME\n")
- writeDataToFile.writelines(" configFile $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf\n")
- writeDataToFile.writelines(" allowSymbolLink 1\n")
- writeDataToFile.writelines(" enableScript 1\n")
- writeDataToFile.writelines(" restrained 1\n")
- writeDataToFile.writelines("}\n")
- writeDataToFile.writelines("\n")
+ currentConf = vhostConfs.olsMasterMainConf
+ currentConf = currentConf.replace('{virtualHostName}', virtualHostName)
+ writeDataToFile.write(currentConf)
writeDataToFile.close()
-
- writeDataToFile.close()
return [1,"None"]
except BaseException,msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "223 [IO Error with main config file [createConfigInMainVirtualHostFile]]")
@@ -756,151 +720,34 @@ class vhost:
administratorEmail, phpVersion, virtualHostUser, openBasedir) == 1:
return [1, "None"]
else:
- return [0, "[359 Not able to create per host virtual configurations [perHostVirtualConf]"]
+ return [0, "[359 Not able to create per host virtual configurations [createDirectoryForDomain]"]
@staticmethod
def perHostDomainConf(path, masterDomain, domain, vhFile, administratorEmail, phpVersion, virtualHostUser, openBasedir):
if ProcessUtilities.decideServer() == ProcessUtilities.OLS:
try:
- confFile = open(vhFile, "w+")
-
- docRoot = "docRoot " + path + "\n"
- vhDomain = "vhDomain $VH_NAME" + "\n"
- vhAliases = "vhAliases www.$VH_NAME" + "\n"
- adminEmails = "adminEmails " + administratorEmail + "\n"
- enableGzip = "enableGzip 1" + "\n"
- enableIpGeo = "enableIpGeo 1" + "\n" + "\n"
-
- confFile.writelines(docRoot)
- confFile.writelines(vhDomain)
- confFile.writelines(vhAliases)
- confFile.writelines(adminEmails)
- confFile.writelines(enableGzip)
- confFile.writelines(enableIpGeo)
-
- # Index file settings
-
- index = "index {" + "\n"
- userServer = " useServer 0" + "\n"
- indexFiles = " indexFiles index.php, index.html" + "\n"
- index_end = "}" + "\n" + "\n"
-
- confFile.writelines(index)
- confFile.writelines(userServer)
- confFile.writelines(indexFiles)
- confFile.writelines(index_end)
-
- # Error Log Settings
-
-
- error_log = "errorlog $VH_ROOT/logs/" + masterDomain + ".error_log {" + "\n"
- useServer = " useServer 0" + "\n"
- logLevel = " logLevel ERROR" + "\n"
- rollingSize = " rollingSize 10M" + "\n"
- error_log_end = "}" + "\n" + "\n"
-
- confFile.writelines(error_log)
- confFile.writelines(useServer)
- confFile.writelines(logLevel)
- confFile.writelines(rollingSize)
- confFile.writelines(error_log_end)
-
- # Access Log Settings
-
- access_Log = "accesslog $VH_ROOT/logs/" + masterDomain + ".access_log {" + "\n"
- useServer = " useServer 0" + "\n"
- logFormat = ' logFormat "%v %h %l %u %t \"%r\" %>s %b"' + "\n"
- logHeaders = " logHeaders 5" + "\n"
- rollingSize = " rollingSize 10M" + "\n"
- keepDays = " keepDays 10"
- compressArchive = " compressArchive 1" + "\n"
- access_Log_end = "}" + "\n" + "\n"
-
- confFile.writelines(access_Log)
- confFile.writelines(useServer)
- confFile.writelines(logFormat)
- confFile.writelines(logHeaders)
- confFile.writelines(rollingSize)
- confFile.writelines(keepDays)
- confFile.writelines(compressArchive)
- confFile.writelines(access_Log_end)
-
- ## OpenBase Dir Protection
-
- phpIniOverride = "phpIniOverride {\n"
- php_admin_value = 'php_admin_value open_basedir "/tmp:/usr/local/lsws/Example/html/FileManager:$VH_ROOT"\n'
- endPHPIniOverride = "}\n"
-
- confFile.writelines(phpIniOverride)
- if openBasedir == 1:
- confFile.writelines(php_admin_value)
- confFile.writelines(endPHPIniOverride)
-
- # php settings
-
- sockRandomPath = str(randint(1000, 9999))
-
- scripthandler = "scripthandler {" + "\n"
- add = " add lsapi:" + virtualHostUser + sockRandomPath + " php" + "\n"
- php_end = "}" + "\n" + "\n"
-
- confFile.writelines(scripthandler)
- confFile.writelines(add)
- confFile.writelines(php_end)
-
- ## external app
-
php = PHPManager.getPHPString(phpVersion)
+ externalApp = virtualHostUser + str(randint(1000, 9999))
- extprocessor = "extprocessor " + virtualHostUser + sockRandomPath + " {\n"
- type = " type lsapi\n"
- address = " address UDS://tmp/lshttpd/" + virtualHostUser + sockRandomPath + ".sock\n"
- maxConns = " maxConns 10\n"
- env = " env LSAPI_CHILDREN=10\n"
- initTimeout = " initTimeout 60\n"
- retryTimeout = " retryTimeout 0\n"
- persistConn = " persistConn 1\n"
- persistConnTimeout = " pcKeepAliveTimeout 1\n"
- respBuffer = " respBuffer 0\n"
- autoStart = " autoStart 1\n"
- path = " path /usr/local/lsws/lsphp" + php + "/bin/lsphp\n"
- extUser = " extUser " + virtualHostUser + "\n"
- extGroup = " extGroup " + virtualHostUser + "\n"
- memSoftLimit = " memSoftLimit 2047M\n"
- memHardLimit = " memHardLimit 2047M\n"
- procSoftLimit = " procSoftLimit 400\n"
- procHardLimit = " procHardLimit 500\n"
- extprocessorEnd = "}\n"
+ currentConf = vhostConfs.olsChildConf
+ currentConf = currentConf.replace('{path}', path)
+ currentConf = currentConf.replace('{masterDomain}', masterDomain)
+ currentConf = currentConf.replace('{adminEmails}', administratorEmail)
+ currentConf = currentConf.replace('{externalApp}', externalApp)
+ currentConf = currentConf.replace('{php}', php)
+ currentConf = currentConf.replace('{adminEmails}', administratorEmail)
+ currentConf = currentConf.replace('{php}', php)
- confFile.writelines(extprocessor)
- confFile.writelines(type)
- confFile.writelines(address)
- confFile.writelines(maxConns)
- confFile.writelines(env)
- confFile.writelines(initTimeout)
- confFile.writelines(retryTimeout)
- confFile.writelines(persistConn)
- confFile.writelines(persistConnTimeout)
- confFile.writelines(respBuffer)
- confFile.writelines(autoStart)
- confFile.writelines(path)
- confFile.writelines(extUser)
- confFile.writelines(extGroup)
- confFile.writelines(memSoftLimit)
- confFile.writelines(memHardLimit)
- confFile.writelines(procSoftLimit)
- confFile.writelines(procHardLimit)
- confFile.writelines(extprocessorEnd)
- htaccessAutoLoad = """
- rewrite {
- enable 1
- autoLoadHtaccess 1
- }
- """
- confFile.write(htaccessAutoLoad)
+ if openBasedir == 1:
+ currentConf = currentConf.replace('{open_basedir}', 'php_admin_value open_basedir "/tmp:$VH_ROOT"')
+ else:
+ currentConf = currentConf.replace('{open_basedir}', '')
+ confFile = open(vhFile, "w+")
+ confFile.write(currentConf)
confFile.close()
+
except BaseException, msg:
logging.CyberCPLogFileWriter.writeToFile(
str(msg) + " [IO Error with per host config file [perHostDomainConf]]")
@@ -910,35 +757,18 @@ class vhost:
try:
confFile = open(vhFile, "w+")
+ php = PHPManager.getPHPString(phpVersion)
- doNotModify = '# Do not modify this file, this is auto-generated file.\n\n'
+ currentConf = vhostConfs.lswsChildConf
- VirtualHost = '\n\n'
- ServerName = ' ServerName ' + domain + '\n'
- ServerAlias = ' ServerAlias www.' + domain + '\n'
- ServerAdmin = ' ServerAdmin ' + administratorEmail + '\n'
- SeexecUserGroup = ' SuexecUserGroup ' + virtualHostUser + ' ' + virtualHostUser + '\n'
- DocumentRoot = ' DocumentRoot ' + path + '\n'
- CustomLogCombined = ' CustomLog /home/' + masterDomain + '/logs/' + masterDomain + '.access_log combined\n'
+ currentConf = currentConf.replace('{virtualHostName}', domain)
+ currentConf = currentConf.replace('{masterDomain}', masterDomain)
+ currentConf = currentConf.replace('{administratorEmail}', administratorEmail)
+ currentConf = currentConf.replace('{externalApp}', virtualHostUser)
+ currentConf = currentConf.replace('{path}', path)
+ currentConf = currentConf.replace('{php}', php)
- confFile.writelines(doNotModify)
- confFile.writelines(VirtualHost)
- confFile.writelines(ServerName)
- confFile.writelines(ServerAlias)
- confFile.writelines(ServerAdmin)
- confFile.writelines(SeexecUserGroup)
- confFile.writelines(DocumentRoot)
- confFile.writelines(CustomLogCombined)
-
- ## external app
-
- php = php = PHPManager.getPHPString(phpVersion)
-
- AddType = ' AddHandler application/x-httpd-php' + php + ' .php .php7 .phtml\n\n'
- VirtualHostEnd = '\n'
-
- confFile.writelines(AddType)
- confFile.writelines(VirtualHostEnd)
+ confFile.write(currentConf)
confFile.close()
except BaseException, msg:
@@ -950,14 +780,6 @@ class vhost:
@staticmethod
def createConfigInMainDomainHostFile(domain, masterDomain):
- # virtualhost project.cyberpersons.com {
- # vhRoot / home / project.cyberpersons.com
- # configFile $SERVER_ROOT / conf / vhosts /$VH_NAME / vhconf.conf
- # allowSymbolLink 1
- # enableScript 1
- # restrained 1
- # }
-
if ProcessUtilities.decideServer() == ProcessUtilities.OLS:
try:
@@ -966,15 +788,10 @@ class vhost:
writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'a')
- writeDataToFile.writelines("\n")
- writeDataToFile.writelines("virtualHost " + domain + " {\n")
- writeDataToFile.writelines(" vhRoot /home/" + masterDomain + "\n")
- writeDataToFile.writelines(" configFile $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf\n")
- writeDataToFile.writelines(" allowSymbolLink 1\n")
- writeDataToFile.writelines(" enableScript 1\n")
- writeDataToFile.writelines(" restrained 1\n")
- writeDataToFile.writelines("}\n")
- writeDataToFile.writelines("\n")
+ currentConf = vhostConfs.olsChildMainConf
+ currentConf = currentConf.replace('{virtualHostName}', domain)
+ currentConf = currentConf.replace('{masterDomain}', masterDomain)
+ writeDataToFile.write(currentConf)
writeDataToFile.close()
diff --git a/plogical/vhostConfs.py b/plogical/vhostConfs.py
index fadb005bd..f8fd77ee7 100644
--- a/plogical/vhostConfs.py
+++ b/plogical/vhostConfs.py
@@ -1,5 +1,14 @@
class vhostConfs:
+ olsMasterMainConf = """virtualHost {virtualHostName} {
+ vhRoot /home/$VH_NAME
+ configFile $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf
+ allowSymbolLink 1
+ enableScript 1
+ restrained 1
+}
+"""
+
olsMasterConf = """docRoot $VH_ROOT/public_html
vhDomain $VH_NAME
vhAliases www.$VH_NAME
@@ -58,4 +67,97 @@ rewrite {
enable 1
autoLoadHtaccess 1
}
-"""
\ No newline at end of file
+"""
+
+ olsChildMainConf = """virtualHost {virtualHostName} {
+ vhRoot /home/{masterDomain}
+ configFile $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf
+ allowSymbolLink 1
+ enableScript 1
+ restrained 1
+}
+"""
+
+ olsChildConf = """docRoot {path}
+vhDomain $VH_NAME
+vhAliases www.$VH_NAME
+adminEmails {adminEmails}
+enableGzip 1
+enableIpGeo 1
+
+index {
+ useServer 0
+ indexFiles index.php, index.html
+}
+
+errorlog $VH_ROOT/logs/{masterDomain}.error_log {
+ useServer 0
+ logLevel ERROR
+ rollingSize 10M
+}
+
+accesslog $VH_ROOT/logs/{masterDomain}.access_log {
+ useServer 0
+ logFormat "%v %h %l %u %t "%r" %>s %b"
+ logHeaders 5
+ rollingSize 10M
+ keepDays 10 compressArchive 1
+}
+
+phpIniOverride {
+{open_basedir}
+}
+scripthandler {
+ add lsapi:{externalApp} php
+}
+
+extprocessor {externalApp} {
+ type lsapi
+ address UDS://tmp/lshttpd/{externalApp}.sock
+ maxConns 10
+ env LSAPI_CHILDREN=10
+ initTimeout 60
+ retryTimeout 0
+ persistConn 1
+ pcKeepAliveTimeout 1
+ respBuffer 0
+ autoStart 1
+ path /usr/local/lsws/lsphp{php}/bin/lsphp
+ extUser {externalApp}
+ extGroup {externalApp}
+ memSoftLimit 2047M
+ memHardLimit 2047M
+ procSoftLimit 400
+ procHardLimit 500
+}
+
+rewrite {
+ enable 1
+ autoLoadHtaccess 1
+}
+"""
+
+ lswsMasterConf = """
+
+ ServerName {virtualHostName}
+ ServerAlias www.{virtualHostName}
+ ServerAdmin {administratorEmail}
+ SuexecUserGroup {externalApp} {externalApp}
+ DocumentRoot /home/{virtualHostName}/public_html
+ CustomLog /home/{virtualHostName}/logs/{virtualHostName}.access_log combined
+ AddHandler application/x-httpd-php{php} .php .php7 .phtml
+
+
+"""
+
+ lswsChildConf = """
+
+ ServerName {virtualHostName}
+ ServerAlias www.{virtualHostName}
+ ServerAdmin {administratorEmail}
+ SuexecUserGroup {externalApp} {externalApp}
+ DocumentRoot {path}
+ CustomLog /home/{masterDomain}/logs/{masterDomain}.access_log combined
+ AddHandler application/x-httpd-php{php} .php .php7 .phtml
+
+"""
\ No newline at end of file