mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-15 09:46:11 +01:00
Merge branch 'v2.3.4' of https://github.com/usmannasir/cyberpanel into v2.3.4
This commit is contained in:
@@ -181,7 +181,7 @@ LoadModule mpm_event_module modules/mod_mpm_event.so
|
||||
if ProcessUtilities.executioner(command, None, True) == 0:
|
||||
return "Apache run apache2-suexec-pristine"
|
||||
|
||||
command = 'a2enmod suexec proxy ssl proxy_fcgi proxy rewrite'
|
||||
command = 'a2enmod suexec proxy ssl proxy_fcgi proxy rewrite headers'
|
||||
if ProcessUtilities.executioner(command, None, True) == 0:
|
||||
return "Apache run suexec proxy ssl"
|
||||
|
||||
|
||||
BIN
baseTemplate/static/baseTemplate/assets/finalBase/favicon.png
Normal file
BIN
baseTemplate/static/baseTemplate/assets/finalBase/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
@@ -90,7 +90,7 @@
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/custom-js/pnotify.custom.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'websiteFunctions/websiteFunctions.css' %}">
|
||||
<link rel="icon" type="image/png" href="{% static 'baseTemplate/assets/finalBase/favicon.png' %}">
|
||||
<link rel="icon" type="image/x-icon" href="{% static 'baseTemplate/assets/finalBase/favicon.png' %}">
|
||||
<link type="text/css" href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"
|
||||
rel="stylesheet"/>
|
||||
{% block styles %}
|
||||
@@ -448,10 +448,10 @@
|
||||
title="{% trans 'List Websites' %}"><span>{% trans "List Websites" %}</span></a>
|
||||
</li>
|
||||
<li><a href="{% url 'CreateNewDomain' %}"
|
||||
title="{% trans 'Create New Domain' %}"><span>{% trans "Create New Domain" %}</span></a>
|
||||
title="{% trans 'Create Sub-Domain' %}"><span>{% trans "Create Sub-Domain" %}</span></a>
|
||||
</li>
|
||||
<li><a href="{% url 'listChildDomains' %}"
|
||||
title="{% trans 'List Domains' %}"><span>{% trans "List Domains" %}</span></a>
|
||||
title="{% trans 'List Sub-Domains' %}"><span>{% trans "List Sub-Domains" %}</span></a>
|
||||
</li>
|
||||
{% if admin or modifyWebsite %}
|
||||
<li><a href="{% url 'modifyWebsite' %}"
|
||||
|
||||
@@ -1040,6 +1040,10 @@ else
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y python3-venv
|
||||
Check_Return
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y cron inetutils-ping
|
||||
Check_Return
|
||||
# Oracle Ubuntu ARM misses ping and cron
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive apt install -y locales
|
||||
locale-gen "en_US.UTF-8"
|
||||
update-locale LC_ALL="en_US.UTF-8"
|
||||
@@ -1876,7 +1880,7 @@ echo "echo \$@ > /etc/cyberpanel/adminPass" >> /usr/bin/adminPass
|
||||
chmod 700 /usr/bin/adminPass
|
||||
|
||||
rm -f /usr/bin/php
|
||||
ln -s /usr/local/lsws/lsphp74/bin/php /usr/bin/php
|
||||
ln -s /usr/local/lsws/lsphp80/bin/php /usr/bin/php
|
||||
|
||||
if [[ "$Server_OS" = "CentOS" ]] ; then
|
||||
#all centos 7/8 post change goes here
|
||||
|
||||
@@ -108,8 +108,8 @@ if [[ ! -f /etc/os-release ]] ; then
|
||||
exit
|
||||
fi
|
||||
|
||||
if ! uname -m | grep -q x86_64 ; then
|
||||
echo -e "x86_64 system is required...\n"
|
||||
if ! uname -m | grep -qE 'x86_64|aarch64' ; then
|
||||
echo -e "x86_64 or ARM system is required...\n"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ check_OS() {
|
||||
Server_OS="AlmaLinux"
|
||||
elif grep -q -E "CloudLinux 7|CloudLinux 8" /etc/os-release ; then
|
||||
Server_OS="CloudLinux"
|
||||
elif grep -q -E "Ubuntu 18.04|Ubuntu 20.04|Ubuntu 20.10" /etc/os-release ; then
|
||||
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 "Rocky Linux" /etc/os-release ; then
|
||||
Server_OS="RockyLinux"
|
||||
@@ -28,7 +28,6 @@ check_OS() {
|
||||
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"
|
||||
Debug_Log2 "CyberPanel 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... [404]"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
@@ -209,7 +209,8 @@ class FileManager:
|
||||
try:
|
||||
currentFile = items.split(' ')
|
||||
currentFile = [a for a in currentFile if a != '']
|
||||
if currentFile[-1] == '.' or currentFile[-1] == '..' or currentFile[0] == 'total':
|
||||
|
||||
if currentFile[-1] == '.' or currentFile[-1] == '..' or currentFile[0] == 'total' or currentFile[-1].startswith('mail.'):
|
||||
continue
|
||||
|
||||
if len(currentFile) > 9:
|
||||
|
||||
@@ -102,7 +102,7 @@ class preFlightsChecks:
|
||||
debug = 1
|
||||
cyberPanelMirror = "mirror.cyberpanel.net/pip"
|
||||
cdn = 'cyberpanel.sh'
|
||||
SnappyVersion = '2.25.3'
|
||||
SnappyVersion = '2.28.1'
|
||||
|
||||
def __init__(self, rootPath, ip, path, cwd, cyberPanelPath, distro, remotemysql=None, mysqlhost=None, mysqldb=None,
|
||||
mysqluser=None, mysqlpassword=None, mysqlport=None):
|
||||
@@ -1403,7 +1403,7 @@ $cfg['Servers'][$i]['LogoutURL'] = 'phpmyadminsignin.php?logout';
|
||||
command = f'wget -O /usr/local/CyberCP/snappymail_cyberpanel.php https://raw.githubusercontent.com/the-djmaze/snappymail/master/integrations/cyberpanel/install.php'
|
||||
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
||||
|
||||
command = f'/usr/local/lsws/lsphp74/bin/php /usr/local/CyberCP/snappymail_cyberpanel.php'
|
||||
command = f'/usr/local/lsws/lsphp80/bin/php /usr/local/CyberCP/snappymail_cyberpanel.php'
|
||||
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
|
||||
|
||||
|
||||
@@ -1551,6 +1551,31 @@ $cfg['Servers'][$i]['LogoutURL'] = 'phpmyadminsignin.php?logout';
|
||||
|
||||
lscpdPath = '/usr/local/lscp/bin/lscpd'
|
||||
|
||||
# if subprocess.check_output('uname -a').decode("utf-8").find("aarch64") == -1:
|
||||
# lscpdPath = '/usr/local/lscp/bin/lscpd'
|
||||
#
|
||||
# lscpdSelection = 'lscpd-0.3.1'
|
||||
# if os.path.exists('/etc/lsb-release'):
|
||||
# result = open('/etc/lsb-release', 'r').read()
|
||||
# if result.find('22.04') > -1:
|
||||
# lscpdSelection = 'lscpd.0.4.0'
|
||||
# else:
|
||||
# lscpdSelection = 'lscpd.aarch64'
|
||||
|
||||
try:
|
||||
result = subprocess.run('uname -a', capture_output=True, text=True, shell=True)
|
||||
|
||||
if result.stdout.find('aarch64') == -1:
|
||||
lscpdSelection = 'lscpd-0.3.1'
|
||||
if os.path.exists('/etc/lsb-release'):
|
||||
result = open('/etc/lsb-release', 'r').read()
|
||||
if result.find('22.04') > -1:
|
||||
lscpdSelection = 'lscpd.0.4.0'
|
||||
else:
|
||||
lscpdSelection = 'lscpd.aarch64'
|
||||
|
||||
except:
|
||||
|
||||
lscpdSelection = 'lscpd-0.3.1'
|
||||
if os.path.exists('/etc/lsb-release'):
|
||||
result = open('/etc/lsb-release', 'r').read()
|
||||
@@ -1577,7 +1602,7 @@ $cfg['Servers'][$i]['LogoutURL'] = 'phpmyadminsignin.php?logout';
|
||||
|
||||
try:
|
||||
os.remove("/usr/local/lscp/fcgi-bin/lsphp")
|
||||
shutil.copy("/usr/local/lsws/lsphp74/bin/lsphp", "/usr/local/lscp/fcgi-bin/lsphp")
|
||||
shutil.copy("/usr/local/lsws/lsphp80/bin/lsphp", "/usr/local/lscp/fcgi-bin/lsphp")
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
@@ -505,7 +505,7 @@ class InstallCyberPanel:
|
||||
install.preFlightsChecks.call(command, self.distro, command, command, 1, 1, os.EX_OSERR)
|
||||
|
||||
|
||||
if get_Ubuntu_release() > 20:
|
||||
if get_Ubuntu_release() > 21.00:
|
||||
### change mysql md5 to crypt
|
||||
|
||||
command = "sed -i 's/MYSQLCrypt md5/MYSQLCrypt crypt/g' /etc/pure-ftpd/db/mysql.conf"
|
||||
|
||||
BIN
lscpd.aarch64
Normal file
BIN
lscpd.aarch64
Normal file
Binary file not shown.
@@ -518,7 +518,6 @@ class MailServerManager(multi.Thread):
|
||||
else:
|
||||
return ACLManager.loadErrorJson()
|
||||
try:
|
||||
|
||||
emailDomain = Domains.objects.get(domain=selectedDomain)
|
||||
except:
|
||||
raise BaseException('No emails exist for this domain.')
|
||||
|
||||
@@ -50,6 +50,8 @@ class CPBackupsV2(multi.Thread):
|
||||
except:
|
||||
pass
|
||||
|
||||
statusRes, message = self.InstallRustic()
|
||||
|
||||
### set self.website as it is needed in many functions
|
||||
from websiteFunctions.models import Websites
|
||||
self.website = Websites.objects.get(domain=self.data['domain'])
|
||||
|
||||
@@ -31,7 +31,7 @@ class ApplicationInstaller(multi.Thread):
|
||||
LOCALHOST = 'localhost'
|
||||
REMOTE = 0
|
||||
PORT = '3306'
|
||||
MauticVersion = '4.1.2'
|
||||
MauticVersion = '4.4.0'
|
||||
PrestaVersion = '1.7.8.3'
|
||||
|
||||
def __init__(self, installApp, extraArgs):
|
||||
@@ -242,7 +242,7 @@ $parameters = array(
|
||||
command = 'cp %s %s/app/config/local.php' % (localDB, finalPath)
|
||||
ProcessUtilities.executioner(command, externalApp)
|
||||
|
||||
command = "/usr/local/lsws/lsphp74/bin/php bin/console mautic:install http://%s -f" % (finalURL)
|
||||
command = "/usr/local/lsws/lsphp80/bin/php bin/console mautic:install http://%s -f" % (finalURL)
|
||||
result = ProcessUtilities.outputExecutioner(command, externalApp, None, finalPath)
|
||||
|
||||
if result.find('Install complete') == -1:
|
||||
@@ -1692,20 +1692,21 @@ $parameters = array(
|
||||
|
||||
DataToPass['domainName'] = self.data['domainName']
|
||||
DataToPass['adminEmail'] = self.data['adminEmail']
|
||||
DataToPass['phpSelection'] = "PHP 7.4"
|
||||
DataToPass['phpSelection'] = "PHP 8.0"
|
||||
DataToPass['websiteOwner'] = self.data['websiteOwner']
|
||||
DataToPass['package'] = self.data['package']
|
||||
DataToPass['ssl'] = 1
|
||||
DataToPass['dkimCheck'] = 0
|
||||
DataToPass['openBasedir'] = 0
|
||||
DataToPass['mailDomain'] = 0
|
||||
DataToPass['apacheBackend'] = self.extraArgs['apacheBackend']
|
||||
UserID = self.data['adminID']
|
||||
|
||||
try:
|
||||
website = Websites.objects.get(domain=DataToPass['domainName'])
|
||||
|
||||
if website.phpSelection == 'PHP 7.3':
|
||||
website.phpSelection = 'PHP 7.4'
|
||||
website.phpSelection = 'PHP 8.0'
|
||||
website.save()
|
||||
|
||||
if ACLManager.checkOwnership(website.domain, self.extraArgs['adminID'],
|
||||
|
||||
@@ -23,6 +23,9 @@ class ChildDomainManager:
|
||||
checker = 0
|
||||
|
||||
for items in childDomains:
|
||||
if items.domain == f'mail.{master.domain}':
|
||||
pass
|
||||
else:
|
||||
dic = {
|
||||
'childDomain': items.domain,
|
||||
'path': items.path,
|
||||
|
||||
@@ -438,7 +438,7 @@ class sslUtilities:
|
||||
try:
|
||||
command = acmePath + f" --issue -d {virtualHostName} -d *.{virtualHostName}" \
|
||||
+ ' --cert-file ' + existingCertPath + '/cert.pem' + ' --key-file ' + existingCertPath + '/privkey.pem' \
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt'
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt --dnssleep 20'
|
||||
#ResultText = open(logging.CyberCPLogFileWriter.fileName, 'r').read()
|
||||
#CurrentMessage = "Trying to obtain SSL for: " + virtualHostName + " and: www." + virtualHostName
|
||||
# logging.CyberCPLogFileWriter.writeToFile(CurrentMessage, 0)
|
||||
@@ -461,7 +461,7 @@ class sslUtilities:
|
||||
try:
|
||||
command = acmePath + " --issue -d " + virtualHostName + ' --cert-file ' + existingCertPath \
|
||||
+ '/cert.pem' + ' --key-file ' + existingCertPath + '/privkey.pem' \
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt'
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt --dnssleep 20'
|
||||
|
||||
#ResultText = open(logging.CyberCPLogFileWriter.fileName, 'r').read()
|
||||
CurrentMessage = '%s\nTrying to obtain SSL for: %s' % (finalText, virtualHostName)
|
||||
@@ -495,7 +495,7 @@ class sslUtilities:
|
||||
command = acmePath + " --issue -d " + virtualHostName + " -d www." + virtualHostName \
|
||||
+ ' -d ' + aliasDomain + ' -d www.' + aliasDomain\
|
||||
+ ' --cert-file ' + existingCertPath + '/cert.pem' + ' --key-file ' + existingCertPath + '/privkey.pem' \
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt'
|
||||
+ ' --fullchain-file ' + existingCertPath + '/fullchain.pem' + f' --dns {DNS_TO_USE} -k ec-256 --force --server letsencrypt --dnssleep 20'
|
||||
|
||||
output = subprocess.check_output(shlex.split(command)).decode("utf-8")
|
||||
logging.CyberCPLogFileWriter.writeToFile(
|
||||
|
||||
@@ -38,7 +38,7 @@ class Upgrade:
|
||||
UbuntuPath = '/etc/lsb-release'
|
||||
openEulerPath = '/etc/openEuler-release'
|
||||
FromCloud = 0
|
||||
SnappyVersion = '2.25.3'
|
||||
SnappyVersion = '2.28.1'
|
||||
|
||||
AdminACL = '{"adminStatus":1, "versionManagement": 1, "createNewUser": 1, "listUsers": 1, "deleteUser":1 , "resellerCenter": 1, ' \
|
||||
'"changeUserACL": 1, "createWebsite": 1, "modifyWebsite": 1, "suspendWebsite": 1, "deleteWebsite": 1, ' \
|
||||
@@ -513,7 +513,7 @@ $cfg['Servers'][$i]['LogoutURL'] = 'phpmyadminsignin.php?logout';
|
||||
command = f'wget -O /usr/local/CyberCP/snappymail_cyberpanel.php https://raw.githubusercontent.com/the-djmaze/snappymail/master/integrations/cyberpanel/install.php'
|
||||
Upgrade.executioner(command, 'verify certificate', 0)
|
||||
|
||||
command = f'/usr/local/lsws/lsphp74/bin/php /usr/local/CyberCP/snappymail_cyberpanel.php'
|
||||
command = f'/usr/local/lsws/lsphp80/bin/php /usr/local/CyberCP/snappymail_cyberpanel.php'
|
||||
Upgrade.executioner(command, 'verify certificate', 0)
|
||||
|
||||
# labsPath = '/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/application.ini'
|
||||
@@ -2161,6 +2161,21 @@ CREATE TABLE `websiteFunctions_backupsv2` (`id` integer AUTO_INCREMENT NOT NULL
|
||||
if os.path.exists(lscpdPath):
|
||||
os.remove(lscpdPath)
|
||||
|
||||
|
||||
try:
|
||||
result = subprocess.run('uname -a', capture_output=True, text=True, shell=True)
|
||||
|
||||
if result.stdout.find('aarch64') == -1:
|
||||
lscpdSelection = 'lscpd-0.3.1'
|
||||
if os.path.exists(Upgrade.UbuntuPath):
|
||||
result = open(Upgrade.UbuntuPath, 'r').read()
|
||||
if result.find('22.04') > -1:
|
||||
lscpdSelection = 'lscpd.0.4.0'
|
||||
else:
|
||||
lscpdSelection = 'lscpd.aarch64'
|
||||
|
||||
except:
|
||||
|
||||
lscpdSelection = 'lscpd-0.3.1'
|
||||
if os.path.exists(Upgrade.UbuntuPath):
|
||||
result = open(Upgrade.UbuntuPath, 'r').read()
|
||||
@@ -3006,7 +3021,7 @@ vmail
|
||||
except:
|
||||
pass
|
||||
|
||||
command = 'cp /usr/local/lsws/lsphp74/bin/lsphp %s' % (phpPath)
|
||||
command = 'cp /usr/local/lsws/lsphp80/bin/lsphp %s' % (phpPath)
|
||||
Upgrade.executioner(command, 0)
|
||||
|
||||
try:
|
||||
|
||||
@@ -301,6 +301,14 @@ app.controller('createWordpress', function ($scope, $http, $timeout, $compile, $
|
||||
|
||||
$scope.currentStatus = "Starting creation..";
|
||||
|
||||
var apacheBackend = 0;
|
||||
|
||||
if ($scope.apacheBackend === true) {
|
||||
apacheBackend = 1;
|
||||
} else {
|
||||
apacheBackend = 0
|
||||
}
|
||||
|
||||
var package = $scope.packageForWebsite;
|
||||
var websiteOwner = $scope.websiteOwner;
|
||||
var WPtitle = $scope.WPtitle;
|
||||
@@ -361,6 +369,7 @@ app.controller('createWordpress', function ($scope, $http, $timeout, $compile, $
|
||||
package: package,
|
||||
home: home,
|
||||
path: path,
|
||||
apacheBackend: apacheBackend
|
||||
}
|
||||
|
||||
var config = {
|
||||
@@ -530,7 +539,7 @@ function create_staging_checkbox_function() {
|
||||
document.getElementById('Website_Create_Own_Domain').style.display = "block";
|
||||
create_staging_domain_check = 1;
|
||||
}
|
||||
}catch (e) {
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<!-- Current language: {{ LANGUAGE_CODE }} -->
|
||||
|
||||
{% if apachemanager %}
|
||||
<div class="container">
|
||||
<div id="page-title">
|
||||
<h2>{% trans "Apache Manager" %}</h2>
|
||||
@@ -154,7 +155,8 @@
|
||||
|
||||
</div>
|
||||
<!-- Using OpenLiteSpeed -->
|
||||
<p ng-hide="pureOLS" class="card-text">{{ domainName }} is currently using pure OpenLiteSpeed.</p>
|
||||
<p ng-hide="pureOLS" class="card-text">{{ domainName }} is currently using pure
|
||||
OpenLiteSpeed.</p>
|
||||
<div ng-hide="pureOLS" class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group mb-3">
|
||||
@@ -213,6 +215,123 @@
|
||||
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<style>
|
||||
|
||||
h1 {
|
||||
color: #333;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #555;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: #777;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #444;
|
||||
margin: 1%;
|
||||
}
|
||||
|
||||
ol {
|
||||
color: #444;
|
||||
margin: 1%;
|
||||
}
|
||||
</style>
|
||||
<div class="container">
|
||||
<div id="page-title" align="center">
|
||||
<h1><strong>OpenLiteSpeed + Apache as Backend </strong></h1>
|
||||
<h1>Introducing CyberPanel's Revolutionary Hybrid Web Server: OpenLiteSpeed + Apache!</h1>
|
||||
<p>
|
||||
Are you seeking the ultimate web hosting solution that combines blazing-fast performance with
|
||||
unparalleled feature versatility? Look no further! CyberPanel is proud to present its groundbreaking
|
||||
new feature: the OpenLiteSpeed + Apache hybrid web server. This cutting-edge innovation is designed
|
||||
to take your website's performance and functionality to unprecedented heights, offering the best of
|
||||
both worlds in a single, seamless package.
|
||||
</p>
|
||||
|
||||
<h2>Unmatched Speed with OpenLiteSpeed:</h2>
|
||||
<p>
|
||||
Harness the raw power of OpenLiteSpeed, the industry-leading, high-performance web server that
|
||||
ensures lightning-fast response times and unparalleled efficiency. OpenLiteSpeed is renowned for its
|
||||
remarkable performance capabilities, enabling your websites to handle a massive influx of traffic
|
||||
without compromising on speed or reliability. Experience near-instantaneous page loads and swift
|
||||
data transfers, providing an unbeatable user experience that keeps visitors engaged and coming back
|
||||
for more.
|
||||
</p>
|
||||
|
||||
<h2>Unrivaled Features with Apache:</h2>
|
||||
<p>
|
||||
While OpenLiteSpeed excels in speed and efficiency, we understand that Apache is favored by many web
|
||||
developers for its extensive feature set and compatibility. CyberPanel's innovative hybrid approach
|
||||
allows you to harness the full potential of Apache as a backend, granting access to an impressive
|
||||
array of modules, scripts, and configurations. Enjoy the freedom to leverage the vast Apache
|
||||
ecosystem, ensuring seamless integration with a wide range of applications and platforms.
|
||||
</p>
|
||||
|
||||
<h2>The Perfect Fusion:</h2>
|
||||
<p>
|
||||
By merging OpenLiteSpeed and Apache, CyberPanel has created a truly game-changing web server
|
||||
solution that combines the unparalleled speed of OpenLiteSpeed with the feature-rich environment of
|
||||
Apache. The result is a synergistic combination that sets new industry standards, empowering you to
|
||||
elevate your web hosting to unprecedented levels of performance and functionality.
|
||||
</p>
|
||||
|
||||
<h3>Key Features and Benefits:</h3>
|
||||
<ol>
|
||||
<li>Lightning-Fast Performance: Experience unrivaled speed and responsiveness, ensuring your
|
||||
websites load at blazing speeds, delighting visitors and improving search engine rankings.
|
||||
</li>
|
||||
<li>Versatile Feature Set: Harness the extensive features of Apache while benefiting from the speed
|
||||
and efficiency of OpenLiteSpeed, providing unmatched flexibility and compatibility.
|
||||
</li>
|
||||
<li>Enhanced Security: CyberPanel's OpenLiteSpeed + Apache configuration includes robust security
|
||||
measures to safeguard your websites and data against potential threats.
|
||||
</li>
|
||||
<li>Scalability and Stability: Enjoy the ability to handle high traffic loads effortlessly, ensuring
|
||||
your websites remain stable and responsive under any circumstances.
|
||||
</li>
|
||||
<li>Easy Management: CyberPanel's user-friendly interface makes it simple to manage and configure
|
||||
the OpenLiteSpeed + Apache hybrid web server, even for less experienced users.
|
||||
</li>
|
||||
<li>Cost-Effective Solution: Optimize your web hosting infrastructure with CyberPanel's innovative
|
||||
hybrid web server, eliminating the need for costly hardware upgrades while boosting overall
|
||||
performance.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
Unleash the true potential of your websites with CyberPanel's OpenLiteSpeed + Apache hybrid web
|
||||
server. Experience unparalleled speed, efficiency, and versatility in one unified solution. Upgrade
|
||||
your web hosting experience today and revolutionize the way you deliver content to your audience.
|
||||
Embrace the future of web hosting with CyberPanel's groundbreaking innovation!
|
||||
</p>
|
||||
</div>
|
||||
<p align="center">
|
||||
<iframe width="788.54" height="443" src="https://www.youtube.com/embed/ts5wR9G2FsE"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen></iframe>
|
||||
</p>
|
||||
<div style="margin-top: 2%">
|
||||
<stripe-pricing-table pricing-table-id="prctbl_1MQtdYJMfY1fWGMszc4tx78j"
|
||||
publishable-key="pk_live_51ITXBmJMfY1fWGMs2G0LAydJweIDMp2WaYocM0xyzdn03WaHUbMw6uxfVuktAkgpRyUql7tz7gF5OwdccEZLd6Ot00XX6tGoZx">
|
||||
</stripe-pricing-table>
|
||||
<stripe-pricing-table pricing-table-id="prctbl_1LpSqSJMfY1fWGMsxSNhPLsc"
|
||||
publishable-key="pk_live_51ITXBmJMfY1fWGMs2G0LAydJweIDMp2WaYocM0xyzdn03WaHUbMw6uxfVuktAkgpRyUql7tz7gF5OwdccEZLd6Ot00XX6tGoZx">
|
||||
</stripe-pricing-table>
|
||||
<stripe-pricing-table pricing-table-id="prctbl_1M6WpCJMfY1fWGMsQXFlZWcW"
|
||||
publishable-key="pk_live_51ITXBmJMfY1fWGMs2G0LAydJweIDMp2WaYocM0xyzdn03WaHUbMw6uxfVuktAkgpRyUql7tz7gF5OwdccEZLd6Ot00XX6tGoZx">
|
||||
</stripe-pricing-table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -146,6 +146,25 @@
|
||||
class="current-pack">{% trans "Invalid Domain (Note: You don't need to add 'http' or 'https')" %}</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Additional Features" %}</label>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
{% if test_domain_data %}
|
||||
<input ng-model="apacheBackend" type="checkbox" value="">
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8)
|
||||
{% else %}
|
||||
|
||||
<input ng-model="apacheBackend" type="checkbox" value="" disabled>
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8) - <strong><a href="https://go.cyberpanel.net/ApacheRev">Premium Feature</a> <i class="p fa fa-external-link btn-icon"> </i></strong>
|
||||
{% endif %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{# My Work #}
|
||||
{# <div ng-hide="installationDetailsForm" class="form-group">#}
|
||||
|
||||
@@ -174,8 +174,14 @@
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
{% if test_domain_data %}
|
||||
<input ng-model="apacheBackend" type="checkbox" value="">
|
||||
Apache as Reverse Proxy (Beta, for Ubuntu 22 and AlmaLinux 8)
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8)
|
||||
{% else %}
|
||||
|
||||
<input ng-model="apacheBackend" type="checkbox" value="" disabled>
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8) - <strong><a href="https://go.cyberpanel.net/ApacheRev">Premium Feature</a> <i class="p fa fa-external-link btn-icon"> </i></strong>
|
||||
{% endif %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -446,8 +446,10 @@ class WebsiteManager:
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
# php = VirtualHost.getPHPString(self.data['PHPVersion'])
|
||||
# FinalPHPPath = '/usr/local/lsws/lsphp%s/bin/php' % (php)
|
||||
from managePHP.phpManager import PHPManager
|
||||
|
||||
php = PHPManager.getPHPString(WPobj.owner.phpSelection)
|
||||
FinalPHPPath = '/usr/local/lsws/lsphp%s/bin/php' % (php)
|
||||
|
||||
url = "https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission"
|
||||
data = {
|
||||
@@ -465,11 +467,11 @@ class WebsiteManager:
|
||||
|
||||
password = randomPassword.generate_pass(10)
|
||||
|
||||
command = 'sudo -u %s wp user create autologin %s --role=administrator --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (
|
||||
command = f'sudo -u %s {FinalPHPPath} /usr/bin/wp user create autologin %s --role=administrator --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (
|
||||
WPobj.owner.externalApp, 'autologin@cloudpages.cloud', password, WPobj.path)
|
||||
ProcessUtilities.executioner(command)
|
||||
|
||||
command = 'sudo -u %s wp user update autologin --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (
|
||||
command = f'sudo -u %s {FinalPHPPath} /usr/bin/wp user update autologin --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (
|
||||
WPobj.owner.externalApp, password, WPobj.path)
|
||||
ProcessUtilities.executioner(command)
|
||||
|
||||
@@ -2063,6 +2065,7 @@ class WebsiteManager:
|
||||
extraArgs['websiteOwner'] = data['websiteOwner']
|
||||
extraArgs['package'] = data['package']
|
||||
extraArgs['home'] = data['home']
|
||||
extraArgs['apacheBackend'] = data['apacheBackend']
|
||||
try:
|
||||
extraArgs['path'] = data['path']
|
||||
if extraArgs['path'] == '':
|
||||
@@ -2382,6 +2385,9 @@ class WebsiteManager:
|
||||
|
||||
for web in websites:
|
||||
for child in web.childdomains_set.all():
|
||||
if child.domain == f'mail.{web.domain}':
|
||||
pass
|
||||
else:
|
||||
childDomains.append(child)
|
||||
|
||||
pagination = self.getPagination(len(childDomains), recordsToShow)
|
||||
@@ -6442,7 +6448,12 @@ StrictHostKeyChecking no
|
||||
|
||||
phps = PHPManager.findPHPVersions()
|
||||
|
||||
proc = httpProc(request, 'websiteFunctions/ApacheManager.html', {'domainName': self.domain, 'phps': phps})
|
||||
if ACLManager.CheckForPremFeature('all'):
|
||||
apachemanager = 1
|
||||
else:
|
||||
apachemanager = 0
|
||||
|
||||
proc = httpProc(request, 'websiteFunctions/ApacheManager.html', {'domainName': self.domain, 'phps': phps, 'apachemanager':apachemanager})
|
||||
return proc.render()
|
||||
|
||||
def saveApacheConfigsToFile(self, userID=None, data=None):
|
||||
|
||||
Reference in New Issue
Block a user