From 79eb936195a6dfc2af6b7cbbd991b1afc019a436 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Tue, 31 Dec 2019 19:55:29 +0500 Subject: [PATCH] bug fix: CLScripts --- CLScript/CloudLinuxAdmins.py | 1 - CLScript/CloudLinuxDB.py | 25 +++++++++++++++++++++++++ CLScript/CloudLinuxDomains.py | 2 +- CLScript/CloudLinuxPackages.py | 8 ++------ CLScript/CloudLinuxResellers.py | 1 - CLScript/CloudLinuxUsers.py | 11 ++++++----- CLScript/UserInfo.py | 22 ++++++++++++++++++++++ install/install.py | 8 +++++--- plogical/adminPass.py | 9 --------- plogical/upgrade.py | 6 +++++- plogical/vhost.py | 5 +---- plogical/virtualHostUtilities.py | 15 +++++++++------ 12 files changed, 76 insertions(+), 37 deletions(-) create mode 100755 CLScript/CloudLinuxDB.py create mode 100755 CLScript/UserInfo.py diff --git a/CLScript/CloudLinuxAdmins.py b/CLScript/CloudLinuxAdmins.py index 9a56a0008..944a97f49 100755 --- a/CLScript/CloudLinuxAdmins.py +++ b/CLScript/CloudLinuxAdmins.py @@ -11,7 +11,6 @@ except: pass from loginSystem.models import Administrator, ACL import argparse -import pwd import json from CLScript.CLMain import CLMain diff --git a/CLScript/CloudLinuxDB.py b/CLScript/CloudLinuxDB.py new file mode 100755 index 000000000..89be66945 --- /dev/null +++ b/CLScript/CloudLinuxDB.py @@ -0,0 +1,25 @@ +#!/usr/local/CyberCP/bin/python +import sys +sys.path.append('/usr/local/CyberCP') +import json +from CLScript.CLMain import CLMain + + +class PanelInfo(CLMain): + def __init__(self): + CLMain.__init__(self) + + def emit(self): + + initial = { + "mysql": None + } + + final = {'data': initial, 'metadata': self.initialMeta} + + print(json.dumps(final)) + + +if __name__ == '__main__': + pi = PanelInfo() + pi.emit() diff --git a/CLScript/CloudLinuxDomains.py b/CLScript/CloudLinuxDomains.py index 67966a530..5c947af73 100755 --- a/CLScript/CloudLinuxDomains.py +++ b/CLScript/CloudLinuxDomains.py @@ -9,7 +9,7 @@ try: django.setup() except: pass -from websiteFunctions.models import Websites, ChildDomains +from websiteFunctions.models import Websites import argparse import json from CLScript.CLMain import CLMain diff --git a/CLScript/CloudLinuxPackages.py b/CLScript/CloudLinuxPackages.py index 0f71e0214..2a153262e 100755 --- a/CLScript/CloudLinuxPackages.py +++ b/CLScript/CloudLinuxPackages.py @@ -9,9 +9,7 @@ try: except: pass from websiteFunctions.models import Websites -from CLManager.CLPackages import CLPackages import argparse -import pwd import json from CLScript.CLMain import CLMain @@ -27,16 +25,14 @@ class CloudLinuxPackages(CLMain): for items in Websites.objects.all(): itemPackage = items.package try: - clPackage = CLPackages.objects.get(owner=itemPackage) - packages.append({'name': clPackage.name, 'owner': items.externalApp}) + packages.append({'name': itemPackage.packageName, 'owner': items.externalApp}) except: pass else: for items in Websites.objects.filter(externalApp=owner): itemPackage = items.package try: - clPackage = CLPackages.objects.get(owner=itemPackage) - packages.append({'name': clPackage.name, 'owner': items.externalApp}) + packages.append({'name': itemPackage.packageName, 'owner': items.externalApp}) except: pass diff --git a/CLScript/CloudLinuxResellers.py b/CLScript/CloudLinuxResellers.py index 3c6e39a6d..0f93d04a6 100755 --- a/CLScript/CloudLinuxResellers.py +++ b/CLScript/CloudLinuxResellers.py @@ -11,7 +11,6 @@ except: pass from loginSystem.models import Administrator, ACL import argparse -import pwd import json from CLScript.CLMain import CLMain diff --git a/CLScript/CloudLinuxUsers.py b/CLScript/CloudLinuxUsers.py index 91cbc3bf8..52c3dd8c9 100755 --- a/CLScript/CloudLinuxUsers.py +++ b/CLScript/CloudLinuxUsers.py @@ -10,7 +10,6 @@ try: except: pass from websiteFunctions.models import Websites -from CLManager.CLPackages import CLPackages import argparse import pwd import json @@ -27,7 +26,10 @@ class CloudLinuxUsers(CLMain): self.packageName = packageName self.packageOwner = packageOwner self.fields = fields - self.uid = int(uid) + if uid!=None: + self.uid = int(uid) + else: + self.uid = uid if self.fields == None: self.id = 1 @@ -78,8 +80,7 @@ class CloudLinuxUsers(CLMain): users = [] for webs in websites: itemPackage = webs.package - clPackage = CLPackages.objects.get(owner=itemPackage) - package = {'name': clPackage.name, 'owner': webs.externalApp} + package = {'name': itemPackage.packageName, 'owner': webs.externalApp} user = {} @@ -124,7 +125,7 @@ class CloudLinuxUsers(CLMain): final = {'data': users, 'metadata': self.initialMeta} print(json.dumps(final)) - def listAll(self, owner=None, username = None): + def listAll(self): if self.owner == None: websites = Websites.objects.all() diff --git a/CLScript/UserInfo.py b/CLScript/UserInfo.py new file mode 100755 index 000000000..472b614f3 --- /dev/null +++ b/CLScript/UserInfo.py @@ -0,0 +1,22 @@ +#!/usr/local/CyberCP/bin/python +import getpass + +def main(): + if getpass.getuser() == 'root': + userType = "admin" + else: + userType = "user" + + data = """{ + "userName": "%s", + "userType": "%s", + "lang": "en", + "assetsUri": "/usr/local/lvemanager", + "baseUri": "/usr/local/lvemanager", + "defaultDomain": "cyberpanel.net" +}""" % (getpass.getuser(), userType) + + print(data) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/install/install.py b/install/install.py index ae244e460..090b003c6 100755 --- a/install/install.py +++ b/install/install.py @@ -651,7 +651,8 @@ class preFlightsChecks: clScripts = ['/usr/local/CyberCP/CLScript/panel_info.py', '/usr/local/CyberCP/CLScript/CloudLinuxPackages.py', '/usr/local/CyberCP/CLScript/CloudLinuxUsers.py', '/usr/local/CyberCP/CLScript/CloudLinuxDomains.py' - , '/usr/local/CyberCP/CLScript/CloudLinuxResellers.py', '/usr/local/CyberCP/CLScript/CloudLinuxAdmins.py'] + , '/usr/local/CyberCP/CLScript/CloudLinuxResellers.py', '/usr/local/CyberCP/CLScript/CloudLinuxAdmins.py', + '/usr/local/CyberCP/CLScript/CloudLinuxDB.py', '/usr/local/CyberCP/CLScript/UserInfo.py'] for items in clScripts: command = 'chmod +x %s' % (items) @@ -2149,10 +2150,11 @@ users = /usr/local/CyberCP/CLScript/CloudLinuxUsers.py domains = /usr/local/CyberCP/CLScript/CloudLinuxDomains.py resellers = /usr/local/CyberCP/CLScript/CloudLinuxResellers.py admins = /usr/local/CyberCP/CLScript/CloudLinuxAdmins.py - - +db_info = /usr/local/CyberCP/CLScript/CloudLinuxDB.py [lvemanager_config] +ui_user_info =/usr/local/CyberCP/CLScript/UserInfo.py +base_path = /usr/local/lvemanager run_service = 1 service_port = 9000 """ diff --git a/plogical/adminPass.py b/plogical/adminPass.py index 33f6b0d18..4d7484aa9 100755 --- a/plogical/adminPass.py +++ b/plogical/adminPass.py @@ -43,15 +43,6 @@ def main(): print("Admin password successfully changed!") return 1 - ## CL Package Creation - - package = Package.objects.get(packageName='Default') - - if CLPackages.objects.count() == 0: - clPackage = CLPackages(name='Default', owner=package, speed='100%', vmem='1G', pmem='1G', io='1024', - iops='1024', ep='20', nproc='50', inodessoft='20', inodeshard='20') - clPackage.save() - token = hashPassword.generateToken('admin', adminPass) admin = Administrator.objects.get(userName="admin") admin.password = hashPassword.hash_password(adminPass) diff --git a/plogical/upgrade.py b/plogical/upgrade.py index 5f3cde36e..e3c9c7ccf 100755 --- a/plogical/upgrade.py +++ b/plogical/upgrade.py @@ -1725,7 +1725,8 @@ CSRF_COOKIE_SECURE = True clScripts = ['/usr/local/CyberCP/CLScript/panel_info.py', '/usr/local/CyberCP/CLScript/CloudLinuxPackages.py', '/usr/local/CyberCP/CLScript/CloudLinuxUsers.py', '/usr/local/CyberCP/CLScript/CloudLinuxDomains.py' - ,'/usr/local/CyberCP/CLScript/CloudLinuxResellers.py', '/usr/local/CyberCP/CLScript/CloudLinuxAdmins.py'] + ,'/usr/local/CyberCP/CLScript/CloudLinuxResellers.py', '/usr/local/CyberCP/CLScript/CloudLinuxAdmins.py', + '/usr/local/CyberCP/CLScript/CloudLinuxDB.py', '/usr/local/CyberCP/CLScript/UserInfo.py'] for items in clScripts: command = 'chmod +x %s' % (items) @@ -2074,8 +2075,11 @@ users = /usr/local/CyberCP/CLScript/CloudLinuxUsers.py domains = /usr/local/CyberCP/CLScript/CloudLinuxDomains.py resellers = /usr/local/CyberCP/CLScript/CloudLinuxResellers.py admins = /usr/local/CyberCP/CLScript/CloudLinuxAdmins.py +db_info = /usr/local/CyberCP/CLScript/CloudLinuxDB.py [lvemanager_config] +ui_user_info = /usr/local/CyberCP/CLScript/UserInfo.py +base_path = /usr/local/lvemanager run_service = 1 service_port = 9000 """ diff --git a/plogical/vhost.py b/plogical/vhost.py index 114044b43..583db1d7a 100755 --- a/plogical/vhost.py +++ b/plogical/vhost.py @@ -326,10 +326,7 @@ class vhost: delWebsite = Websites.objects.get(domain=virtualHostName) - ## Cagefs - - command = '/usr/sbin/cagefsctl --disable %s' % (delWebsite.externalApp) - ProcessUtilities.normalExecutioner(command) + ## databases = Databases.objects.filter(website=delWebsite) diff --git a/plogical/virtualHostUtilities.py b/plogical/virtualHostUtilities.py index ab7cef4ed..4a5aca988 100755 --- a/plogical/virtualHostUtilities.py +++ b/plogical/virtualHostUtilities.py @@ -216,17 +216,20 @@ class virtualHostUtilities: if dkimCheck == 1: DNS.createDKIMRecords(virtualHostName) - cageFSPath = '/home/cyberpanel/cagefs' + # cageFSPath = '/home/cyberpanel/cagefs' + # + # if os.path.exists(cageFSPath): + # command = '/usr/sbin/cagefsctl --enable %s' % (virtualHostUser) + # ProcessUtilities.normalExecutioner(command) - if os.path.exists(cageFSPath): - command = '/usr/sbin/cagefsctl --enable %s' % (virtualHostUser) - ProcessUtilities.normalExecutioner(command) - logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Website successfully created. [200]') CLPath = '/etc/sysconfig/cloudlinux' if os.path.exists(CLPath): - virtualHostUtilities.EnableCloudLinux() + command = '/usr/share/cloudlinux/hooks/post_modify_user.py create --username %s --owner %s' % (virtualHostUser, virtualHostUser) + ProcessUtilities.executioner(command) + + logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Website successfully created. [200]') return 1, 'None'