From 84536ea2d3f2a5e7ddf0d31fbb38e61a42592c20 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Sun, 5 Jul 2020 14:39:57 +0500 Subject: [PATCH] allow to enter remote mysql default db --- cyberpanel.sh | 9 +++++++-- install/install.py | 17 ++++++++++++----- install/installCyberPanel.py | 9 +++++---- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/cyberpanel.sh b/cyberpanel.sh index cdd0355ba..ce1cd9549 100644 --- a/cyberpanel.sh +++ b/cyberpanel.sh @@ -13,6 +13,7 @@ PUREFTPD_VARIABLE="ON" REMOTE_MYSQL='OFF' MYSQL_HOST='' +MYSQL_DB='' MYSQL_USER='' MYSQL_PASSWORD='' MYSQL_PORT='' @@ -878,6 +879,10 @@ if [[ `expr "x$TMP_YN" : 'x[Yy]'` -gt 1 ]] || [[ $TMP_YN == "" ]] ; then printf "%s" "Remote MySQL Hostname: " read MYSQL_HOST + echo -e "" + printf "%s" "Remote MySQL Database that contains meta information regarding MYSQL. (usually mysql): " + read MYSQL_DB + echo -e "" printf "%s" "Remote MySQL Username: " read MYSQL_USER @@ -1074,14 +1079,14 @@ if [[ $debug == "1" ]] ; then if [[ $REDIS_HOSTING == "Yes" ]] ; then if [[ $REMOTE_MYSQL == "ON" ]] ; then - /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --redis enable --remotemysql $REMOTE_MYSQL --mysqlhost $MYSQL_HOST --mysqluser $MYSQL_USER --mysqlpassword $MYSQL_PASSWORD --mysqlport $MYSQL_PORT + /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --redis enable --remotemysql $REMOTE_MYSQL --mysqlhost $MYSQL_HOST --mysqldb $MYSQL_DB --mysqluser $MYSQL_USER --mysqlpassword $MYSQL_PASSWORD --mysqlport $MYSQL_PORT else /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --redis enable --remotemysql $REMOTE_MYSQL fi else if [[ $REMOTE_MYSQL == "ON" ]] ; then echo "/usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --remotemysql $REMOTE_MYSQL --mysqlhost $MYSQL_HOST --mysqluser $MYSQL_USER --mysqlpassword $MYSQL_PASSWORD --mysqlport $MYSQL_PORT" - /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --remotemysql $REMOTE_MYSQL --mysqlhost $MYSQL_HOST --mysqluser $MYSQL_USER --mysqlpassword $MYSQL_PASSWORD --mysqlport $MYSQL_PORT + /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --remotemysql $REMOTE_MYSQL --mysqlhost $MYSQL_HOST --mysqldb $MYSQL_DB --mysqluser $MYSQL_USER --mysqlpassword $MYSQL_PASSWORD --mysqlport $MYSQL_PORT else /usr/local/CyberPanel/bin/python install.py $SERVER_IP $SERIAL_NO $LICENSE_KEY --postfix $POSTFIX_VARIABLE --powerdns $POWERDNS_VARIABLE --ftp $PUREFTPD_VARIABLE --remotemysql $REMOTE_MYSQL fi diff --git a/install/install.py b/install/install.py index c115dd13d..44acc1c35 100755 --- a/install/install.py +++ b/install/install.py @@ -96,7 +96,7 @@ class preFlightsChecks: cyberPanelMirror = "mirror.cyberpanel.net/pip" cdn = 'cyberpanel.sh' - def __init__(self, rootPath, ip, path, cwd, cyberPanelPath, distro, remotemysql = None , mysqlhost = None, mysqluser = None, mysqlpassword = None, mysqlport = None): + def __init__(self, rootPath, ip, path, cwd, cyberPanelPath, distro, remotemysql = None , mysqlhost = None, mysqldb = None, mysqluser = None, mysqlpassword = None, mysqlport = None): self.ipAddr = ip self.path = path self.cwd = cwd @@ -108,6 +108,7 @@ class preFlightsChecks: self.mysqluser = mysqluser self.mysqlpassword = mysqlpassword self.mysqlport = mysqlport + self.mysqldb = mysqldb @staticmethod def stdOut(message, log=0, do_exit=0, code=os.EX_OK): @@ -439,6 +440,9 @@ class preFlightsChecks: command = "sed -i 's|localhost|%s|g' %s" % (self.mysqlhost, path) preFlightsChecks.call(command, self.distro, command, command, 1, 1, os.EX_OSERR) + command = "sed -i 's|mysql|%s|g' %s" % (self.mysqldb, path) + preFlightsChecks.call(command, self.distro, command, command, 1, 1, os.EX_OSERR) + command = "sed -i 's|'USER': 'root',|'USER': '%s',|g' %s" % (self.mysqluser, path) preFlightsChecks.call(command, self.distro, command, command, 1, 1, os.EX_OSERR) @@ -2121,6 +2125,7 @@ def main(): parser.add_argument('--redis', help='vHosts on Redis - Requires LiteSpeed Enterprise') parser.add_argument('--remotemysql', help='Opt to choose local or remote MySQL') parser.add_argument('--mysqlhost', help='MySQL host if remote is chosen.') + parser.add_argument('--mysqldb', help='MySQL DB if remote is chosen.') parser.add_argument('--mysqluser', help='MySQL user if remote is chosen.') parser.add_argument('--mysqlpassword', help='MySQL password if remote is chosen.') parser.add_argument('--mysqlport', help='MySQL port if remote is chosen.') @@ -2165,9 +2170,10 @@ def main(): mysqluser = args.mysqluser mysqlpassword = args.mysqlpassword mysqlport = args.mysqlport + mysqldb = args.mysqldb if preFlightsChecks.debug: - print('mysqlhost: %s, mysqluser: %s, mysqlpassword: %s, mysqlport: %s' % (mysqlhost, mysqluser, mysqlpassword, mysqlport)) + print('mysqlhost: %s, mysqldb: %s, mysqluser: %s, mysqlpassword: %s, mysqlport: %s' % (mysqlhost, mysqldb, mysqluser, mysqlpassword, mysqlport)) time.sleep(10) else: @@ -2176,9 +2182,10 @@ def main(): mysqluser = '' mysqlpassword = '' mysqlport = '' + mysqldb = '' distro = get_distro() - checks = preFlightsChecks("/usr/local/lsws/", args.publicip, "/usr/local", cwd, "/usr/local/CyberCP", distro, remotemysql, mysqlhost, mysqluser, mysqlpassword, mysqlport) + checks = preFlightsChecks("/usr/local/lsws/", args.publicip, "/usr/local", cwd, "/usr/local/CyberCP", distro, remotemysql, mysqlhost, mysqldb, mysqluser, mysqlpassword, mysqlport) checks.mountTemp() if args.port == None: @@ -2201,9 +2208,9 @@ def main(): if ent == 0: - installCyberPanel.Main(cwd, mysql, distro, ent, None, port, args.ftp, args.powerdns, args.publicip, remotemysql, mysqlhost, mysqluser, mysqlpassword, mysqlport) + installCyberPanel.Main(cwd, mysql, distro, ent, None, port, args.ftp, args.powerdns, args.publicip, remotemysql, mysqlhost, mysqldb, mysqluser, mysqlpassword, mysqlport) else: - installCyberPanel.Main(cwd, mysql, distro, ent, serial, port, args.ftp, args.powerdns, args.publicip, remotemysql, mysqlhost, mysqluser, mysqlpassword, mysqlport) + installCyberPanel.Main(cwd, mysql, distro, ent, serial, port, args.ftp, args.powerdns, args.publicip, remotemysql, mysqlhost, mysqldb, mysqluser, mysqlpassword, mysqlport) checks.setupPHPAndComposer() checks.fix_selinux_issue() diff --git a/install/installCyberPanel.py b/install/installCyberPanel.py index 33b192940..c80de64e7 100755 --- a/install/installCyberPanel.py +++ b/install/installCyberPanel.py @@ -39,7 +39,7 @@ class InstallCyberPanel: mysql_Root_password = "" mysqlPassword = "" - def __init__(self, rootPath, cwd, distro, ent, serial = None, port = None, ftp = None, dns = None, publicip = None, remotemysql = None , mysqlhost = None, mysqluser = None, mysqlpassword = None, mysqlport = None): + def __init__(self, rootPath, cwd, distro, ent, serial = None, port = None, ftp = None, dns = None, publicip = None, remotemysql = None , mysqlhost = None, mysqldb = None, mysqluser = None, mysqlpassword = None, mysqlport = None): self.server_root_path = rootPath self.cwd = cwd self.distro = distro @@ -54,6 +54,7 @@ class InstallCyberPanel: self.mysqluser = mysqluser self.mysqlpassword = mysqlpassword self.mysqlport = mysqlport + self.mysqldb = mysqldb @staticmethod def stdOut(message, log=0, exit=0, code=os.EX_OK): @@ -608,7 +609,7 @@ class InstallCyberPanel: install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) -def Main(cwd, mysql, distro, ent, serial = None, port = "8090", ftp = None, dns = None, publicip = None, remotemysql = None , mysqlhost = None, mysqluser = None, mysqlpassword = None, mysqlport = None): +def Main(cwd, mysql, distro, ent, serial = None, port = "8090", ftp = None, dns = None, publicip = None, remotemysql = None , mysqlhost = None, mysqldb = None, mysqluser = None, mysqlpassword = None, mysqlport = None): InstallCyberPanel.mysqlPassword = randomPassword.generate_pass() InstallCyberPanel.mysql_Root_password = randomPassword.generate_pass() @@ -625,7 +626,7 @@ def Main(cwd, mysql, distro, ent, serial = None, port = "8090", ftp = None, dns password.writelines(InstallCyberPanel.mysql_Root_password) password.close() else: - mysqlData = {'remotemysql': remotemysql, 'mysqlhost': mysqlhost, 'mysqluser': mysqluser, 'mysqlpassword': mysqlpassword, 'mysqlport': mysqlport} + mysqlData = {'remotemysql': remotemysql, 'mysqlhost': mysqlhost, 'mysqldb':mysqldb, 'mysqluser': mysqluser, 'mysqlpassword': mysqlpassword, 'mysqlport': mysqlport} from json import dumps writeToFile = open(file_name, 'w') writeToFile.write(dumps(mysqlData)) @@ -654,7 +655,7 @@ def Main(cwd, mysql, distro, ent, serial = None, port = "8090", ftp = None, dns else: InstallCyberPanel.mysqlPassword = InstallCyberPanel.mysql_Root_password - installer = InstallCyberPanel("/usr/local/lsws/",cwd, distro, ent, serial, port, ftp, dns, publicip, remotemysql, mysqlhost, mysqluser, mysqlpassword, mysqlport) + installer = InstallCyberPanel("/usr/local/lsws/",cwd, distro, ent, serial, port, ftp, dns, publicip, remotemysql, mysqlhost, mysqldb, mysqluser, mysqlpassword, mysqlport) installer.installLiteSpeed() if ent == 0: