Files
CyberPanel/install/installCyberPanel.py
2017-11-05 03:02:51 +05:00

1182 lines
38 KiB
Python

import shutil
import sys
import subprocess
import os
import pexpect
import random
from mysqlUtilities import mysqlUtilities
import installLog as logging
import shlex
import randomPassword
class InstallCyberPanel:
mysql_Root_password = ""
mysqlPassword = ""
def __init__(self,rootPath,cwd):
self.server_root_path = rootPath
self.cwd = cwd
def installLiteSpeed(self):
try:
cmd = []
count = 0
while (1):
command = 'yum install -y openlitespeed'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install Litespeed ")
print("###############################################")
logging.InstallLog.writeToFile("Openlitespeed is not installed from repo" + " [installLiteSpeed]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" Litespeed Installed ")
print("###############################################")
break
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installLiteSpeed]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installLiteSpeed]")
return 0
return 1
def install_ls_panel_config(self):
try:
shutil.rmtree("/usr/local/lsws/conf")
os.chdir(self.cwd)
shutil.copytree("litespeed/conf", "/usr/local/lsws/conf")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [install_ls_panel_config]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [install_ls_panel_config]")
return 0
return 1
def reStartLiteSpeed(self):
try:
cmd = []
cmd.append(self.server_root_path+"bin/lswsctrl")
cmd.append("restart")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not restart Litespeed server ")
print("###############################################")
logging.InstallLog.writeToFile("[reStartLiteSpeed]")
else:
print("###############################################")
print(" Litespeed Re-Started ")
print("###############################################")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [reStartLiteSpeed]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [reStartLiteSpeed]")
return 0
return 1
def changePortTo80(self):
try:
data = open(self.server_root_path+"conf/httpd_config.conf").readlines()
writeDataToFile = open(self.server_root_path+"conf/httpd_config.conf", 'w')
for items in data:
if (items.find("*:8088") > -1):
writeDataToFile.writelines(items.replace("*:8088","*:80"))
else:
writeDataToFile.writelines(items)
writeDataToFile.close()
except IOError, msg:
logging.InstallLog.writeToFile(str(msg) + " [changePortTo80]")
return 0
return self.reStartLiteSpeed()
def addLiteSpeedRepo(self):
try:
cmd = []
cmd.append("rpm")
cmd.append("-ivh")
cmd.append("http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add Litespeed repo " )
print("###############################################")
logging.InstallLog.writeToFile("[addLiteSpeedRepo]")
else:
print("###############################################")
print(" Litespeed Repo Added ")
print("###############################################")
except OSError,msg:
logging.InstallLog.writeToFile(str(msg) + " [addLiteSpeedRepo]")
return 0
except ValueError,msg:
logging.InstallLog.writeToFile(str(msg) + " [addLiteSpeedRepo]")
return 0
return 1
def installAllPHPVersions(self):
try:
cmd = []
count = 0
while (1):
command = 'yum -y groupinstall lsphp-all'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install PHP Binaries ")
print("###############################################")
logging.InstallLog.writeToFile("initial PHP Binaries not installed properly [installAllPHPVersions]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" PHP Binaries installed ")
print("###############################################")
## only php 71
command = 'yum install lsphp71 lsphp71-json lsphp71-xmlrpc lsphp71-xml lsphp71-tidy lsphp71-soap lsphp71-snmp lsphp71-recode lsphp71-pspell lsphp71-process lsphp71-pgsql lsphp71-pear lsphp71-pdo lsphp71-opcache lsphp71-odbc lsphp71-mysqlnd lsphp71-mcrypt lsphp71-mbstring lsphp71-ldap lsphp71-intl lsphp71-imap lsphp71-gmp lsphp71-gd lsphp71-enchant lsphp71-dba lsphp71-common lsphp71-bcmath -y'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install PHP 71 ")
print("###############################################")
logging.InstallLog.writeToFile("PHP71 Binaries not installed properly [installAllPHPVersions]")
else:
print("###############################################")
print(" PHP 71 installed ")
print("###############################################")
break
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installAllPHPVersion]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installAllPHPVersion]")
return 0
return 1
def installAllPHPToLitespeed(self):
try:
os.chdir(self.cwd)
path = self.server_root_path + "conf/"
if not os.path.exists(path+"phpconfigs"):
shutil.copytree("phpconfigs",path+"phpconfigs")
except IOError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installAllPHPToLitespeed]")
return 0
return 1
def setup_mariadb_repo(self):
try:
os.chdir(self.cwd)
shutil.copy("mysql/MariaDB.repo","/etc/yum.repos.d/MariaDB.repo")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [setup_mariadb_repo]")
return 0
except BaseException, msg:
logging.InstallLog.writeToFile(str(msg) + " [setup_mariadb_repo]")
return 0
def installMySQL(self):
try:
############## Install mariadb ######################
cmd = []
count = 0
while (1):
command = 'yum -y install mariadb-server'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install MariaDB ")
print("###############################################")
logging.InstallLog.writeToFile("Could not install MYSQL [installMySQL]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" MariaDB Installed ")
print("###############################################")
break
## fix configurations
pathConf = "/etc/my.cnf"
pathServiceFile = "/etc/systemd/system/mysqld@.service"
if os.path.exists(pathConf):
os.remove(pathConf)
if os.path.exists(pathServiceFile):
os.remove(pathServiceFile)
os.chdir(self.cwd)
shutil.copy("mysql/my.cnf",pathConf)
shutil.copy("mysql/mysqld@.service",pathServiceFile)
command = "mysql_install_db --user=mysql --datadir=/var/lib/mysql1"
subprocess.call(shlex.split(command))
command = "systemctl start mysqld@1"
subprocess.call(shlex.split(command))
command = "systemctl enable mysqld@1"
subprocess.call(shlex.split(command))
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installMySQL]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installMySQL]")
return 0
############## Start mariadb ######################
self.startMariaDB()
############## Enable mariadb at system startup ######################
try:
cmd = []
cmd.append("systemctl")
cmd.append("enable")
cmd.append("mariadb")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add mariadb to startup ")
print("###############################################")
logging.InstallLog.writeToFile("Could not add mariadb to startup [installMySQL]")
else:
print("###############################################")
print(" MariaDB Addded to startup ")
print("###############################################")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " Could not add mariadb to startup [installMySQL]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " Could not add mariadb to startup [installMySQL]")
return 0
return 1
def secureMysqlInstallation(self):
try:
expectation = "Enter current password"
securemysql = pexpect.spawn("mysql_secure_installation", timeout=5)
securemysql.expect(expectation)
securemysql.sendline("")
expectation = "root password? [Y/n]"
securemysql.expect(expectation)
securemysql.sendline("Y")
expectation = "New password:"
securemysql.expect(expectation)
securemysql.sendline(self.mysql_password)
expectation = "new password:"
securemysql.expect(expectation)
securemysql.sendline(self.mysql_password)
expectation = "anonymous users? [Y/n]"
securemysql.expect(expectation)
securemysql.sendline("Y")
expectation = "root login remotely? [Y/n]"
securemysql.expect(expectation)
securemysql.sendline("Y")
expectation = "test database and access to it? [Y/n]"
securemysql.expect(expectation)
securemysql.sendline("Y")
expectation = "Reload privilege tables now? [Y/n]"
securemysql.expect(expectation)
securemysql.sendline("Y")
securemysql.wait()
if (securemysql.before.find("Thanks for using MariaDB!") > -1 or securemysql.after.find(
"Thanks for using MariaDB!") > -1):
return 1
except pexpect.EOF, msg:
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [secureMysqlInstallation]")
except pexpect.TIMEOUT, msg:
print securemysql.after
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [secureMysqlInstallation]")
except BaseException, msg:
logging.InstallLog.writeToFile(str(msg) + "[secureMysqlInstallation]")
return 0
def changeMYSQLRootPassword(self):
try:
expectation = "Enter password:"
securemysql = pexpect.spawn("mysql -u root -p", timeout=5)
securemysql.expect(expectation)
securemysql.sendline("")
expectation = "clear the current input statement."
securemysql.expect(expectation)
securemysql.sendline("use mysql;")
expectation = "Database changed"
securemysql.expect(expectation)
securemysql.sendline("update user set password=PASSWORD('"+InstallCyberPanel.mysql_Root_password+"') where User='root';")
expectation = "Query OK"
securemysql.expect(expectation)
securemysql.sendline("flush privileges;")
expectation = "Query OK"
securemysql.expect(expectation)
securemysql.sendline("quit")
securemysql.wait()
except pexpect.EOF, msg:
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [changeMYSQLRootPassword]")
except pexpect.TIMEOUT, msg:
print securemysql.before
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [changeMYSQLRootPassword]")
except BaseException, msg:
logging.InstallLog.writeToFile(str(msg) + "[changeMYSQLRootPassword]")
return 0
def changeMYSQLRootPasswordCyberPanel(self):
try:
expectation = "Enter password:"
securemysql = pexpect.spawn("mysql --host=127.0.0.1 --port=3307 -u root -p", timeout=5)
securemysql.expect(expectation)
securemysql.sendline("")
expectation = "clear the current input statement."
securemysql.expect(expectation)
securemysql.sendline("use mysql;")
expectation = "Database changed"
securemysql.expect(expectation)
securemysql.sendline("update user set password=PASSWORD('"+InstallCyberPanel.mysql_Root_password+"') where User='root';")
expectation = "Query OK"
securemysql.expect(expectation)
securemysql.sendline("flush privileges;")
expectation = "Query OK"
securemysql.expect(expectation)
securemysql.sendline("quit")
securemysql.wait()
except pexpect.EOF, msg:
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [changeMYSQLRootPasswordCyberPanel]")
except pexpect.TIMEOUT, msg:
print securemysql.before
logging.InstallLog.writeToFile(str(msg) + " Exception EOF [changeMYSQLRootPasswordCyberPanel]")
except BaseException, msg:
logging.InstallLog.writeToFile(str(msg) + "[changeMYSQLRootPasswordCyberPanel]")
return 0
def startMariaDB(self):
############## Start mariadb ######################
try:
cmd = []
cmd.append("systemctl")
cmd.append("start")
cmd.append("mariadb")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not start MariaDB ")
print("###############################################")
logging.InstallLog.writeToFile("Could not start MariaDB [startMariaDB]")
else:
print("###############################################")
print(" MariaDB Started ")
print("###############################################")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startMariaDB]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startMariaDB]")
return 0
return 1
def installPureFTPD(self):
try:
cmd = []
count = 0
while (1):
cmd.append("yum")
cmd.append("install")
cmd.append("-y")
cmd.append("pure-ftpd")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install PureFTPD ")
print("###############################################")
logging.InstallLog.writeToFile("Could not install PureFTPD [installPureFTPD]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" PureFTPD Installed ")
print("###############################################")
break
####### Install pureftpd to system startup
cmd = []
cmd.append("systemctl")
cmd.append("enable")
cmd.append("pure-ftpd")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add pureftpd to startup ")
print("###############################################")
logging.InstallLog.writeToFile("Could not add pureftpd to startup [installPureFTPD]")
else:
print("###############################################")
print(" pureftpd Addded to startup ")
print("###############################################")
###### FTP Groups and user settings settings
cmd = []
cmd.append("groupadd")
cmd.append("-g")
cmd.append("2001")
cmd.append("ftpgroup")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add FTP Group ")
print("###############################################")
logging.InstallLog.writeToFile("Could not add FTP Group [installPureFTPD]")
else:
print("###############################################")
print(" FTP Group Added ")
print("###############################################")
cmd = []
cmd.append("useradd")
cmd.append("-u")
cmd.append("2001")
cmd.append("-s")
cmd.append("/bin/false")
cmd.append("-d")
cmd.append("/bin/null")
cmd.append("-c")
cmd.append('"pureftpd user"')
cmd.append("-g")
cmd.append("ftpgroup")
cmd.append("ftpuser")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add FTP User ")
print("###############################################")
logging.InstallLog.writeToFile("Could not add FTP group [installPureFTPD]")
else:
print("###############################################")
print(" FTP User Added ")
print("###############################################")
cmd = []
cmd.append("usermod")
cmd.append("-a")
cmd.append("-G")
cmd.append("nobody")
cmd.append("ftpuser")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not add FTP User ")
print("###############################################")
logging.InstallLog.writeToFile("Could not add FTP User [installPureFTPD]")
else:
print("###############################################")
print(" FTP User Added ")
print("###############################################")
commad = "usermod -a -G cyberpanel ftpuser"
cmd = shlex.split(commad)
subprocess.call(cmd)
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installPureFTPD]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installPureFTPD]")
return 0
return 1
def startPureFTPD(self):
############## Start mariadb ######################
try:
cmd = []
cmd.append("systemctl")
cmd.append("start")
cmd.append("pure-ftpd")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not start pureftpd ")
print("###############################################")
logging.InstallLog.writeToFile("Could not start pureftpd [installPureFTPD]")
else:
print("###############################################")
print(" pureftpd Started ")
print("###############################################")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startPureFTPD]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startPureFTPD]")
return 0
return 1
def installPureFTPDConfigurations(self):
try:
os.chdir(self.cwd)
ftpdPath = "/etc/pure-ftpd"
if os.path.exists(ftpdPath):
shutil.rmtree(ftpdPath)
shutil.copytree("pure-ftpd",ftpdPath)
else:
shutil.copytree("pure-ftpd", ftpdPath)
data = open(ftpdPath+"/pureftpd-mysql.conf","r").readlines()
writeDataToFile = open(ftpdPath+"/pureftpd-mysql.conf","w")
dataWritten = "MYSQLPassword "+InstallCyberPanel.mysqlPassword+'\n'
for items in data:
if items.find("MYSQLPassword")>-1:
writeDataToFile.writelines(dataWritten)
else:
writeDataToFile.writelines(items)
writeDataToFile.close()
except IOError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installPureFTPDConfigurations]")
return 0
return 1
def installPowerDNS(self):
try:
count = 0
while (1):
command = 'yum -y install epel-release yum-plugin-priorities'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("plugin-priorities [installPowerDNS]")
else:
pass
command = 'curl -o /etc/yum.repos.d/powerdns-auth-master.repo https://repo.powerdns.com/repo-files/centos-auth-master.repo'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("636 [installPowerDNS]")
else:
pass
command = 'yum -y install pdns pdns-backend-mysql'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Can not install PowerDNS ")
print("###############################################")
logging.InstallLog.writeToFile("Can not install PowerDNS [installPowerDNS]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" PowerDNS Installed ")
print("###############################################")
break
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [powerDNS]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [powerDNS]")
return 0
return 1
def installPowerDNSConfigurations(self,mysqlPassword):
try:
os.chdir(self.cwd)
dnsPath = "/etc/pdns/pdns.conf"
if os.path.exists(dnsPath):
os.remove(dnsPath)
shutil.copy("dns/pdns.conf", dnsPath)
else:
shutil.copy("dns/pdns.conf", dnsPath)
data = open(dnsPath, "r").readlines()
writeDataToFile = open(dnsPath, "w")
dataWritten = "gmysql-password=" + mysqlPassword + "\n"
for items in data:
if items.find("gmysql-password") > -1:
writeDataToFile.writelines(dataWritten)
else:
writeDataToFile.writelines(items)
writeDataToFile.close()
except IOError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installPowerDNSConfigurations]")
return 0
return 1
def startPowerDNS(self):
############## Start mariadb ######################
try:
cmd = []
cmd.append("systemctl")
cmd.append("enable")
cmd.append("pdns")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not start PowerDNS ")
print("###############################################")
logging.InstallLog.writeToFile("Could not start PowerDNS" + " [startPowerDNS]")
else:
print("###############################################")
print(" PowerDNS Started ")
print("###############################################")
command = 'systemctl start pdns'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("734 [startPowerDNS]")
else:
pass
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startPowerDNS]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [startPowerDNS]")
return 0
return 1
def installCertBot(self):
try:
cmd = []
count = 0
while (1):
cmd.append("yum")
cmd.append("-y")
cmd.append("install")
cmd.append("yum-utils")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install yum utils ")
print("###############################################")
logging.InstallLog.writeToFile("yum utils not installed" + " [installCertBot]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" yum utils Installed ")
print("###############################################")
break
cmd = []
count = 0
while (1):
cmd.append("yum-config-manager")
cmd.append("--enable")
cmd.append("rhui-REGION-rhel-server-extras")
cmd.append("rhui-REGION-rhel-server-optional")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install yum-config-manager ")
print("###############################################")
logging.InstallLog.writeToFile("yum-config-manager --enable failed" + " [installCertBot]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" yum-config-manager Installed ")
print("###############################################")
break
cmd = []
count = 0
while (1):
if subprocess.check_output('systemd-detect-virt').find("openvz") > -1:
command = "pip install pyOpenSSL==16.2.0"
cmd = shlex.split(command)
subprocess.call(cmd)
command = "pip install certbot"
cmd = shlex.split(command)
subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install CertBot ")
print("###############################################")
logging.InstallLog.writeToFile("Certbot not installed" + " [installCertBot]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" Certbot Installed ")
print("###############################################")
break
else:
cmd.append("yum")
cmd.append("-y")
cmd.append("install")
cmd.append("certbot")
res = subprocess.call(cmd)
if res == 1:
print("###############################################")
print(" Could not install CertBot ")
print("###############################################")
logging.InstallLog.writeToFile("Certbot not installed" + " [installCertBot]")
count = count + 1
print("Trying again, try number: " + str(count)+"\n")
if count == 3:
break
else:
print("###############################################")
print(" Certbot Installed ")
print("###############################################")
break
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installCertBot]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installCertBot]")
return 0
return 1
def installLSCPD(self):
try:
os.chdir(self.cwd)
command = 'yum -y install epel-release'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("836 [installLSCPD]")
else:
pass
command = 'yum -y install gcc gcc-c++ make autoconf glibc rcs'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("846 [installLSCPD]")
else:
pass
command = 'yum -y install pcre-devel openssl-devel expat-devel geoip-devel zlib-devel udns-devel'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("860 [installLSCPD]")
else:
pass
command = 'tar zxf openlitespeed-1.4.28.tgz'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("872 [installLSCPD]")
else:
pass
os.chdir("openlitespeed-1.4.28")
command = './configure --with-lscpd --prefix=/usr/local/lscp'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("885 [installLSCPD]")
else:
pass
command = 'make'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("896 [installLSCPD]")
else:
pass
command = 'make install'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("907 [installLSCPD]")
else:
pass
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 /usr/local/lscp/key.pem -out /usr/local/lscp/cert.pem'
cmd = shlex.split(command)
res = subprocess.call(cmd)
if res == 1:
logging.InstallLog.writeToFile("918 [installLSCPD]")
else:
pass
try:
os.remove("/usr/local/lscp/fcgi-bin/lsphp")
shutil.copy("/usr/local/lsws/lsphp70/bin/lsphp","/usr/local/lscp/fcgi-bin/lsphp")
except:
pass
if res == 0:
print("###############################################")
print(" LSCPD Installed ")
print("###############################################")
except OSError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installLSCPD]")
return 0
except ValueError, msg:
logging.InstallLog.writeToFile(str(msg) + " [installLSCPD]")
return 0
return 1
def Main(cwd):
InstallCyberPanel.mysqlPassword = randomPassword.generate_pass()
InstallCyberPanel.mysql_Root_password = randomPassword.generate_pass()
os.mkdir("/etc/cyberpanel")
password = open("/etc/cyberpanel/mysqlPassword","w")
password.writelines(InstallCyberPanel.mysql_Root_password)
password.close()
installer = InstallCyberPanel("/usr/local/lsws/",cwd)
installer.installLiteSpeed()
installer.install_ls_panel_config()
installer.changePortTo80()
#installer.addLiteSpeedRepo()
installer.installAllPHPVersions()
installer.installAllPHPToLitespeed()
installer.setup_mariadb_repo()
installer.installMySQL()
installer.changeMYSQLRootPassword()
installer.changeMYSQLRootPasswordCyberPanel()
installer.startMariaDB()
mysqlUtilities.createDatabaseCyberPanel("cyberpanel","cyberpanel",InstallCyberPanel.mysqlPassword)
installer.installPureFTPD()
installer.installPureFTPDConfigurations()
installer.startPureFTPD()
installer.installPowerDNS()
installer.installPowerDNSConfigurations(InstallCyberPanel.mysqlPassword)
installer.startPowerDNS()
installer.installCertBot()
installer.installLSCPD()
def test():
installer = InstallCyberPanel("/usr/local/lsws/", "/home")
installer.installLSCPD()