This commit is contained in:
Usman Nasir
2019-12-26 15:52:55 +05:00
parent ff6adbc765
commit 7f661baf5c
7 changed files with 502 additions and 3 deletions

58
CLScript/CloudLinuxUsers.py Executable file
View File

@@ -0,0 +1,58 @@
#!/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 CloudLinuxUsers(CLMain):
def __init__(self):
CLMain.__init__(self)
def listAll(self, owner=None):
users = []
for webs in Websites.objects.all():
itemPackage = webs.package
clPackage = CLPackages.objects.get(owner=itemPackage)
package = {'name': clPackage.name, 'owner': webs.externalApp}
user = {'id': pwd.getpwnam(webs.externalApp).pw_uid,
'username': webs.externalApp,
'owner': webs.externalApp,
'domain': webs.domain,
'package': package,
'email': webs.adminEmail,
"locale_code": "EN_us"
}
users.append(user)
final = {'data': users, 'metadata': self.initialMeta}
print(json.dumps(final))
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='CyberPanel CloudLinux Manager')
parser.add_argument('--owner', help='Owner')
args = parser.parse_args()
pi = CloudLinuxUsers()
try:
pi.listAll(args.owner)
except:
pi.listAll()

View File

@@ -182,12 +182,18 @@ class InstallCyberPanel:
install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
## only php 72 ## only php 73
command = 'yum install -y lsphp73 lsphp73-json lsphp73-xmlrpc lsphp73-xml lsphp73-tidy lsphp73-soap lsphp73-snmp ' \ command = 'yum install -y lsphp73 lsphp73-json lsphp73-xmlrpc lsphp73-xml lsphp73-tidy lsphp73-soap lsphp73-snmp ' \
'lsphp73-recode lsphp73-pspell lsphp73-process lsphp73-pgsql lsphp73-pear lsphp73-pdo lsphp73-opcache ' \ 'lsphp73-recode lsphp73-pspell lsphp73-process lsphp73-pgsql lsphp73-pear lsphp73-pdo lsphp73-opcache ' \
'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \ 'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \
'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath' 'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath'
## only php 74
command = 'yum install -y lsphp74 lsphp74-json lsphp74-xmlrpc lsphp74-xml lsphp74-tidy lsphp74-soap lsphp74-snmp ' \
'lsphp74-recode lsphp74-pspell lsphp74-process lsphp74-pgsql lsphp74-pear lsphp74-pdo lsphp74-opcache ' \
'lsphp74-odbc lsphp74-mysqlnd lsphp74-mcrypt lsphp74-mbstring lsphp74-ldap lsphp74-intl lsphp74-imap ' \
'lsphp74-gmp lsphp74-gd lsphp74-enchant lsphp74-dba lsphp74-common lsphp74-bcmath'
install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
def setup_mariadb_repo(self): def setup_mariadb_repo(self):

275
managePHP/php74.xml Executable file
View File

@@ -0,0 +1,275 @@
<?xml version="1.0" ?>
<php>
<name>php74</name>
<extension>
<extensionName>lsphp74-debuginfo</extensionName>
<extensionDescription>Debug information for package lsphp74</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-igbinary-debuginfo</extensionName>
<extensionDescription>Debug information for package lsphp74-pecl-igbinary</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-mcrypt-debuginfo</extensionName>
<extensionDescription>lsphp74 lsphp74-pecl-mcrypt-debuginfo Extension</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-bcmath</extensionName>
<extensionDescription>A extension for PHP applications for using the bcmath library.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-common</extensionName>
<extensionDescription>Common files for PHP.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-dba</extensionName>
<extensionDescription>A database abstraction layer extension for PHP applications.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-devel</extensionName>
<extensionDescription>Files needed for building PHP extensions.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-enchant</extensionName>
<extensionDescription>Enchant spelling extension for PHP applications.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-gd</extensionName>
<extensionDescription>A extension for PHP applications for using the gd graphics library.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-gmp</extensionName>
<extensionDescription>A extension for PHP applications for using the GNU MP library.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-imap</extensionName>
<extensionDescription>A extension for PHP applications that use IMAP.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-intl</extensionName>
<extensionDescription>Internationalization extension for PHP applications.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-json</extensionName>
<extensionDescription>lsphp74 Json PHP Extension</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-ldap</extensionName>
<extensionDescription>A extension for PHP applications that use LDAP.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-mbstring</extensionName>
<extensionDescription>A extension for PHP applications which need multi-byte string handling.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-mysqlnd</extensionName>
<extensionDescription>A extension for PHP applications that use MySQL databases.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-odbc</extensionName>
<extensionDescription>A extension for PHP applications that use ODBC databases.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-opcache</extensionName>
<extensionDescription>The Zend OPcache.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-pdo</extensionName>
<extensionDescription>A database access abstraction extension for PHP applications.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-pear</extensionName>
<extensionDescription>PHP Extension and Application Repository framework.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-apcu</extensionName>
<extensionDescription>APC User Cache.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-apcu-devel</extensionName>
<extensionDescription>APCu developer files (header).</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-apcu-panel</extensionName>
<extensionDescription>APCu control panel.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-igbinary</extensionName>
<extensionDescription>Replacement for the standard PHP serializer.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-igbinary-devel</extensionName>
<extensionDescription>Igbinary developer files (header).</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-mcrypt</extensionName>
<extensionDescription>lsphp74 lsphp74-pecl-mcrypt Extension.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-memcache</extensionName>
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-memcached</extensionName>
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-msgpack</extensionName>
<extensionDescription>API for communicating with MessagePack serialization.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-msgpack-devel</extensionName>
<extensionDescription>MessagePack developer files (header).</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-redis</extensionName>
<extensionDescription>Extension for communicating with the Redis key-value store.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pgsql</extensionName>
<extensionDescription>A PostgreSQL database extension for PHP.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-process</extensionName>
<extensionDescription>extensions for PHP script using system process interfaces.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-pspell</extensionName>
<extensionDescription>A extension for PHP applications for using pspell interfaces.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-recode</extensionName>
<extensionDescription>A extension for PHP applications for using the recode library.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-snmp</extensionName>
<extensionDescription>A extension for PHP applications that query SNMP-managed devices.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-soap</extensionName>
<extensionDescription>A extension for PHP applications that use the SOAP protocol.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-tidy</extensionName>
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-xml</extensionName>
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-xmlrpc</extensionName>
<extensionDescription>A extension for PHP applications which use the XML-RPC protocol.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-zip</extensionName>
<extensionDescription>ZIP archive management extension for PHP</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-mcrypt</extensionName>
<extensionDescription>Standard PHP extension provides mcrypt library support.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-dbg</extensionName>
<extensionDescription>php73-dbg lsphp74-package</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-ioncube</extensionName>
<extensionDescription>ioncube loaders</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pecl-imagick</extensionName>
<extensionDescription>Extension to create and modify images using ImageMagick</extensionDescription>
<status>0</status>
</extension>
</php>

View File

@@ -12,9 +12,9 @@ class PHPManager:
@staticmethod @staticmethod
def findPHPVersions(): def findPHPVersions():
if ProcessUtilities.decideDistro() == ProcessUtilities.centos: if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
return ['PHP 5.3', 'PHP 5.4', 'PHP 5.5', 'PHP 5.6', 'PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3'] return ['PHP 5.3', 'PHP 5.4', 'PHP 5.5', 'PHP 5.6', 'PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3', 'PHP 7.4']
else: else:
return ['PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3'] return ['PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3', 'PHP 7.4']
@staticmethod @staticmethod
def getPHPString(phpVersion): def getPHPString(phpVersion):

125
managePHP/ubuntuphp74.xml Executable file
View File

@@ -0,0 +1,125 @@
<?xml version="1.0" ?>
<php>
<name>php74</name>
<extension>
<extensionName>lsphp73-common</extensionName>
<extensionDescription>Most of what you need.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-curl</extensionName>
<extensionDescription>Curl (common web tools) required for PHP</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-dbg</extensionName>
<extensionDescription>Debugging extension</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-dev</extensionName>
<extensionDescription>Development features almost always required.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-imap</extensionName>
<extensionDescription>Email extensions for PHP.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-intl</extensionName>
<extensionDescription>Extensions for countries other than the U.S.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-json</extensionName>
<extensionDescription>PHP extensions for JavaScript Object Notation.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-ldap</extensionName>
<extensionDescription>PHP extensions for LDAP (directory access protocol)</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-modules-source</extensionName>
<extensionDescription>PHP source modules for virtually everything. Very large.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-mysql</extensionName>
<extensionDescription>PHP extension for MySQL or MariaDB databases.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-opcache</extensionName>
<extensionDescription>PHP low-level caching of code. Very important for performance.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-pgsql</extensionName>
<extensionDescription>A PostgreSQL database extension for PHP.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-pspell</extensionName>
<extensionDescription>PHP spell checking extensions.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-recode</extensionName>
<extensionDescription>PHP extension to transform data between different character sets.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-snmp</extensionName>
<extensionDescription>PHP network management extensions.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-sqlite3</extensionName>
<extensionDescription>An extension for PHP applications that use the SQLite v3 features.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-sybase</extensionName>
<extensionDescription>An extension for PHP applications that use Sybase databases.</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-tidy</extensionName>
<extensionDescription>PHP extensions for manipulating HTML, XHTML and XML documents.</extensionDescription>
<status>1</status>
</extension>
<extension>
<extensionName>lsphp74-ioncube</extensionName>
<extensionDescription>ioncube loaders</extensionDescription>
<status>0</status>
</extension>
<extension>
<extensionName>lsphp74-imagick</extensionName>
<extensionDescription>Extension to create and modify images using ImageMagick</extensionDescription>
<status>0</status>
</extension>
</php>

View File

@@ -1193,6 +1193,34 @@ def installExtensions(request):
phpExtension.save() phpExtension.save()
if PHP.objects.count() == 8:
newPHP74 = PHP(phpVers="php74")
newPHP74.save()
php74Path = ''
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
php74Path = os.path.join('/usr', 'local', 'CyberCP', 'managePHP', 'php74.xml')
else:
php74Path = os.path.join('/usr', 'local', 'CyberCP', 'managePHP', 'ubuntuphp74.xml')
php74 = ElementTree.parse(php74Path)
php74Extensions = php74.findall('extension')
for extension in php74Extensions:
extensionName = extension.find('extensionName').text
extensionDescription = extension.find('extensionDescription').text
status = int(extension.find('status').text)
phpExtension = installedPackages(phpVers=newPHP74,
extensionName=extensionName,
description=extensionDescription,
status=status)
phpExtension.save()
return render(request, 'managePHP/installExtensions.html', {'phps': PHPManager.findPHPVersions()}) return render(request, 'managePHP/installExtensions.html', {'phps': PHPManager.findPHPVersions()})
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)

View File

@@ -1732,6 +1732,13 @@ CSRF_COOKIE_SECURE = True
'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \ 'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \
'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath' 'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath'
Upgrade.executioner(command, 'Install PHP 73, 0') Upgrade.executioner(command, 'Install PHP 73, 0')
command = 'yum install -y lsphp74 lsphp74-json lsphp74-xmlrpc lsphp74-xml lsphp74-tidy lsphp74-soap lsphp74-snmp ' \
'lsphp74-recode lsphp74-pspell lsphp74-process lsphp74-pgsql lsphp74-pear lsphp74-pdo lsphp74-opcache ' \
'lsphp74-odbc lsphp74-mysqlnd lsphp74-mcrypt lsphp74-mbstring lsphp74-ldap lsphp74-intl lsphp74-imap ' \
'lsphp74-gmp lsphp74-gd lsphp74-enchant lsphp74-dba lsphp74-common lsphp74-bcmath'
Upgrade.executioner(command, 'Install PHP 74, 0')
except: except:
command = 'DEBIAN_FRONTEND=noninteractive apt-get -y install ' \ command = 'DEBIAN_FRONTEND=noninteractive apt-get -y install ' \
'lsphp7? lsphp7?-common lsphp7?-curl lsphp7?-dev lsphp7?-imap lsphp7?-intl lsphp7?-json ' \ 'lsphp7? lsphp7?-common lsphp7?-curl lsphp7?-dev lsphp7?-imap lsphp7?-intl lsphp7?-json ' \