diff --git a/CLScript/CLMain.py b/CLScript/CLMain.py new file mode 100644 index 000000000..2ebed7463 --- /dev/null +++ b/CLScript/CLMain.py @@ -0,0 +1,16 @@ +import json +class CLMain(): + def __init__(self): + self.path = '/usr/local/CyberCP/version.txt' + versionInfo = json.loads(open(self.path, 'r').read()) + self.version = versionInfo['version'] + self.build = versionInfo['build'] + + ipFile = "/etc/cyberpanel/machineIP" + f = open(ipFile) + ipData = f.read() + self.ipAddress = ipData.split('\n', 1)[0] + + self.initialMeta = { + "result": "ok" + } \ No newline at end of file diff --git a/CLScript/CloudLinuxPackages.py b/CLScript/CloudLinuxPackages.py new file mode 100755 index 000000000..67bfc2f86 --- /dev/null +++ b/CLScript/CloudLinuxPackages.py @@ -0,0 +1,39 @@ +#!/usr/local/CyberCP/bin/python +import sys +import os.path +import django +sys.path.append('/usr/local/CyberCP') +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") +try: + django.setup() +except: + pass +from websiteFunctions.models import Websites +from CLManager.CLPackages import CLPackages +import argparse +import pwd +import json +from CLScript.CLMain import CLMain + + +class CloudLinuxPackages(CLMain): + def __init__(self): + CLMain.__init__(self) + + def listAll(self): + packages = [] + for items in Websites.objects.all(): + itemPackage = items.package + try: + clPackage = CLPackages.objects.get(owner=itemPackage) + packages.append({'name': clPackage.name, 'owner': items.externalApp}) + except: + pass + + final = {'data': packages, 'metadata': self.initialMeta} + print(json.dumps(final)) + + +if __name__ == '__main__': + pi = CloudLinuxPackages() + pi.listAll() diff --git a/CLScript/__init__.py b/CLScript/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/CLScript/panel_info.py b/CLScript/panel_info.py new file mode 100755 index 000000000..7d4ab2b40 --- /dev/null +++ b/CLScript/panel_info.py @@ -0,0 +1,27 @@ +#!/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 = { + "name": "CyberPanel", + "version": "%s.%s" % (self.version, self.build), + "user_login_url": "https://%s:8090/" % (self.ipAddress) + } + + final = {'data': initial, 'metadata': self.initialMeta} + + print(json.dumps(final)) + + +if __name__ == '__main__': + pi = PanelInfo() + pi.emit() diff --git a/plogical/adminPass.py b/plogical/adminPass.py index 16114ca71..33f6b0d18 100755 --- a/plogical/adminPass.py +++ b/plogical/adminPass.py @@ -11,6 +11,7 @@ from plogical import hashPassword from plogical.acl import ACLManager from packages.models import Package from baseTemplate.models import version +from CLManager.models import CLPackages def main(): @@ -38,9 +39,19 @@ def main(): bandwidth=1000, ftpAccounts=1000, dataBases=1000, emailAccounts=1000, allowedDomains=20) package.save() + 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/csf.py b/plogical/csf.py index d79c419d6..8109e4c5e 100755 --- a/plogical/csf.py +++ b/plogical/csf.py @@ -1,4 +1,6 @@ #!/usr/local/CyberCP/bin/python +import sys +sys.path.append('/usr/local/CyberCP') from plogical import CyberCPLogFileWriter as logging import subprocess import shlex diff --git a/plogical/virtualHostUtilities.py b/plogical/virtualHostUtilities.py index 3de959463..ab7cef4ed 100755 --- a/plogical/virtualHostUtilities.py +++ b/plogical/virtualHostUtilities.py @@ -226,39 +226,7 @@ class virtualHostUtilities: CLPath = '/etc/sysconfig/cloudlinux' if os.path.exists(CLPath): - if CLPackages.objects.count() == 0: - package = Package.objects.get(packageName='Default') - 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() - - writeToFile = open(CLPath, 'a') - writeToFile.writelines('CUSTOM_GETPACKAGE_SCRIPT=/usr/local/CyberCP/CLManager/CLPackages.py\n') - writeToFile.close() - - command = 'chmod +x /usr/local/CyberCP/CLManager/CLPackages.py' - ProcessUtilities.normalExecutioner(command) - - virtualHostUtilities.EnableCloudLinux() - installUtilities.installUtilities.reStartLiteSpeed() - - command = 'sudo lvectl package-set %s --speed=%s --pmem=%s --io=%s --nproc=%s --iops=%s --vmem=%s --ep=%s' % ( - 'Default', '100%', '1G', '1024', '50', '1024', '1G', '20') - ProcessUtilities.normalExecutioner(command) - - command = 'lvectl apply all' - ProcessUtilities.normalExecutioner(command) - else: - try: - clPackage = CLPackages.objects.get(owner=selectedPackage) - command = 'sudo lvectl package-set %s --speed=%s --pmem=%s --io=%s --nproc=%s --iops=%s --vmem=%s --ep=%s' % ( - clPackage.name, clPackage.speed, clPackage.pmem, clPackage.io, clPackage.np, clPackage.iops, - clPackage.vmem, clPackage.ep) - ProcessUtilities.normalExecutioner(command) - command = 'sudo lvectl apply all' - ProcessUtilities.normalExecutioner(command) - except: - pass + virtualHostUtilities.EnableCloudLinux() return 1, 'None'