def services(request): try: userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() data = {} if ProcessUtilities.decideServer() == ProcessUtilities.OLS: data['serverName'] = 'OpenLiteSpeed' else: data['serverName'] = 'LiteSpeed Ent' dockerInstallPath = '/usr/bin/docker' if not os.path.exists(dockerInstallPath): data['isDocker'] = False else: data['isDocker'] = True return render(request, 'serverStatus/services.html', data) except KeyError: return redirect(loadLoginPage)
def renderC(self): userID = self.request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() data = {} data['OLS'] = 0 data['notInstalled'] = 0 if ProcessUtilities.decideServer() == ProcessUtilities.OLS: data['OLS'] = 1 data['notInstalled'] = 0 return render(self.request, 'containerization/notAvailable.html', data) elif not ProcessUtilities.containerCheck(): data['OLS'] = 0 data['notInstalled'] = 1 return render(self.request, 'containerization/notAvailable.html', data) else: if self.data == None: self.data = {} self.data['OLS'] = 0 self.data['notInstalled'] = 0 return render(self.request, self.templateName, self.data)
def obtainServer(self, request): try: request.session['userID'] = self.admin.pk data_ret = { 'status': 1, 'serverStatus': ProcessUtilities.decideServer() } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: return self.ajaxPre(0, str(msg))
def phpTuning(self, request, userID): try: userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() if ProcessUtilities.decideServer() == ProcessUtilities.OLS: websitesName = ACLManager.findAllSites(currentACL, userID) OLS = 1 return render(request, 'tuning/phpTuning.html', { 'websiteList': websitesName, 'OLS': OLS }) else: OLS = 0 return render(request, 'tuning/phpTuning.html', {'OLS': OLS}) except KeyError: return redirect(loadLoginPage)
def litespeedStatus(request): try: userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) if currentACL['admin'] == 1: pass else: return ACLManager.loadError() processList = ProcessUtilities.getLitespeedProcessNumber() OLS = 0 if ProcessUtilities.decideServer() == ProcessUtilities.OLS: OLS = 1 message = 0 if request.META['QUERY_STRING'] == 'bundle': message = '' message = BUNDLE elif request.META['QUERY_STRING'] == 'expire': message = 'It looks like your license has expired. Kindly renew your license.' message = EXPIRE else: message = NOTHING try: versionInformation = ProcessUtilities.outputExecutioner( ["/usr/local/lsws/bin/lshttpd", "-v"]).split("\n") lsversion = versionInformation[0] modules = versionInformation[1] counter = 0 loadedModules = [] for items in versionInformation: if counter == 0 or counter == 1: counter = counter + 1 continue else: loadedModules.append(items) except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + "[litespeedStatus]") return render( request, "serverStatus/litespeedStatus.html", { "processList": processList, "liteSpeedVersionStatus": "For some reaons not able to load version details, see CyberCP main log file.", 'OLS': OLS, 'message': message }) if (processList != 0): dataForHtml = { "processList": processList, "lsversion": lsversion, "modules": modules, "loadedModules": loadedModules, 'OLS': OLS, 'message': message } return render(request, "serverStatus/litespeedStatus.html", dataForHtml) else: dataForHtml = { "lsversion": lsversion, "modules": modules, "loadedModules": loadedModules, 'OLS': OLS, 'message': message } return render(request, "serverStatus/litespeedStatus.html", dataForHtml)
def installSSLForDomain(virtualHostName, adminEmail='*****@*****.**'): if ProcessUtilities.decideServer() == ProcessUtilities.OLS: confPath = sslUtilities.Server_root + "/conf/vhosts/" + virtualHostName completePathToConfigFile = confPath + "/vhost.conf" try: map = " map " + virtualHostName + " " + virtualHostName + "\n" if sslUtilities.checkSSLListener() != 1: writeDataToFile = open( "/usr/local/lsws/conf/httpd_config.conf", 'a') listener = "listener SSL {" + "\n" address = " address *:443" + "\n" secure = " secure 1" + "\n" keyFile = " keyFile /etc/letsencrypt/live/" + virtualHostName + "/privkey.pem\n" certFile = " certFile /etc/letsencrypt/live/" + virtualHostName + "/fullchain.pem\n" certChain = " certChain 1" + "\n" sslProtocol = " sslProtocol 24" + "\n" ciphers = " ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4" + "\n" enableECDHE = " enableECDHE 1" + "\n" renegProtection = " renegProtection 1" + "\n" sslSessionCache = " sslSessionCache 1" + "\n" enableSpdy = " enableSpdy 15" + "\n" enableStapling = " enableStapling 1" + "\n" ocspRespMaxAge = " ocspRespMaxAge 86400" + "\n" map = " map " + virtualHostName + " " + virtualHostName + "\n" final = "}" + "\n" + "\n" writeDataToFile.writelines("\n") writeDataToFile.writelines(listener) writeDataToFile.writelines(address) writeDataToFile.writelines(secure) writeDataToFile.writelines(keyFile) writeDataToFile.writelines(certFile) writeDataToFile.writelines(certChain) writeDataToFile.writelines(sslProtocol) writeDataToFile.writelines(ciphers) writeDataToFile.writelines(enableECDHE) writeDataToFile.writelines(renegProtection) writeDataToFile.writelines(sslSessionCache) writeDataToFile.writelines(enableSpdy) writeDataToFile.writelines(enableStapling) writeDataToFile.writelines(ocspRespMaxAge) writeDataToFile.writelines(map) writeDataToFile.writelines(final) writeDataToFile.writelines("\n") writeDataToFile.close() else: if sslUtilities.checkIfSSLMap(virtualHostName) == 0: data = open("/usr/local/lsws/conf/httpd_config.conf" ).readlines() writeDataToFile = open( "/usr/local/lsws/conf/httpd_config.conf", 'w') sslCheck = 0 for items in data: if items.find("listener") > -1 and items.find( "SSL") > -1: sslCheck = 1 if (sslCheck == 1): writeDataToFile.writelines(items) writeDataToFile.writelines(map) sslCheck = 0 else: writeDataToFile.writelines(items) writeDataToFile.close() ###################### Write per host Configs for SSL ################### data = open(completePathToConfigFile, "r").readlines() ## check if vhssl is already in vhconf file vhsslPresense = 0 for items in data: if items.find("vhssl") > -1: vhsslPresense = 1 if vhsslPresense == 0: writeSSLConfig = open(completePathToConfigFile, "a") vhssl = "vhssl {" + "\n" keyFile = " keyFile /etc/letsencrypt/live/" + virtualHostName + "/privkey.pem\n" certFile = " certFile /etc/letsencrypt/live/" + virtualHostName + "/fullchain.pem\n" certChain = " certChain 1" + "\n" sslProtocol = " sslProtocol 24" + "\n" ciphers = " ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4" + "\n" enableECDHE = " enableECDHE 1" + "\n" renegProtection = " renegProtection 1" + "\n" sslSessionCache = " sslSessionCache 1" + "\n" enableSpdy = " enableSpdy 15" + "\n" enableStapling = " enableStapling 1" + "\n" ocspRespMaxAge = " ocspRespMaxAge 86400" + "\n" final = "}" writeSSLConfig.writelines("\n") writeSSLConfig.writelines(vhssl) writeSSLConfig.writelines(keyFile) writeSSLConfig.writelines(certFile) writeSSLConfig.writelines(certChain) writeSSLConfig.writelines(sslProtocol) writeSSLConfig.writelines(ciphers) writeSSLConfig.writelines(enableECDHE) writeSSLConfig.writelines(renegProtection) writeSSLConfig.writelines(sslSessionCache) writeSSLConfig.writelines(enableSpdy) writeSSLConfig.writelines(enableStapling) writeSSLConfig.writelines(ocspRespMaxAge) writeSSLConfig.writelines(final) writeSSLConfig.writelines("\n") writeSSLConfig.close() return 1 except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [installSSLForDomain]]") return 0