diff --git a/CLScript/CloudLinuxUsers.py b/CLScript/CloudLinuxUsers.py
new file mode 100755
index 000000000..ae2b4d8c6
--- /dev/null
+++ b/CLScript/CloudLinuxUsers.py
@@ -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()
diff --git a/install/installCyberPanel.py b/install/installCyberPanel.py
index 03253cb6c..fb7ec92fa 100755
--- a/install/installCyberPanel.py
+++ b/install/installCyberPanel.py
@@ -189,12 +189,19 @@ class InstallCyberPanel:
install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
- ## only php 72
- command = 'yum install -y lsphp73 lsphp73-json lsphp73-xmlrpc lsphp73-xml lsphp73-soap lsphp73-snmp ' \
+
+ ## only php 73
+ 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-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'
+ ## 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)
def setup_mariadb_repo(self):
diff --git a/managePHP/php74.xml b/managePHP/php74.xml
new file mode 100755
index 000000000..54676d132
--- /dev/null
+++ b/managePHP/php74.xml
@@ -0,0 +1,275 @@
+
+
+ php74
+
+
+ lsphp74-debuginfo
+ Debug information for package lsphp74
+ 0
+
+
+
+ lsphp74-pecl-igbinary-debuginfo
+ Debug information for package lsphp74-pecl-igbinary
+ 0
+
+
+
+ lsphp74-pecl-mcrypt-debuginfo
+ lsphp74 lsphp74-pecl-mcrypt-debuginfo Extension
+ 0
+
+
+
+ lsphp74-bcmath
+ A extension for PHP applications for using the bcmath library.
+ 1
+
+
+
+ lsphp74-common
+ Common files for PHP.
+ 1
+
+
+
+ lsphp74-dba
+ A database abstraction layer extension for PHP applications.
+ 1
+
+
+
+ lsphp74-devel
+ Files needed for building PHP extensions.
+ 0
+
+
+
+ lsphp74-enchant
+ Enchant spelling extension for PHP applications.
+ 1
+
+
+
+ lsphp74-gd
+ A extension for PHP applications for using the gd graphics library.
+ 1
+
+
+
+ lsphp74-gmp
+ A extension for PHP applications for using the GNU MP library.
+ 1
+
+
+
+ lsphp74-imap
+ A extension for PHP applications that use IMAP.
+ 1
+
+
+
+ lsphp74-intl
+ Internationalization extension for PHP applications.
+ 1
+
+
+
+ lsphp74-json
+ lsphp74 Json PHP Extension
+ 1
+
+
+
+ lsphp74-ldap
+ A extension for PHP applications that use LDAP.
+ 1
+
+
+
+ lsphp74-mbstring
+ A extension for PHP applications which need multi-byte string handling.
+ 1
+
+
+
+ lsphp74-mysqlnd
+ A extension for PHP applications that use MySQL databases.
+ 1
+
+
+
+ lsphp74-odbc
+ A extension for PHP applications that use ODBC databases.
+ 1
+
+
+
+ lsphp74-opcache
+ The Zend OPcache.
+ 1
+
+
+
+ lsphp74-pdo
+ A database access abstraction extension for PHP applications.
+ 1
+
+
+
+ lsphp74-pear
+ PHP Extension and Application Repository framework.
+ 1
+
+
+
+ lsphp74-pecl-apcu
+ APC User Cache.
+ 0
+
+
+
+ lsphp74-pecl-apcu-devel
+ APCu developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-apcu-panel
+ APCu control panel.
+ 0
+
+
+
+ lsphp74-pecl-igbinary
+ Replacement for the standard PHP serializer.
+ 0
+
+
+
+ lsphp74-pecl-igbinary-devel
+ Igbinary developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-mcrypt
+ lsphp74 lsphp74-pecl-mcrypt Extension.
+ 0
+
+
+
+ lsphp74-pecl-memcache
+ Extension to work with the Memcached caching daemon.
+ 0
+
+
+
+ lsphp74-pecl-memcached
+ Extension to work with the Memcached caching daemon.
+ 0
+
+
+
+ lsphp74-pecl-msgpack
+ API for communicating with MessagePack serialization.
+ 0
+
+
+
+ lsphp74-pecl-msgpack-devel
+ MessagePack developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-redis
+ Extension for communicating with the Redis key-value store.
+ 0
+
+
+
+ lsphp74-pgsql
+ A PostgreSQL database extension for PHP.
+ 1
+
+
+
+ lsphp74-process
+ extensions for PHP script using system process interfaces.
+ 1
+
+
+
+ lsphp74-pspell
+ A extension for PHP applications for using pspell interfaces.
+ 1
+
+
+
+ lsphp74-recode
+ A extension for PHP applications for using the recode library.
+ 1
+
+
+
+ lsphp74-snmp
+ A extension for PHP applications that query SNMP-managed devices.
+ 1
+
+
+
+ lsphp74-soap
+ A extension for PHP applications that use the SOAP protocol.
+ 1
+
+
+
+ lsphp74-tidy
+ Standard PHP extension provides tidy library support.
+ 1
+
+
+
+ lsphp74-xml
+ Standard PHP extension provides tidy library support.
+ 1
+
+
+
+ lsphp74-xmlrpc
+ A extension for PHP applications which use the XML-RPC protocol.
+ 1
+
+
+
+ lsphp74-zip
+ ZIP archive management extension for PHP
+ 0
+
+
+
+ lsphp74-mcrypt
+ Standard PHP extension provides mcrypt library support.
+ 1
+
+
+
+ lsphp74-dbg
+ php73-dbg lsphp74-package
+ 0
+
+
+
+ lsphp74-ioncube
+ ioncube loaders
+ 0
+
+
+
+ lsphp74-pecl-imagick
+ Extension to create and modify images using ImageMagick
+ 0
+
+
+
\ No newline at end of file
diff --git a/managePHP/phpManager.py b/managePHP/phpManager.py
index 53aabf04a..a75034667 100755
--- a/managePHP/phpManager.py
+++ b/managePHP/phpManager.py
@@ -14,10 +14,10 @@ class PHPManager:
distro = ProcessUtilities.decideDistro()
if distro == ProcessUtilities.centos:
if distro == ProcessUtilities.cent8:
- return ['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']
+ return ['PHP 7.1', 'PHP 7.2', 'PHP 7.3', 'PHP 7.4']
+ 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:
- 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
def getPHPString(phpVersion):
@@ -38,6 +38,8 @@ class PHPManager:
php = "72"
elif phpVersion == "PHP 7.3":
php = "73"
+ elif phpVersion == "PHP 7.4":
+ php = "74"
return php
diff --git a/managePHP/ubuntuphp74.xml b/managePHP/ubuntuphp74.xml
new file mode 100755
index 000000000..f60add02a
--- /dev/null
+++ b/managePHP/ubuntuphp74.xml
@@ -0,0 +1,125 @@
+
+
+ php74
+
+
+ lsphp73-common
+ Most of what you need.
+ 1
+
+
+
+ lsphp74-curl
+ Curl (common web tools) required for PHP
+ 1
+
+
+
+ lsphp74-dbg
+ Debugging extension
+ 0
+
+
+
+ lsphp74-dev
+ Development features almost always required.
+ 1
+
+
+
+ lsphp74-imap
+ Email extensions for PHP.
+ 1
+
+
+
+ lsphp74-intl
+ Extensions for countries other than the U.S.
+ 1
+
+
+
+ lsphp74-json
+ PHP extensions for JavaScript Object Notation.
+ 1
+
+
+
+ lsphp74-ldap
+ PHP extensions for LDAP (directory access protocol)
+ 1
+
+
+
+ lsphp74-modules-source
+ PHP source modules for virtually everything. Very large.
+ 0
+
+
+
+ lsphp74-mysql
+ PHP extension for MySQL or MariaDB databases.
+ 1
+
+
+
+ lsphp74-opcache
+ PHP low-level caching of code. Very important for performance.
+ 1
+
+
+
+ lsphp74-pgsql
+ A PostgreSQL database extension for PHP.
+ 0
+
+
+
+ lsphp74-pspell
+ PHP spell checking extensions.
+ 0
+
+
+
+ lsphp74-recode
+ PHP extension to transform data between different character sets.
+ 1
+
+
+
+ lsphp74-snmp
+ PHP network management extensions.
+ 0
+
+
+
+ lsphp74-sqlite3
+ An extension for PHP applications that use the SQLite v3 features.
+ 1
+
+
+
+ lsphp74-sybase
+ An extension for PHP applications that use Sybase databases.
+ 0
+
+
+
+ lsphp74-tidy
+ PHP extensions for manipulating HTML, XHTML and XML documents.
+ 1
+
+
+
+ lsphp74-ioncube
+ ioncube loaders
+ 0
+
+
+
+ lsphp74-imagick
+ Extension to create and modify images using ImageMagick
+ 0
+
+
+
diff --git a/managePHP/views.py b/managePHP/views.py
index 08a4391e4..4ef3a6ecc 100755
--- a/managePHP/views.py
+++ b/managePHP/views.py
@@ -1193,6 +1193,34 @@ def installExtensions(request):
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()})
except KeyError:
return redirect(loadLoginPage)
diff --git a/plogical/upgrade.py b/plogical/upgrade.py
index 195ee242b..02b21d0bf 100755
--- a/plogical/upgrade.py
+++ b/plogical/upgrade.py
@@ -448,7 +448,7 @@ class Upgrade:
####
- command = "virtualenv --system-site-packages /usr/local/CyberCP"
+ command = "virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberCP"
Upgrade.executioner(command, 'Setting up VirtualEnv [One]', 1)
##
@@ -463,7 +463,7 @@ class Upgrade:
command = "pip install --ignore-installed -r /usr/local/CyberCP/requirments.txt"
Upgrade.executioner(command, 'CyberPanel requirements', 0)
- command = "virtualenv --system-site-packages /usr/local/CyberCP"
+ command = "virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberCP"
Upgrade.executioner(command, 'Setting up VirtualEnv [Two]', 0)
Upgrade.stdOut('Virtual enviroment for CyberPanel successfully installed.')
@@ -1207,11 +1207,11 @@ class Upgrade:
cwd = os.getcwd()
os.chdir('/usr/local/CyberCP')
- command = '/usr/local/CyberPanel/bin/python2 manage.py makemigrations'
+ command = '/usr/local/CyberPanel/bin/python manage.py makemigrations'
Upgrade.executioner(command, 'python manage.py makemigrations', 0)
- command = '/usr/local/CyberPanel/bin/python2 manage.py makemigrations'
- Upgrade.executioner(command, '/usr/local/CyberPanel/bin/python2 manage.py migrate', 0)
+ command = '/usr/local/CyberPanel/bin/python manage.py makemigrations'
+ Upgrade.executioner(command, '/usr/local/CyberPanel/bin/python manage.py migrate', 0)
os.chdir(cwd)
@@ -1476,6 +1476,7 @@ CSRF_COOKIE_SECURE = True
for items in data:
if items.find('DATA_UPLOAD_MAX_MEMORY_SIZE') > -1:
DATA_UPLOAD_MAX_MEMORY_SIZE = 0
+ writeToFile.writelines("\nDATA_UPLOAD_MAX_MEMORY_SIZE = 52428800\n")
if DATA_UPLOAD_MAX_MEMORY_SIZE == 1:
writeToFile.writelines("\nDATA_UPLOAD_MAX_MEMORY_SIZE = 52428800\n")
@@ -1731,6 +1732,13 @@ CSRF_COOKIE_SECURE = True
'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'
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:
command = 'DEBIAN_FRONTEND=noninteractive apt-get -y install ' \
'lsphp7? lsphp7?-common lsphp7?-curl lsphp7?-dev lsphp7?-imap lsphp7?-intl lsphp7?-json ' \
diff --git a/preUpgrade.sh b/preUpgrade.sh
index 8125347df..24c312222 100644
--- a/preUpgrade.sh
+++ b/preUpgrade.sh
@@ -1,10 +1,10 @@
if [ ! -d "/usr/local/CyberPanel" ]; then
- virtualenv --system-site-packages /usr/local/CyberPanel
+ virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberPanel
source /usr/local/CyberPanel/bin/activate
rm -rf requirments.txt
wget https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/requirments.txt
pip install --ignore-installed -r requirments.txt
- virtualenv --system-site-packages /usr/local/CyberPanel
+ virtualenv -p /usr/bin/python3 --system-site-packages /usr/local/CyberPanel
fi
rm -rf upgrade.py
wget https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/plogical/upgrade.py