mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-10 07:16:15 +01:00
v1.7.4
This commit is contained in:
@@ -10,7 +10,7 @@ class secMiddleware:
|
||||
def __call__(self, request):
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
logging.writeToFile(request.body)
|
||||
#logging.writeToFile(request.body)
|
||||
data = json.loads(request.body)
|
||||
for key, value in data.iteritems():
|
||||
if type(value) == str or type(value) == unicode:
|
||||
|
||||
@@ -560,7 +560,6 @@ def changeAdminPassword(request):
|
||||
if numberOfAdministrator == 0:
|
||||
ACLManager.createDefaultACLs()
|
||||
acl = ACL.objects.get(name='admin')
|
||||
|
||||
token = hashPassword.generateToken('admin', '1234567')
|
||||
|
||||
email = 'usman@cyberpersons.com'
|
||||
@@ -568,7 +567,7 @@ def changeAdminPassword(request):
|
||||
firstName="Cyber", lastName="Panel", acl=acl, token=token)
|
||||
admin.save()
|
||||
|
||||
vers = version(currentVersion="1.7", build=3)
|
||||
vers = version(currentVersion="1.7", build=4)
|
||||
vers.save()
|
||||
|
||||
package = Package(admin=admin, packageName="Default", diskSpace=1000,
|
||||
@@ -619,7 +618,6 @@ def changeAdminPassword(request):
|
||||
'error_message': "None"}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
os.remove(randomFile)
|
||||
admin = Administrator.objects.get(userName="admin")
|
||||
admin.password = hashPassword.hash_password(adminPass)
|
||||
@@ -635,9 +633,6 @@ def changeAdminPassword(request):
|
||||
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
|
||||
|
||||
except BaseException, msg:
|
||||
data_ret = {"changed": 0,
|
||||
'error_message': str(msg)}
|
||||
|
||||
@@ -10,7 +10,7 @@ from databases.databaseManager import DatabaseManager
|
||||
from dns.dnsManager import DNSManager
|
||||
from mailServer.mailserverManager import MailServerManager
|
||||
from ftp.ftpManager import FTPManager
|
||||
from manageSSL.views import issueSSL
|
||||
from manageSSL.views import issueSSL, obtainHostNameSSL, obtainMailServerSSL
|
||||
from plogical.backupManager import BackupManager
|
||||
import userManagment.views as um
|
||||
from packages.packagesManager import PackagesManager
|
||||
@@ -732,3 +732,13 @@ class CloudManager:
|
||||
return getLogsFromFile(request)
|
||||
except BaseException, msg:
|
||||
return self.ajaxPre(0, str(msg))
|
||||
|
||||
def serverSSL(self, request):
|
||||
try:
|
||||
request.session['userID'] = self.admin.pk
|
||||
if self.data['type'] == 'hostname':
|
||||
return obtainHostNameSSL(request)
|
||||
else:
|
||||
return obtainMailServerSSL(request)
|
||||
except BaseException, msg:
|
||||
return self.ajaxPre(0, str(msg))
|
||||
|
||||
@@ -159,6 +159,10 @@ def router(request):
|
||||
return cm.deleteRule()
|
||||
elif controller == 'getLogsFromFile':
|
||||
return cm.getLogsFromFile(request)
|
||||
elif controller == 'serverSSL':
|
||||
return cm.serverSSL(request)
|
||||
else:
|
||||
return cm.ajaxPre(0, 'This function is not available in your version of CyberPanel.')
|
||||
|
||||
except BaseException, msg:
|
||||
cm = CloudManager(None)
|
||||
|
||||
@@ -63,7 +63,7 @@ class FTPManager:
|
||||
data = json.loads(self.request.body)
|
||||
userName = data['ftpUserName']
|
||||
password = data['ftpPassword']
|
||||
path = data['path']
|
||||
|
||||
domainName = data['ftpDomain']
|
||||
|
||||
try:
|
||||
@@ -73,10 +73,14 @@ class FTPManager:
|
||||
|
||||
admin = Administrator.objects.get(id=userID)
|
||||
|
||||
try:
|
||||
path = data['path']
|
||||
if len(path) > 0:
|
||||
pass
|
||||
else:
|
||||
path = 'None'
|
||||
except:
|
||||
path = 'None'
|
||||
|
||||
execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/ftpUtilities.py"
|
||||
execPath = execPath + " submitFTPCreation --domainName " + domainName + " --userName " + userName \
|
||||
|
||||
@@ -332,7 +332,7 @@ class InstallCyberPanel:
|
||||
if res != 0:
|
||||
failed = True
|
||||
else:
|
||||
command = 'yum -y install lsphp*'
|
||||
command = 'yum -y groupinstall lsphp-all'
|
||||
cmd = shlex.split(command)
|
||||
res = subprocess.call(cmd)
|
||||
if install.preFlightsChecks.resFailed(self.distro, res):
|
||||
@@ -351,6 +351,48 @@ class InstallCyberPanel:
|
||||
logging.InstallLog.writeToFile("LiteSpeed PHPs successfully installed!")
|
||||
InstallCyberPanel.stdOut("LiteSpeed PHPs successfully installed!")
|
||||
|
||||
## only php 71
|
||||
if self.distro == centos:
|
||||
count = 0
|
||||
while (1):
|
||||
command = 'yum install lsphp71 lsphp71-json lsphp71-xmlrpc lsphp71-xml lsphp71-tidy lsphp71-soap lsphp71-snmp lsphp71-recode lsphp71-pspell lsphp71-process lsphp71-pgsql lsphp71-pear lsphp71-pdo lsphp71-opcache lsphp71-odbc lsphp71-mysqlnd lsphp71-mcrypt lsphp71-mbstring lsphp71-ldap lsphp71-intl lsphp71-imap lsphp71-gmp lsphp71-gd lsphp71-enchant lsphp71-dba lsphp71-common lsphp71-bcmath -y'
|
||||
cmd = shlex.split(command)
|
||||
res = subprocess.call(cmd)
|
||||
if res == 1:
|
||||
count = count + 1
|
||||
InstallCyberPanel.stdOut(
|
||||
"Trying to install LiteSpeed PHP 7.1, trying again, try number: " + str(count))
|
||||
if count == 3:
|
||||
logging.InstallLog.writeToFile(
|
||||
"Failed to install LiteSpeed PHP 7.1, exiting installer! [installAllPHPVersions]")
|
||||
InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
|
||||
os._exit(0)
|
||||
else:
|
||||
logging.InstallLog.writeToFile("LiteSpeed PHP 7.1 successfully installed!")
|
||||
InstallCyberPanel.stdOut("LiteSpeed PHP 7.1 successfully installed!")
|
||||
break
|
||||
|
||||
## only php 72
|
||||
count = 0
|
||||
while (1):
|
||||
command = 'yum install -y lsphp72 lsphp72-json lsphp72-xmlrpc lsphp72-xml lsphp72-tidy lsphp72-soap lsphp72-snmp lsphp72-recode lsphp72-pspell lsphp72-process lsphp72-pgsql lsphp72-pear lsphp72-pdo lsphp72-opcache lsphp72-odbc lsphp72-mysqlnd lsphp72-mcrypt lsphp72-mbstring lsphp72-ldap lsphp72-intl lsphp72-imap lsphp72-gmp lsphp72-gd lsphp72-enchant lsphp72-dba lsphp72-common lsphp72-bcmath'
|
||||
cmd = shlex.split(command)
|
||||
res = subprocess.call(cmd)
|
||||
if res == 1:
|
||||
count = count + 1
|
||||
InstallCyberPanel.stdOut(
|
||||
"Trying to install LiteSpeed PHP 7.1, trying again, try number: " + str(count))
|
||||
if count == 3:
|
||||
logging.InstallLog.writeToFile(
|
||||
"Failed to install LiteSpeed PHP 7.1, exiting installer! [installAllPHPVersions]")
|
||||
InstallCyberPanel.stdOut(
|
||||
"Installation failed, consult: /var/log/installLogs.txt")
|
||||
os._exit(0)
|
||||
else:
|
||||
logging.InstallLog.writeToFile("LiteSpeed PHP 7.1 successfully installed!")
|
||||
InstallCyberPanel.stdOut("LiteSpeed PHP 7.1 successfully installed!")
|
||||
break
|
||||
|
||||
## break for outer loop
|
||||
break
|
||||
|
||||
|
||||
@@ -143,13 +143,10 @@ def loadLoginPage(request):
|
||||
except KeyError:
|
||||
|
||||
numberOfAdministrator = Administrator.objects.count()
|
||||
|
||||
password = hashPassword.hash_password('1234567')
|
||||
|
||||
if numberOfAdministrator == 0:
|
||||
|
||||
ACLManager.createDefaultACLs()
|
||||
|
||||
acl = ACL.objects.get(name='admin')
|
||||
|
||||
token = hashPassword.generateToken('admin', '1234567')
|
||||
@@ -159,7 +156,7 @@ def loadLoginPage(request):
|
||||
firstName="Cyber",lastName="Panel", acl=acl, token=token)
|
||||
admin.save()
|
||||
|
||||
vers = version(currentVersion="1.7",build=3)
|
||||
vers = version(currentVersion="1.7", build=4)
|
||||
vers.save()
|
||||
|
||||
package = Package(admin=admin, packageName="Default", diskSpace=1000,
|
||||
|
||||
@@ -4,7 +4,6 @@ import views
|
||||
urlpatterns = [
|
||||
url(r'^$', views.loadSSLHome, name='loadSSLHome'),
|
||||
|
||||
|
||||
url(r'^manageSSL', views.manageSSL, name='manageSSL'),
|
||||
url(r'^issueSSL', views.issueSSL, name='issueSSL'),
|
||||
|
||||
|
||||
@@ -154,12 +154,12 @@ def obtainHostNameSSL(request):
|
||||
output = subprocess.check_output(shlex.split(execPath))
|
||||
|
||||
if output.find("1,None") > -1:
|
||||
data_ret = {"SSL": 1,
|
||||
data_ret = {"status": 1, "SSL": 1,
|
||||
'error_message': "None"}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
else:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': output}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
@@ -167,12 +167,12 @@ def obtainHostNameSSL(request):
|
||||
## ssl issue ends
|
||||
|
||||
except BaseException,msg:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': str(msg)}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
except KeyError:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': str(msg)}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
@@ -224,12 +224,12 @@ def obtainMailServerSSL(request):
|
||||
output = subprocess.check_output(shlex.split(execPath))
|
||||
|
||||
if output.find("1,None") > -1:
|
||||
data_ret = {"SSL": 1,
|
||||
data_ret = {"status": 1, "SSL": 1,
|
||||
'error_message': "None"}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
else:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': output}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
@@ -238,12 +238,12 @@ def obtainMailServerSSL(request):
|
||||
|
||||
|
||||
except BaseException,msg:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': str(msg)}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
except KeyError,msg:
|
||||
data_ret = {"SSL": 0,
|
||||
data_ret = {"status": 0, "SSL": 0,
|
||||
'error_message': str(msg)}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
@@ -126,7 +126,6 @@ class FTPUtilities:
|
||||
path = path.lstrip("/")
|
||||
|
||||
if path != 'None':
|
||||
|
||||
path = "/home/" + domainName + "/public_html/" + path
|
||||
|
||||
## Security Check
|
||||
|
||||
@@ -313,14 +313,16 @@ milter_default_action = accept
|
||||
def checkHome():
|
||||
try:
|
||||
try:
|
||||
FNULL = open(os.devnull, 'w')
|
||||
|
||||
command = "sudo mkdir " + mailUtilities.cyberPanelHome
|
||||
subprocess.call(shlex.split(command))
|
||||
subprocess.call(shlex.split(command), stdout=FNULL)
|
||||
|
||||
command = "sudo chown -R cyberpanel:cyberpanel " + mailUtilities.cyberPanelHome
|
||||
subprocess.call(shlex.split(command))
|
||||
subprocess.call(shlex.split(command), stdout=FNULL)
|
||||
except:
|
||||
command = "sudo chown -R cyberpanel:cyberpanel " + mailUtilities.cyberPanelHome
|
||||
subprocess.call(shlex.split(command))
|
||||
subprocess.call(shlex.split(command), stdout=FNULL)
|
||||
|
||||
except BaseException,msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [checkHome]")
|
||||
|
||||
@@ -145,16 +145,6 @@ class Upgrade:
|
||||
Upgrade.stdOut(str(msg) + " [setupVirtualEnv]")
|
||||
os._exit(0)
|
||||
|
||||
@staticmethod
|
||||
def upgradeOpenLiteSpeed():
|
||||
try:
|
||||
command = "yum upgrade -y openlitespeed"
|
||||
if Upgrade.executioner(command) == 1:
|
||||
Upgrade.stdOut('OpenLiteSpeed Upgraded.')
|
||||
except OSError, msg:
|
||||
Upgrade.stdOut(str(msg) + " [upgradeOpenLiteSpeed]")
|
||||
os._exit(0)
|
||||
|
||||
@staticmethod
|
||||
def updateGunicornConf():
|
||||
try:
|
||||
@@ -204,7 +194,6 @@ WantedBy=multi-user.target"""
|
||||
def fileManager():
|
||||
## Copy File manager files
|
||||
|
||||
|
||||
command = "rm -rf /usr/local/lsws/Example/html/FileManager"
|
||||
Upgrade.executioner(command)
|
||||
|
||||
@@ -319,6 +308,12 @@ WantedBy=multi-user.target"""
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
command = "echo 'ALTER TABLE loginSystem_administrator ADD token varchar(500);' | python manage.py dbshell"
|
||||
subprocess.call(command, shell=True)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
command = "echo 'ALTER TABLE loginSystem_administrator ADD acl_id integer;' | python manage.py dbshell"
|
||||
subprocess.call(command, shell=True)
|
||||
@@ -448,25 +443,6 @@ WantedBy=multi-user.target"""
|
||||
command = "python manage.py makemigrations emailMarketing"
|
||||
Upgrade.executioner(command)
|
||||
|
||||
data = open('/usr/local/CyberCP/emailMarketing/migrations/0001_initial.py', 'r').readline()
|
||||
writeToFile = open('/usr/local/CyberCP/emailMarketing/migrations/0001_initial.py', 'w')
|
||||
skipCheck = 0
|
||||
|
||||
for items in data:
|
||||
if items.find('dependencies') > -1:
|
||||
skipCheck = 1
|
||||
|
||||
if items.find(']') > -1 and skipCheck == 1:
|
||||
skipCheck = 0
|
||||
continue
|
||||
|
||||
if skipCheck == 0:
|
||||
writeToFile.writelines(items)
|
||||
|
||||
writeToFile.close()
|
||||
|
||||
|
||||
|
||||
command = "python manage.py migrate emailMarketing"
|
||||
Upgrade.executioner(command)
|
||||
except:
|
||||
@@ -498,6 +474,7 @@ WantedBy=multi-user.target"""
|
||||
count = 0
|
||||
while (1):
|
||||
command = "wget https://cyberpanel.net/CyberPanel." + versionNumbring
|
||||
#command = "wget https://cyberpanel.net/CyberPanel.1.7.4.tar.gz"
|
||||
res = subprocess.call(shlex.split(command))
|
||||
|
||||
if res == 1:
|
||||
@@ -526,6 +503,7 @@ WantedBy=multi-user.target"""
|
||||
|
||||
count = 1
|
||||
while (1):
|
||||
#command = "tar zxf CyberPanel.1.7.4.tar.gz"
|
||||
command = "tar zxf CyberPanel." + versionNumbring
|
||||
res = subprocess.call(shlex.split(command))
|
||||
|
||||
@@ -584,10 +562,6 @@ WantedBy=multi-user.target"""
|
||||
## Move static files
|
||||
|
||||
Upgrade.staticContent()
|
||||
|
||||
## Upgrade File Manager
|
||||
|
||||
Upgrade.fileManager()
|
||||
except:
|
||||
pass
|
||||
|
||||
@@ -733,6 +707,35 @@ WantedBy=multi-user.target"""
|
||||
|
||||
return 1
|
||||
|
||||
@staticmethod
|
||||
def fixPermissions():
|
||||
try:
|
||||
|
||||
Upgrade.stdOut("Fixing permissions..")
|
||||
|
||||
command = 'chown -R cyberpanel:cyberpanel /usr/local/CyberCP'
|
||||
cmd = shlex.split(command)
|
||||
res = subprocess.call(cmd)
|
||||
|
||||
command = 'chown -R cyberpanel:cyberpanel /usr/local/lscp'
|
||||
cmd = shlex.split(command)
|
||||
res = subprocess.call(cmd)
|
||||
|
||||
command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel'
|
||||
cmd = shlex.split(command)
|
||||
subprocess.call(cmd)
|
||||
|
||||
Upgrade.stdOut("Permissions updated.")
|
||||
|
||||
except OSError, msg:
|
||||
Upgrade.stdOut(str(msg) + " [fixPermissions]")
|
||||
return 0
|
||||
except ValueError, msg:
|
||||
Upgrade.stdOut(str(msg) + " [fixPermissions]")
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
@staticmethod
|
||||
def upgrade():
|
||||
|
||||
@@ -763,12 +766,8 @@ WantedBy=multi-user.target"""
|
||||
##
|
||||
Upgrade.installPYDNS()
|
||||
Upgrade.downloadAndUpgrade(Version, versionNumbring)
|
||||
|
||||
|
||||
##
|
||||
|
||||
Upgrade.installTLDExtract()
|
||||
|
||||
##
|
||||
|
||||
Upgrade.mailServerMigrations()
|
||||
@@ -784,13 +783,9 @@ WantedBy=multi-user.target"""
|
||||
Upgrade.applyLoginSystemMigrations()
|
||||
Upgrade.enableServices()
|
||||
|
||||
## Upgrade OpenLiteSpeed
|
||||
|
||||
if os.path.exists('/usr/local/lsws/bin/openlitespeed'):
|
||||
Upgrade.upgradeOpenLiteSpeed()
|
||||
|
||||
Upgrade.setupCLI()
|
||||
Upgrade.installLSCPD()
|
||||
Upgrade.fixPermissions()
|
||||
time.sleep(3)
|
||||
|
||||
## Upgrade version
|
||||
@@ -805,6 +800,4 @@ WantedBy=multi-user.target"""
|
||||
|
||||
Upgrade.stdOut("Upgrade Completed.")
|
||||
|
||||
|
||||
|
||||
Upgrade.upgrade()
|
||||
|
||||
Reference in New Issue
Block a user