diff --git a/CLScript/CLMain.py b/CLScript/CLMain.py
index 492207f48..8cb0683e0 100644
--- a/CLScript/CLMain.py
+++ b/CLScript/CLMain.py
@@ -5,7 +5,7 @@ class CLMain():
self.path = '/usr/local/CyberCP/version.txt'
#versionInfo = json.loads(open(self.path, 'r').read())
self.version = '2.3'
- self.build = '1'
+ self.build = '2'
ipFile = "/etc/cyberpanel/machineIP"
f = open(ipFile)
diff --git a/CPScripts/mailscannerinstaller.sh b/CPScripts/mailscannerinstaller.sh
index 6e324a22b..9175cd102 100644
--- a/CPScripts/mailscannerinstaller.sh
+++ b/CPScripts/mailscannerinstaller.sh
@@ -40,18 +40,42 @@ DIR=/etc/mail/spamassassin
if [ -d "$DIR" ]; then
sa-update
else
- echo "Please install spamassassin through the CyberPanel interface before proceeding"
+ echo "Please install SpamAssasin through the CyberPanel interface before proceeding"
exit
fi
-if [ -f /etc/os-release ]; then
- OS=$(head -1 /etc/os-release)
- UBUNTUVERSION=$(sed '6q;d' /etc/os-release)
- CENTOSVERSION=$(sed '5q;d' /etc/os-release)
- CLNVERSION=$(sed '3q;d' /etc/os-release)
+### OS Detection
+Server_OS=""
+Server_OS_Version=""
+if grep -q -E "CentOS Linux 7|CentOS Linux 8" /etc/os-release ; then
+ Server_OS="CentOS"
+elif grep -q "AlmaLinux-8" /etc/os-release ; then
+ Server_OS="AlmaLinux"
+elif grep -q -E "CloudLinux 7|CloudLinux 8" /etc/os-release ; then
+ Server_OS="CloudLinux"
+elif grep -q -E "Rocky Linux" /etc/os-release ; then
+ Server_OS="RockyLinux"
+elif grep -q -E "Ubuntu 18.04|Ubuntu 20.04|Ubuntu 20.10|Ubuntu 22.04" /etc/os-release ; then
+ Server_OS="Ubuntu"
+elif grep -q -E "openEuler 20.03|openEuler 22.03" /etc/os-release ; then
+ Server_OS="openEuler"
+else
+ echo -e "Unable to detect your system..."
+ echo -e "\nCyberPanel is supported on x86_64 based Ubuntu 18.04, Ubuntu 20.04, Ubuntu 20.10, Ubuntu 22.04, CentOS 7, CentOS 8, AlmaLinux 8, RockyLinux 8, CloudLinux 7, CloudLinux 8, openEuler 20.03, openEuler 22.03...\n"
+ exit
fi
-if [ "$CENTOSVERSION" = "VERSION_ID=\"7\"" ]; then
+Server_OS_Version=$(grep VERSION_ID /etc/os-release | awk -F[=,] '{print $2}' | tr -d \" | head -c2 | tr -d . )
+
+echo -e "System: $Server_OS $Server_OS_Version detected...\n"
+
+if [[ $Server_OS = "CloudLinux" ]] || [[ "$Server_OS" = "AlmaLinux" ]] || [[ "$Server_OS" = "RockyLinux" ]] ; then
+ Server_OS="CentOS"
+ #CloudLinux gives version id like 7.8, 7.9, so cut it to show first number only
+ #treat CloudLinux, Rocky and Alma as CentOS
+fi
+
+if [[ $Server_OS = "CentOS" ]] && [[ "$Server_OS_Version" = "7" ]] ; then
setenforce 0
yum install -y perl yum-utils perl-CPAN
@@ -68,7 +92,7 @@ if [ "$CENTOSVERSION" = "VERSION_ID=\"7\"" ]; then
freshclam -v
-elif [ "$CENTOSVERSION" = "VERSION_ID=\"8\"" ]; then
+elif [[ $Server_OS = "CentOS" ]] && [[ "$Server_OS_Version" = "8" ]] ; then
setenforce 0
yum install -y perl yum-utils perl-CPAN
@@ -107,7 +131,7 @@ elif [ "$CLNVERSION" = "ID=\"cloudlinux\"" ]; then
freshclam -v
-elif [ "$OS" = "NAME=\"Ubuntu\"" ]; then
+elif [[ $Server_OS = "Ubuntu" ]]; then
apt-get install -y libmysqlclient-dev
@@ -133,8 +157,8 @@ echo "/^Received:/ HOLD" >>/etc/postfix/header_checks
systemctl restart postfix
-if [ "$OS" = "NAME=\"Ubuntu\"" ]; then
- wget https://github.com/MailScanner/v5/releases/download/5.3.3-1/MailScanner-5.3.3-1.noarch.deb
+if [[ $Server_OS = "Ubuntu" ]]; then
+ wget https://github.com/MailScanner/v5/releases/download/5.4.4-1/MailScanner-5.4.4-1.noarch.deb
dpkg -i *.noarch.deb
mkdir /var/run/MailScanner
@@ -144,10 +168,9 @@ if [ "$OS" = "NAME=\"Ubuntu\"" ]; then
chown -R postfix:postfix /var/lock/subsys/MailScanner
chown -R postfix:postfix /var/spool/MailScanner
-elif [ "$OS" = "NAME=\"CentOS Linux\"" ]; then
- wget https://github.com/MailScanner/v5/releases/download/5.3.3-1/MailScanner-5.3.3-1.rhel.noarch.rpm
+elif [[ $Server_OS = "CentOS" ]]; then
+ wget https://github.com/MailScanner/v5/releases/download/5.4.4-1/MailScanner-5.4.4-1.rhel.noarch.rpm
rpm -Uvh *.rhel.noarch.rpm
-
elif [ "$OS" = "NAME=\"CloudLinux\"" ]; then
wget https://github.com/MailScanner/v5/releases/download/5.3.3-1/MailScanner-5.3.3-1.rhel.noarch.rpm
rpm -Uvh *.rhel.noarch.rpm
diff --git a/CPScripts/mailscanneruninstaller.sh b/CPScripts/mailscanneruninstaller.sh
index 8fc920677..2061fe9df 100644
--- a/CPScripts/mailscanneruninstaller.sh
+++ b/CPScripts/mailscanneruninstaller.sh
@@ -1,26 +1,52 @@
#!/bin/bash
## Uninstall Mailscanner CyberPanel
-if [ -f /etc/os-release ]; then
- OS=$(head -1 /etc/os-release)
- UBUNTUVERSION=$(sed '6q;d' /etc/os-release)
- CENTOSVERSION=$(sed '5q;d' /etc/os-release)
- CLNVERSION=$(sed '3q;d' /etc/os-release)
+### OS Detection
+Server_OS=""
+Server_OS_Version=""
+if grep -q -E "CentOS Linux 7|CentOS Linux 8" /etc/os-release ; then
+ Server_OS="CentOS"
+elif grep -q "AlmaLinux-8" /etc/os-release ; then
+ Server_OS="AlmaLinux"
+elif grep -q -E "CloudLinux 7|CloudLinux 8" /etc/os-release ; then
+ Server_OS="CloudLinux"
+elif grep -q -E "Rocky Linux" /etc/os-release ; then
+ Server_OS="RockyLinux"
+elif grep -q -E "Ubuntu 18.04|Ubuntu 20.04|Ubuntu 20.10|Ubuntu 22.04" /etc/os-release ; then
+ Server_OS="Ubuntu"
+elif grep -q -E "openEuler 20.03|openEuler 22.03" /etc/os-release ; then
+ Server_OS="openEuler"
+else
+ echo -e "Unable to detect your system..."
+ echo -e "\nCyberPanel is supported on x86_64 based Ubuntu 18.04, Ubuntu 20.04, Ubuntu 20.10, Ubuntu 22.04, CentOS 7, CentOS 8, AlmaLinux 8, RockyLinux 8, CloudLinux 7, CloudLinux 8, openEuler 20.03, openEuler 22.03...\n"
+ exit
+fi
+
+Server_OS_Version=$(grep VERSION_ID /etc/os-release | awk -F[=,] '{print $2}' | tr -d \" | head -c2 | tr -d . )
+
+echo -e "System: $Server_OS $Server_OS_Version detected...\n"
+
+if [[ $Server_OS = "CloudLinux" ]] || [[ "$Server_OS" = "AlmaLinux" ]] || [[ "$Server_OS" = "RockyLinux" ]] ; then
+ Server_OS="CentOS"
+ #CloudLinux gives version id like 7.8, 7.9, so cut it to show first number only
+ #treat CloudLinux, Rocky and Alma as CentOS
fi
systemctl stop mailscanner
-if [ "$OS" = "NAME=\"Ubuntu\"" ]; then
- apt purge -y mailscanner
-elif
- [ "$OS" = "NAME=\"CentOS Linux\"" ]
-then
+if [[ $Server_OS = "CentOS" ]] && [[ "$Server_OS_Version" = "7" ]] ; then
+
yum remove -y MailScanner
-elif [ "$OS" = "NAME=\"CloudLinux\"" ]; then
+elif [[ $Server_OS = "CentOS" ]] && [[ "$Server_OS_Version" = "8" ]] ; then
+
yum remove -y MailScanner
+elif [[ $Server_OS = "Ubuntu" ]]; then
+
+ apt purge -y mailscanner
+
fi
sed -i 's/\/^Received:\/ HOLD/\/^Received:\/ IGNORE/g' /etc/postfix/header_checks
diff --git a/CyberCP/secMiddleware.py b/CyberCP/secMiddleware.py
index 39de0f2c6..47fd6a4bd 100755
--- a/CyberCP/secMiddleware.py
+++ b/CyberCP/secMiddleware.py
@@ -72,7 +72,7 @@ class secMiddleware:
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
- if request.build_absolute_uri().find('api/verifyConn') > -1 or request.build_absolute_uri().find('webhook') > -1 or request.build_absolute_uri().find('saveSpamAssassinConfigurations') > -1 or request.build_absolute_uri().find('docker') > -1 or request.build_absolute_uri().find('cloudAPI') > -1 or request.build_absolute_uri().find('verifyLogin') > -1 or request.build_absolute_uri().find('submitUserCreation') > -1:
+ if request.build_absolute_uri().find('api/remoteTransfer') > -1 or request.build_absolute_uri().find('api/verifyConn') > -1 or request.build_absolute_uri().find('webhook') > -1 or request.build_absolute_uri().find('saveSpamAssassinConfigurations') > -1 or request.build_absolute_uri().find('docker') > -1 or request.build_absolute_uri().find('cloudAPI') > -1 or request.build_absolute_uri().find('verifyLogin') > -1 or request.build_absolute_uri().find('submitUserCreation') > -1:
continue
if key == 'key' or key == 'cert' or key == 'recordContentAAAA' or key == 'backupDestinations' or key == 'ports' \
or key == 'imageByPass' or key == 'passwordByPass' or key == 'cronCommand' \
diff --git a/IncBackups/IncBackupsControl.py b/IncBackups/IncBackupsControl.py
index 9534734a7..7c2f9e0b4 100644
--- a/IncBackups/IncBackupsControl.py
+++ b/IncBackups/IncBackupsControl.py
@@ -138,7 +138,7 @@ class IncJobs(multi.Thread):
backupExcludesFile = '/home/%s/backup-exclude.conf' % (self.website.domain)
resticBackupExcludeCMD = ' --exclude-file=%s' % (backupExcludesFile)
- command = 'export AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s && restic -r s3:s3.amazonaws.com/%s backup %s --password-file %s --exclude /home/%s/backup --exclude /home/%s/incbackup' % (
+ command = 'AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s restic -r s3:s3.amazonaws.com/%s backup %s --password-file %s --exclude /home/%s/backup --exclude /home/%s/incbackup' % (
key, secret, self.website.domain, backupPath, self.passwordFile, self.website.domain, self.website.domain)
# If /home/%s/backup-exclude.conf file exists lets pass this to restic by appending the command to end.
@@ -184,7 +184,7 @@ class IncJobs(multi.Thread):
key, secret = self.getAWSData()
- command = 'export AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s && restic -r s3:s3.amazonaws.com/%s forget %s --password-file %s' % (
+ command = 'AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s restic -r s3:s3.amazonaws.com/%s forget %s --password-file %s' % (
key, secret, self.website, snapshotID, self.passwordFile)
result = ProcessUtilities.outputExecutioner(command, self.externalApp)
@@ -195,7 +195,7 @@ class IncJobs(multi.Thread):
logging.statusWriter(self.statusPath, 'Failed: %s. [5009]' % (result), 1)
return 0
- command = 'export AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s && restic -r s3:s3.amazonaws.com/%s prune --password-file %s' % (
+ command = 'AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s restic -r s3:s3.amazonaws.com/%s prune --password-file %s' % (
key, secret, self.website, self.passwordFile)
ProcessUtilities.outputExecutioner(command, self.externalApp)
@@ -204,7 +204,7 @@ class IncJobs(multi.Thread):
key, secret = self.getAWSData()
- command = 'export AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s && restic -r s3:s3.amazonaws.com/%s restore %s --password-file %s --target %s' % (
+ command = 'AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s restic -r s3:s3.amazonaws.com/%s restore %s --password-file %s --target %s' % (
key, secret, self.website, snapshotID, self.passwordFile, self.restoreTarget)
result = ProcessUtilities.outputExecutioner(command, self.externalApp)
@@ -764,7 +764,7 @@ class IncJobs(multi.Thread):
logging.statusWriter(self.statusPath, result, 1)
else:
key, secret = self.getAWSData()
- command = 'export AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s && restic -r s3:s3.amazonaws.com/%s init --password-file %s' % (
+ command = 'AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s restic -r s3:s3.amazonaws.com/%s init --password-file %s' % (
key, secret, self.website.domain, self.passwordFile)
result = ProcessUtilities.outputExecutioner(command, self.externalApp)
@@ -939,6 +939,4 @@ Subject: %s
except BaseException as msg:
logging.statusWriter(self.statusPath, "%s [903:DeleteSnapShot][5009]" % (str(msg)), 1)
- return 0
-
-
+ return 0
\ No newline at end of file
diff --git a/README.md b/README.md
index ff9c97e70..c18ea068a 100755
--- a/README.md
+++ b/README.md
@@ -1,32 +1,34 @@
# CyberPanel
-Webhosting control panel that uses OpenLiteSpeed as web server.
+Web Hosting Control Panel that uses OpenLiteSpeed as the underlying Web Server.
-## Features
+## Features & Services
-* Different Level Of users.
+* Different User Access Levels (via ACLs).
* Auto SSL.
* FTP Server.
-* Light weight DNS Server (PowerDNS).
-* PHPMYAdmin.
-* Email Support (Rainloop).
-* FileManager.
+* Light-weight DNS Server (PowerDNS).
+* phpMyAdmin to manage DBs (MariaDB).
+* Email Support (SnappyMail).
+* File Manager.
* PHP Managment.
-* Firewall (FirewallD & ConfigServer Firewall Intregration).
-* One click Backup and Restore.
+* Firewall (FirewallD & ConfigServer Firewall Integration).
+* One-click Backups and Restores.
-# Supported PHPs
+# Supported PHP Versions
-* 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
+* PHP 8.1
* PHP 8.0
+* PHP 7.4
+* PHP 7.3
+* PHP 7.2
+* PHP 7.1
+* PHP 7.0
+* PHP 5.6
+* PHP 5.5
+* PHP 5.4
+* PHP 5.3
+
# Installation Instructions
@@ -35,7 +37,7 @@ Webhosting control panel that uses OpenLiteSpeed as web server.
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
```
-# Upgrading
+# Upgrading CyberPanel
```
@@ -45,8 +47,10 @@ sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgr
# Resources
* [Official Site.](https://cyberpanel.net)
-* [Documentation.](https://docs.cyberpanel.net)
-* [Forums.](https://forums.cyberpanel.net)
+* [Docs (Old).](https://docs.cyberpanel.net)
+* [Docs (New).](https://community.cyberpanel.net/docs)
+* [Changelog.](https://community.cyberpanel.net/t/change-logs/161)
+* [Forums.](https://community.cyberpanel.net)
* [Discord.](https://discord.gg/g8k8Db3)
* [Facebook Group.](https://www.facebook.com/groups/cyberpanel)
-
+* [YouTube Channel.](https://www.youtube.com/channel/UCS6sgUWEhaFl1TO238Ck0xw)
diff --git a/README.md.bak b/README.md.bak
new file mode 100644
index 000000000..ff9c97e70
--- /dev/null
+++ b/README.md.bak
@@ -0,0 +1,52 @@
+# CyberPanel
+
+Webhosting control panel that uses OpenLiteSpeed as web server.
+
+## Features
+
+* Different Level Of users.
+* Auto SSL.
+* FTP Server.
+* Light weight DNS Server (PowerDNS).
+* PHPMYAdmin.
+* Email Support (Rainloop).
+* FileManager.
+* PHP Managment.
+* Firewall (FirewallD & ConfigServer Firewall Intregration).
+* One click Backup and Restore.
+
+# Supported PHPs
+
+* 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
+* PHP 8.0
+
+# Installation Instructions
+
+
+```
+sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
+```
+
+# Upgrading
+
+
+```
+sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)
+```
+
+# Resources
+
+* [Official Site.](https://cyberpanel.net)
+* [Documentation.](https://docs.cyberpanel.net)
+* [Forums.](https://forums.cyberpanel.net)
+* [Discord.](https://discord.gg/g8k8Db3)
+* [Facebook Group.](https://www.facebook.com/groups/cyberpanel)
+
diff --git a/api/views.py b/api/views.py
index 8c61fa691..257648f27 100755
--- a/api/views.py
+++ b/api/views.py
@@ -435,10 +435,14 @@ def remoteTransfer(request):
## Accounts to transfer is a path to file, containing accounts.
+
execPath = "/usr/local/CyberCP/bin/python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py"
- execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + path
+ execPath = execPath + " remoteTransfer --ipAddress " + ipAddress.rstrip('\n') + " --dir " + dir + " --accountsToTransfer " + path
ProcessUtilities.popenExecutioner(execPath)
+ if os.path.exists('/usr/local/CyberCP/debug'):
+ logging.writeToFile('Repor of %s' % repr(execPath))
+
return HttpResponse(json.dumps({"transferStatus": 1, "dir": dir}))
##
diff --git a/backup/backupManager.py b/backup/backupManager.py
index c4bc4a788..c42a80d32 100755
--- a/backup/backupManager.py
+++ b/backup/backupManager.py
@@ -1163,6 +1163,10 @@ class BackupManager:
r = requests.post(url, data=finalData, verify=False)
+ if os.path.exists('/usr/local/CyberCP/debug'):
+ message = 'Remote transfer initiation status: %s' % (r.text)
+ logging.CyberCPLogFileWriter.writeToFile(message)
+
data = json.loads(r.text)
if data['transferStatus'] == 1:
diff --git a/baseTemplate/static/baseTemplate/cyber-panel-logo.svg b/baseTemplate/static/baseTemplate/cyber-panel-logo.svg
new file mode 100644
index 000000000..ca8ed1d30
--- /dev/null
+++ b/baseTemplate/static/baseTemplate/cyber-panel-logo.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/baseTemplate/static/baseTemplate/images/agreement.png b/baseTemplate/static/baseTemplate/images/agreement.png
new file mode 100755
index 000000000..a2fabeef4
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/agreement.png differ
diff --git a/baseTemplate/static/baseTemplate/images/change-license.png b/baseTemplate/static/baseTemplate/images/change-license.png
new file mode 100755
index 000000000..bc0c7479d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/change-license.png differ
diff --git a/baseTemplate/static/baseTemplate/images/change.png b/baseTemplate/static/baseTemplate/images/change.png
new file mode 100755
index 000000000..657733415
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/change.png differ
diff --git a/baseTemplate/static/baseTemplate/images/close-32.png b/baseTemplate/static/baseTemplate/images/close-32.png
new file mode 100755
index 000000000..c18fdd957
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/close-32.png differ
diff --git a/baseTemplate/static/baseTemplate/images/cyber-panel-logo.svg b/baseTemplate/static/baseTemplate/images/cyber-panel-logo.svg
new file mode 100644
index 000000000..ca8ed1d30
--- /dev/null
+++ b/baseTemplate/static/baseTemplate/images/cyber-panel-logo.svg
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/baseTemplate/static/baseTemplate/images/cyberpanel-banner-graphics.png b/baseTemplate/static/baseTemplate/images/cyberpanel-banner-graphics.png
new file mode 100644
index 000000000..812972739
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/cyberpanel-banner-graphics.png differ
diff --git a/baseTemplate/static/baseTemplate/images/delete.png b/baseTemplate/static/baseTemplate/images/delete.png
new file mode 100755
index 000000000..9d29e3bd6
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/delete.png differ
diff --git a/baseTemplate/static/baseTemplate/images/docker.png b/baseTemplate/static/baseTemplate/images/docker.png
new file mode 100755
index 000000000..cdf0c6fc2
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/docker.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/add-ssl.png b/baseTemplate/static/baseTemplate/images/icons/add-ssl.png
new file mode 100755
index 000000000..1b29a8d6f
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/add-ssl.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/change-php.png b/baseTemplate/static/baseTemplate/images/icons/change-php.png
new file mode 100755
index 000000000..54ac72fea
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/change-php.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/checklist.png b/baseTemplate/static/baseTemplate/images/icons/checklist.png
new file mode 100755
index 000000000..5236aa0a8
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/checklist.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/compose.png b/baseTemplate/static/baseTemplate/images/icons/compose.png
new file mode 100755
index 000000000..4e786da4d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/compose.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/delete-ftp.png b/baseTemplate/static/baseTemplate/images/icons/delete-ftp.png
new file mode 100755
index 000000000..d622eeb75
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/delete-ftp.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/domain-registration.png b/baseTemplate/static/baseTemplate/images/icons/domain-registration.png
new file mode 100755
index 000000000..4810b7259
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/domain-registration.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/domains.png b/baseTemplate/static/baseTemplate/images/icons/domains.png
new file mode 100755
index 000000000..8cdb93355
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/domains.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/file.png b/baseTemplate/static/baseTemplate/images/icons/file.png
new file mode 100755
index 000000000..dabb56702
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/file.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/ftp-upload.png b/baseTemplate/static/baseTemplate/images/icons/ftp-upload.png
new file mode 100755
index 000000000..31235bd81
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/ftp-upload.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/git-logo.png b/baseTemplate/static/baseTemplate/images/icons/git-logo.png
new file mode 100755
index 000000000..e871f125c
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/git-logo.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/joomla-logo.png b/baseTemplate/static/baseTemplate/images/icons/joomla-logo.png
new file mode 100755
index 000000000..8cb876527
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/joomla-logo.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/laptop.png b/baseTemplate/static/baseTemplate/images/icons/laptop.png
new file mode 100755
index 000000000..948ab080d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/laptop.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/locked.png b/baseTemplate/static/baseTemplate/images/icons/locked.png
new file mode 100755
index 000000000..e9d0559c0
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/locked.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/log-file-format.png b/baseTemplate/static/baseTemplate/images/icons/log-file-format.png
new file mode 100755
index 000000000..684a65212
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/log-file-format.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/magento.png b/baseTemplate/static/baseTemplate/images/icons/magento.png
new file mode 100644
index 000000000..d32dfb558
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/magento.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/mailing.png b/baseTemplate/static/baseTemplate/images/icons/mailing.png
new file mode 100755
index 000000000..da227aa32
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/mailing.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/mautic.png b/baseTemplate/static/baseTemplate/images/icons/mautic.png
new file mode 100644
index 000000000..734f1913e
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/mautic.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/office-material.png b/baseTemplate/static/baseTemplate/images/icons/office-material.png
new file mode 100755
index 000000000..07809dadc
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/office-material.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/open_basedir.png b/baseTemplate/static/baseTemplate/images/icons/open_basedir.png
new file mode 100755
index 000000000..895d5cf1e
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/open_basedir.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/paper-plane.png b/baseTemplate/static/baseTemplate/images/icons/paper-plane.png
new file mode 100755
index 000000000..79998aa8d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/paper-plane.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/pencilcase.png b/baseTemplate/static/baseTemplate/images/icons/pencilcase.png
new file mode 100755
index 000000000..9aa1dd5be
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/pencilcase.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/post-office.png b/baseTemplate/static/baseTemplate/images/icons/post-office.png
new file mode 100755
index 000000000..7419b2b29
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/post-office.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/prestashop.png b/baseTemplate/static/baseTemplate/images/icons/prestashop.png
new file mode 100755
index 000000000..f25ce5c60
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/prestashop.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/repeat.png b/baseTemplate/static/baseTemplate/images/icons/repeat.png
new file mode 100755
index 000000000..cdbb2ef52
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/repeat.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/sort.png b/baseTemplate/static/baseTemplate/images/icons/sort.png
new file mode 100755
index 000000000..8f30ca3dc
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/sort.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/warning.png b/baseTemplate/static/baseTemplate/images/icons/warning.png
new file mode 100755
index 000000000..a6a4e1ca4
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/warning.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/web-domain.png b/baseTemplate/static/baseTemplate/images/icons/web-domain.png
new file mode 100755
index 000000000..271e6900d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/web-domain.png differ
diff --git a/baseTemplate/static/baseTemplate/images/icons/wordpress.png b/baseTemplate/static/baseTemplate/images/icons/wordpress.png
new file mode 100755
index 000000000..f2112c790
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/icons/wordpress.png differ
diff --git a/baseTemplate/static/baseTemplate/images/license-status.png b/baseTemplate/static/baseTemplate/images/license-status.png
new file mode 100755
index 000000000..cf1fa8ab4
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/license-status.png differ
diff --git a/baseTemplate/static/baseTemplate/images/litespeed-logo.png b/baseTemplate/static/baseTemplate/images/litespeed-logo.png
new file mode 100755
index 000000000..5ac9124e5
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/litespeed-logo.png differ
diff --git a/baseTemplate/static/baseTemplate/images/litespeed.png b/baseTemplate/static/baseTemplate/images/litespeed.png
new file mode 100755
index 000000000..ee25d5fc5
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/litespeed.png differ
diff --git a/baseTemplate/static/baseTemplate/images/loading.gif b/baseTemplate/static/baseTemplate/images/loading.gif
new file mode 100755
index 000000000..af696b06d
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/loading.gif differ
diff --git a/baseTemplate/static/baseTemplate/images/lsON.png b/baseTemplate/static/baseTemplate/images/lsON.png
new file mode 100755
index 000000000..520085eb9
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/lsON.png differ
diff --git a/baseTemplate/static/baseTemplate/images/mariadb.png b/baseTemplate/static/baseTemplate/images/mariadb.png
new file mode 100755
index 000000000..40aa2df29
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/mariadb.png differ
diff --git a/baseTemplate/static/baseTemplate/images/new-design-list-websites-square.png b/baseTemplate/static/baseTemplate/images/new-design-list-websites-square.png
new file mode 100644
index 000000000..2ce99c720
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/new-design-list-websites-square.png differ
diff --git a/baseTemplate/static/baseTemplate/images/not-available-preview.png b/baseTemplate/static/baseTemplate/images/not-available-preview.png
new file mode 100755
index 000000000..94b06eae2
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/not-available-preview.png differ
diff --git a/baseTemplate/static/baseTemplate/images/powerdns.png b/baseTemplate/static/baseTemplate/images/powerdns.png
new file mode 100755
index 000000000..83c822f4c
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/powerdns.png differ
diff --git a/baseTemplate/static/baseTemplate/images/pureftpd.png b/baseTemplate/static/baseTemplate/images/pureftpd.png
new file mode 100755
index 000000000..ad150a98f
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/pureftpd.png differ
diff --git a/baseTemplate/static/baseTemplate/images/webPanel.png b/baseTemplate/static/baseTemplate/images/webPanel.png
new file mode 100755
index 000000000..cfea7d15c
Binary files /dev/null and b/baseTemplate/static/baseTemplate/images/webPanel.png differ
diff --git a/baseTemplate/templates/baseTemplate/index.html b/baseTemplate/templates/baseTemplate/index.html
index 00f6ca4c2..71787cc45 100755
--- a/baseTemplate/templates/baseTemplate/index.html
+++ b/baseTemplate/templates/baseTemplate/index.html
@@ -76,7 +76,7 @@
- {% with version="2.1.2" %}
+ {% with version="2.3.2" %}
@@ -275,6 +275,10 @@
{# #}
{# #}
{# #}
+