From 65d494ef9e448a1c6218bfe4bbf19ce4e1f15a85 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Mon, 12 Oct 2020 13:25:27 +0500 Subject: [PATCH 1/3] bug fix: joomla cli install for ubuntu --- plogical/applicationInstaller.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/plogical/applicationInstaller.py b/plogical/applicationInstaller.py index d3a44d59c..b854a2129 100755 --- a/plogical/applicationInstaller.py +++ b/plogical/applicationInstaller.py @@ -902,13 +902,21 @@ $parameters = array( command = 'composer global require joomlatools/console' ProcessUtilities.outputExecutioner(command, externalApp, None, self.permPath) + ### Decide joomla console path + import getpass + + if getpass.getuser() == 'root': + joomlaPath = '/root/.config/composer/vendor/bin/joomla' + else: + joomlaPath = '/home/%s/.composer/vendor/bin/joomla' % (self.masterDomain) + ## Run the install command statusFile = open(tempStatusPath, 'w') statusFile.writelines('Installing Joomla..,40') statusFile.close() - command = '/home/%s/.composer/vendor/bin/joomla site:create %s --mysql-login %s:%s --mysql-database %s --mysql_db_prefix=%s --www %s --sample-data=blog --skip-create-statement' % (self.masterDomain, dbUser, dbUser, dbPassword, dbName, prefix , finalPath) + command = '%s site:create %s --mysql-login %s:%s --mysql-database %s --mysql_db_prefix=%s --www %s --sample-data=blog --skip-create-statement' % (joomlaPath, dbUser, dbUser, dbPassword, dbName, prefix , finalPath) result = ProcessUtilities.outputExecutioner(command, externalApp) @@ -960,13 +968,13 @@ $parameters = array( command = 'unzip -o /usr/local/CyberCP/joomla.zip -d /usr/local/CyberCP/' ProcessUtilities.executioner(command) - command = '/home/%s/.composer/vendor/bin/joomla extension:installfile %s --www %s /usr/local/CyberCP/lscache_plugin.zip' % (self.masterDomain, dbUser, finalPath) + command = '%s extension:installfile %s --www %s /usr/local/CyberCP/lscache_plugin.zip' % (joomlaPath, dbUser, finalPath) ProcessUtilities.executioner(command) - command = '/home/%s/.composer/vendor/bin/joomla extension:installfile %s --www %s /usr/local/CyberCP/com_lscache.zip' % (self.masterDomain, dbUser, finalPath) + command = '%s extension:installfile %s --www %s /usr/local/CyberCP/com_lscache.zip' % (joomlaPath, dbUser, finalPath) ProcessUtilities.executioner(command) - command = '/home/%s/.composer/vendor/bin/joomla extension:enable %s --www %s lscache' % (self.masterDomain, dbUser, finalPath) + command = '%s extension:enable %s --www %s lscache' % (joomlaPath, dbUser, finalPath) ProcessUtilities.executioner(command) command = 'mv %s%s/* %s' % (finalPath, dbUser, finalPath) From a5a837ad5cde174205f3d4513cf33db68bed9966 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Mon, 12 Oct 2020 20:12:23 +0500 Subject: [PATCH 2/3] phpmyadmin: login admin users as root --- databases/views.py | 49 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/databases/views.py b/databases/views.py index 4bf15c931..811514c3b 100755 --- a/databases/views.py +++ b/databases/views.py @@ -163,15 +163,33 @@ def generateAccess(request): admin = Administrator.objects.get(id = userID) currentACL = ACLManager.loadedACL(userID) + ## if user ACL is admin login as root + + command = 'chmod 640 /usr/local/lscp/cyberpanel/logs/access.log' + ProcessUtilities.executioner(command) + + if currentACL['admin'] == 1: + + try: + GlobalUserDB.objects.get(username=admin.userName).delete() + except: + pass + + password = randomPassword.generate_pass() + token = randomPassword.generate_pass() + GlobalUserDB(username=admin.userName, password=password,token=token).save() + + data_ret = {'status': 1, 'token': token, 'username': admin.userName} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + + keySavePath = '/home/cyberpanel/phpmyadmin_%s' % (admin.userName) try: GlobalUserDB.objects.get(username=admin.userName).delete() except: pass - command = 'chmod 640 /usr/local/lscp/cyberpanel/logs/access.log' - ProcessUtilities.executioner(command) - command = 'rm -f %s' % (keySavePath) ProcessUtilities.executioner(command) @@ -235,6 +253,31 @@ def fetchDetailsPHPMYAdmin(request): gdb = GlobalUserDB.objects.get(username=admin.userName) if gdb.token == token: + + if currentACL['admin'] == 1: + passFile = "/etc/cyberpanel/mysqlPassword" + + try: + jsonData = json.loads(open(passFile, 'r').read()) + + mysqluser = jsonData['mysqluser'] + password = jsonData['mysqlpassword'] + + returnURL = '/phpmyadmin/phpmyadminsignin.php?username=%s&password=%s' % ( + mysqluser, password) + return redirect(returnURL) + + except BaseException: + + f = open(passFile) + data = f.read() + password = data.split('\n', 1)[0] + password = password.strip('\n').strip('\r') + + returnURL = '/phpmyadmin/phpmyadminsignin.php?username=%s&password=%s' % ( + 'root', password) + return redirect(returnURL) + keySavePath = '/home/cyberpanel/phpmyadmin_%s' % (admin.userName) key = ProcessUtilities.outputExecutioner('cat %s' % (keySavePath)).strip('\n').encode() f = Fernet(key) From ec70c7d3e6c0db09dc681387822534d50c00e0be Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Tue, 13 Oct 2020 18:28:14 +0500 Subject: [PATCH 3/3] bug fix: random linux user while creating via cli --- cli/cyberPanel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/cyberPanel.py b/cli/cyberPanel.py index 132665a12..afc260955 100755 --- a/cli/cyberPanel.py +++ b/cli/cyberPanel.py @@ -39,8 +39,8 @@ class cyberPanel: def createWebsite(self, package, owner, domainName, email, php, ssl, dkim, openBasedir): try: - - externalApp = "".join(re.findall("[a-zA-Z]+", domainName))[:7] + from random import randint + externalApp = "".join(re.findall("[a-zA-Z]+", domainName))[:5] + str(randint(1000, 9999)) phpSelection = 'PHP ' + php result = virtualHostUtilities.createVirtualHost(domainName, email, phpSelection, externalApp, ssl, dkim,