diff --git a/CyberCP/__init__.pyc b/CyberCP/__init__.pyc index af51c8b93..2571db08e 100644 Binary files a/CyberCP/__init__.pyc and b/CyberCP/__init__.pyc differ diff --git a/CyberCP/settings.py b/CyberCP/settings.py index a3a37f83d..80f210558 100644 --- a/CyberCP/settings.py +++ b/CyberCP/settings.py @@ -102,7 +102,7 @@ DATABASES = { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'cyberpanel', 'USER': 'cyberpanel', - 'PASSWORD': 'MrDaFrXu4RuHpR', + 'PASSWORD': 'jFzZwX3fFyYrCo', 'HOST': '127.0.0.1', 'PORT':'3307' }, @@ -110,7 +110,7 @@ DATABASES = { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysql', 'USER': 'root', - 'PASSWORD': 'Y5kC5yYrNsUbGa', + 'PASSWORD': 'b1w3wHi5x0o8t9', 'HOST': 'localhost', 'PORT': '', } diff --git a/CyberCP/settings.pyc b/CyberCP/settings.pyc index c8136530c..8462dbac1 100644 Binary files a/CyberCP/settings.pyc and b/CyberCP/settings.pyc differ diff --git a/CyberCP/urls.pyc b/CyberCP/urls.pyc index f174506e1..c0222a041 100644 Binary files a/CyberCP/urls.pyc and b/CyberCP/urls.pyc differ diff --git a/CyberCP/wsgi.pyc b/CyberCP/wsgi.pyc index eed77e5c6..cdb9773d1 100644 Binary files a/CyberCP/wsgi.pyc and b/CyberCP/wsgi.pyc differ diff --git a/api/__init__.pyc b/api/__init__.pyc index 3ff257e55..d295767b8 100644 Binary files a/api/__init__.pyc and b/api/__init__.pyc differ diff --git a/api/admin.pyc b/api/admin.pyc index 0afd8b627..c6eaab6f4 100644 Binary files a/api/admin.pyc and b/api/admin.pyc differ diff --git a/api/migrations/__init__.pyc b/api/migrations/__init__.pyc new file mode 100644 index 000000000..4c9e20302 Binary files /dev/null and b/api/migrations/__init__.pyc differ diff --git a/api/models.pyc b/api/models.pyc index 2798c8dab..95e618eab 100644 Binary files a/api/models.pyc and b/api/models.pyc differ diff --git a/api/urls.pyc b/api/urls.pyc new file mode 100644 index 000000000..99cb5e138 Binary files /dev/null and b/api/urls.pyc differ diff --git a/api/views.pyc b/api/views.pyc new file mode 100644 index 000000000..bc318f6d6 Binary files /dev/null and b/api/views.pyc differ diff --git a/backup/__init__.pyc b/backup/__init__.pyc index ae13a0d8d..f7ebdeb10 100644 Binary files a/backup/__init__.pyc and b/backup/__init__.pyc differ diff --git a/backup/admin.pyc b/backup/admin.pyc index 01f929cf1..75b5e34f1 100644 Binary files a/backup/admin.pyc and b/backup/admin.pyc differ diff --git a/backup/backupRouter.pyc b/backup/backupRouter.pyc index 4f5120eb6..9e4391e2a 100644 Binary files a/backup/backupRouter.pyc and b/backup/backupRouter.pyc differ diff --git a/backup/migrations/__init__.pyc b/backup/migrations/__init__.pyc new file mode 100644 index 000000000..668f9ed67 Binary files /dev/null and b/backup/migrations/__init__.pyc differ diff --git a/backup/models.pyc b/backup/models.pyc index e646c0859..e88101322 100644 Binary files a/backup/models.pyc and b/backup/models.pyc differ diff --git a/backup/urls.pyc b/backup/urls.pyc new file mode 100644 index 000000000..fb687ad92 Binary files /dev/null and b/backup/urls.pyc differ diff --git a/backup/views.pyc b/backup/views.pyc new file mode 100644 index 000000000..22a7a9aeb Binary files /dev/null and b/backup/views.pyc differ diff --git a/baseTemplate/__init__.pyc b/baseTemplate/__init__.pyc index 8c0141e4a..552ff2862 100644 Binary files a/baseTemplate/__init__.pyc and b/baseTemplate/__init__.pyc differ diff --git a/baseTemplate/admin.pyc b/baseTemplate/admin.pyc index c856b0e33..096f35428 100644 Binary files a/baseTemplate/admin.pyc and b/baseTemplate/admin.pyc differ diff --git a/baseTemplate/migrations/__init__.pyc b/baseTemplate/migrations/__init__.pyc index b72bcf8a9..1812d5b2c 100644 Binary files a/baseTemplate/migrations/__init__.pyc and b/baseTemplate/migrations/__init__.pyc differ diff --git a/baseTemplate/models.pyc b/baseTemplate/models.pyc index a82ea862c..7fc838c18 100644 Binary files a/baseTemplate/models.pyc and b/baseTemplate/models.pyc differ diff --git a/baseTemplate/urls.pyc b/baseTemplate/urls.pyc index 8f1c5ba65..bab1aefcd 100644 Binary files a/baseTemplate/urls.pyc and b/baseTemplate/urls.pyc differ diff --git a/baseTemplate/views.pyc b/baseTemplate/views.pyc index 091b8987e..6ec3ff923 100644 Binary files a/baseTemplate/views.pyc and b/baseTemplate/views.pyc differ diff --git a/databases/__init__.pyc b/databases/__init__.pyc index fdaed5f75..4c163040c 100644 Binary files a/databases/__init__.pyc and b/databases/__init__.pyc differ diff --git a/databases/admin.pyc b/databases/admin.pyc index f9886bd8f..55bee3bfc 100644 Binary files a/databases/admin.pyc and b/databases/admin.pyc differ diff --git a/databases/migrations/__init__.pyc b/databases/migrations/__init__.pyc new file mode 100644 index 000000000..5e851d72e Binary files /dev/null and b/databases/migrations/__init__.pyc differ diff --git a/databases/models.pyc b/databases/models.pyc index 004fc0ea7..9dbdb578c 100644 Binary files a/databases/models.pyc and b/databases/models.pyc differ diff --git a/databases/urls.pyc b/databases/urls.pyc new file mode 100644 index 000000000..93d4c022d Binary files /dev/null and b/databases/urls.pyc differ diff --git a/databases/views.pyc b/databases/views.pyc new file mode 100644 index 000000000..bd00aef06 Binary files /dev/null and b/databases/views.pyc differ diff --git a/dns/__init__.pyc b/dns/__init__.pyc index 719878377..a107e8132 100644 Binary files a/dns/__init__.pyc and b/dns/__init__.pyc differ diff --git a/dns/admin.pyc b/dns/admin.pyc index 79f3cc63e..ea4ed62eb 100644 Binary files a/dns/admin.pyc and b/dns/admin.pyc differ diff --git a/dns/migrations/__init__.pyc b/dns/migrations/__init__.pyc new file mode 100644 index 000000000..698fa1f2c Binary files /dev/null and b/dns/migrations/__init__.pyc differ diff --git a/dns/models.pyc b/dns/models.pyc index 24b6ff718..2cd0d1084 100644 Binary files a/dns/models.pyc and b/dns/models.pyc differ diff --git a/dns/urls.pyc b/dns/urls.pyc new file mode 100644 index 000000000..e8b2717ab Binary files /dev/null and b/dns/urls.pyc differ diff --git a/dns/views.pyc b/dns/views.pyc new file mode 100644 index 000000000..6f54b4c40 Binary files /dev/null and b/dns/views.pyc differ diff --git a/filemanager/__init__.pyc b/filemanager/__init__.pyc index 6951e53e3..d6db003ca 100644 Binary files a/filemanager/__init__.pyc and b/filemanager/__init__.pyc differ diff --git a/filemanager/admin.pyc b/filemanager/admin.pyc index df5374762..d3021d379 100644 Binary files a/filemanager/admin.pyc and b/filemanager/admin.pyc differ diff --git a/filemanager/migrations/__init__.pyc b/filemanager/migrations/__init__.pyc new file mode 100644 index 000000000..f891df3cf Binary files /dev/null and b/filemanager/migrations/__init__.pyc differ diff --git a/filemanager/models.pyc b/filemanager/models.pyc index 2f5b0f198..0f50e1697 100644 Binary files a/filemanager/models.pyc and b/filemanager/models.pyc differ diff --git a/filemanager/urls.pyc b/filemanager/urls.pyc new file mode 100644 index 000000000..f7fd1bd0f Binary files /dev/null and b/filemanager/urls.pyc differ diff --git a/filemanager/views.pyc b/filemanager/views.pyc new file mode 100644 index 000000000..1656dddbc Binary files /dev/null and b/filemanager/views.pyc differ diff --git a/firewall/__init__.pyc b/firewall/__init__.pyc index e1abefaba..378e2672e 100644 Binary files a/firewall/__init__.pyc and b/firewall/__init__.pyc differ diff --git a/firewall/admin.pyc b/firewall/admin.pyc index 0cde191c3..1f049a0bd 100644 Binary files a/firewall/admin.pyc and b/firewall/admin.pyc differ diff --git a/firewall/migrations/__init__.pyc b/firewall/migrations/__init__.pyc new file mode 100644 index 000000000..02e76ca38 Binary files /dev/null and b/firewall/migrations/__init__.pyc differ diff --git a/firewall/models.pyc b/firewall/models.pyc index 8a31d6931..04ea4b02e 100644 Binary files a/firewall/models.pyc and b/firewall/models.pyc differ diff --git a/firewall/urls.pyc b/firewall/urls.pyc new file mode 100644 index 000000000..4af092017 Binary files /dev/null and b/firewall/urls.pyc differ diff --git a/firewall/views.pyc b/firewall/views.pyc new file mode 100644 index 000000000..427e075fb Binary files /dev/null and b/firewall/views.pyc differ diff --git a/ftp/__init__.pyc b/ftp/__init__.pyc index 11ca99adb..c809dd320 100644 Binary files a/ftp/__init__.pyc and b/ftp/__init__.pyc differ diff --git a/ftp/admin.pyc b/ftp/admin.pyc index f8895fd2b..6e7d7cc72 100644 Binary files a/ftp/admin.pyc and b/ftp/admin.pyc differ diff --git a/ftp/migrations/__init__.pyc b/ftp/migrations/__init__.pyc new file mode 100644 index 000000000..482016b39 Binary files /dev/null and b/ftp/migrations/__init__.pyc differ diff --git a/ftp/models.pyc b/ftp/models.pyc index 238496081..b6810b81d 100644 Binary files a/ftp/models.pyc and b/ftp/models.pyc differ diff --git a/ftp/urls.pyc b/ftp/urls.pyc new file mode 100644 index 000000000..f0d1d1a4b Binary files /dev/null and b/ftp/urls.pyc differ diff --git a/ftp/views.pyc b/ftp/views.pyc new file mode 100644 index 000000000..017b2b09c Binary files /dev/null and b/ftp/views.pyc differ diff --git a/loginSystem/__init__.pyc b/loginSystem/__init__.pyc index b20b4bdb7..ab90442a8 100644 Binary files a/loginSystem/__init__.pyc and b/loginSystem/__init__.pyc differ diff --git a/loginSystem/admin.pyc b/loginSystem/admin.pyc index 4ed575ed2..638cef3c9 100644 Binary files a/loginSystem/admin.pyc and b/loginSystem/admin.pyc differ diff --git a/loginSystem/migrations/0001_initial.pyc b/loginSystem/migrations/0001_initial.pyc index 3802cd37c..c67ea2944 100644 Binary files a/loginSystem/migrations/0001_initial.pyc and b/loginSystem/migrations/0001_initial.pyc differ diff --git a/loginSystem/migrations/__init__.pyc b/loginSystem/migrations/__init__.pyc index cd86fe3d6..b5a1ee709 100644 Binary files a/loginSystem/migrations/__init__.pyc and b/loginSystem/migrations/__init__.pyc differ diff --git a/loginSystem/models.pyc b/loginSystem/models.pyc index f2f57ef91..b99970fb1 100644 Binary files a/loginSystem/models.pyc and b/loginSystem/models.pyc differ diff --git a/loginSystem/urls.pyc b/loginSystem/urls.pyc index 86153fb66..8056e138d 100644 Binary files a/loginSystem/urls.pyc and b/loginSystem/urls.pyc differ diff --git a/loginSystem/views.pyc b/loginSystem/views.pyc index c727803ad..af9461c6d 100644 Binary files a/loginSystem/views.pyc and b/loginSystem/views.pyc differ diff --git a/mailServer/__init__.pyc b/mailServer/__init__.pyc index ab3f6fd4f..b26d87e16 100644 Binary files a/mailServer/__init__.pyc and b/mailServer/__init__.pyc differ diff --git a/mailServer/admin.pyc b/mailServer/admin.pyc index 787b8b1c8..942a2ddac 100644 Binary files a/mailServer/admin.pyc and b/mailServer/admin.pyc differ diff --git a/mailServer/migrations/__init__.pyc b/mailServer/migrations/__init__.pyc new file mode 100644 index 000000000..f3eb34c36 Binary files /dev/null and b/mailServer/migrations/__init__.pyc differ diff --git a/mailServer/models.pyc b/mailServer/models.pyc index ec01e406c..99c6bc6fd 100644 Binary files a/mailServer/models.pyc and b/mailServer/models.pyc differ diff --git a/mailServer/urls.pyc b/mailServer/urls.pyc new file mode 100644 index 000000000..899cf1cf5 Binary files /dev/null and b/mailServer/urls.pyc differ diff --git a/mailServer/views.pyc b/mailServer/views.pyc new file mode 100644 index 000000000..6a2bda211 Binary files /dev/null and b/mailServer/views.pyc differ diff --git a/managePHP/__init__.pyc b/managePHP/__init__.pyc index 3e158160c..bccbfb967 100644 Binary files a/managePHP/__init__.pyc and b/managePHP/__init__.pyc differ diff --git a/managePHP/admin.pyc b/managePHP/admin.pyc index ba998d516..9c8d4a1ab 100644 Binary files a/managePHP/admin.pyc and b/managePHP/admin.pyc differ diff --git a/managePHP/migrations/__init__.pyc b/managePHP/migrations/__init__.pyc new file mode 100644 index 000000000..4bf69cd59 Binary files /dev/null and b/managePHP/migrations/__init__.pyc differ diff --git a/managePHP/models.pyc b/managePHP/models.pyc index 386c6bc2c..530faf72a 100644 Binary files a/managePHP/models.pyc and b/managePHP/models.pyc differ diff --git a/managePHP/urls.pyc b/managePHP/urls.pyc new file mode 100644 index 000000000..f35ed5a1b Binary files /dev/null and b/managePHP/urls.pyc differ diff --git a/managePHP/views.pyc b/managePHP/views.pyc new file mode 100644 index 000000000..a569628d7 Binary files /dev/null and b/managePHP/views.pyc differ diff --git a/manageSSL/__init__.pyc b/manageSSL/__init__.pyc index 384b4cb85..21eaca29f 100644 Binary files a/manageSSL/__init__.pyc and b/manageSSL/__init__.pyc differ diff --git a/manageSSL/admin.pyc b/manageSSL/admin.pyc index 2c184e60d..202b3fc1c 100644 Binary files a/manageSSL/admin.pyc and b/manageSSL/admin.pyc differ diff --git a/manageSSL/migrations/__init__.pyc b/manageSSL/migrations/__init__.pyc new file mode 100644 index 000000000..12eee2e88 Binary files /dev/null and b/manageSSL/migrations/__init__.pyc differ diff --git a/manageSSL/models.pyc b/manageSSL/models.pyc index be85b39fa..d208484fe 100644 Binary files a/manageSSL/models.pyc and b/manageSSL/models.pyc differ diff --git a/manageSSL/urls.pyc b/manageSSL/urls.pyc new file mode 100644 index 000000000..32a689055 Binary files /dev/null and b/manageSSL/urls.pyc differ diff --git a/manageSSL/views.pyc b/manageSSL/views.pyc new file mode 100644 index 000000000..727631353 Binary files /dev/null and b/manageSSL/views.pyc differ diff --git a/packages/__init__.pyc b/packages/__init__.pyc index fd0ba8a30..1eb701180 100644 Binary files a/packages/__init__.pyc and b/packages/__init__.pyc differ diff --git a/packages/admin.pyc b/packages/admin.pyc index a7da2bf1a..1f940dc71 100644 Binary files a/packages/admin.pyc and b/packages/admin.pyc differ diff --git a/packages/migrations/0001_initial.pyc b/packages/migrations/0001_initial.pyc index 18c7fc91c..4f7fbca7c 100644 Binary files a/packages/migrations/0001_initial.pyc and b/packages/migrations/0001_initial.pyc differ diff --git a/packages/migrations/__init__.pyc b/packages/migrations/__init__.pyc index d6cf8dbbe..c369aa4bf 100644 Binary files a/packages/migrations/__init__.pyc and b/packages/migrations/__init__.pyc differ diff --git a/packages/models.pyc b/packages/models.pyc index 6d468e235..b0a5b0e46 100644 Binary files a/packages/models.pyc and b/packages/models.pyc differ diff --git a/packages/urls.pyc b/packages/urls.pyc index 5a885f55b..1384b0489 100644 Binary files a/packages/urls.pyc and b/packages/urls.pyc differ diff --git a/packages/views.pyc b/packages/views.pyc index 2db8927b4..2d2208a87 100644 Binary files a/packages/views.pyc and b/packages/views.pyc differ diff --git a/plogical/CyberCPLogFileWriter.pyc b/plogical/CyberCPLogFileWriter.pyc index 2302eafa3..c5984f202 100644 Binary files a/plogical/CyberCPLogFileWriter.pyc and b/plogical/CyberCPLogFileWriter.pyc differ diff --git a/plogical/__init__.pyc b/plogical/__init__.pyc index 7cc99fccc..dec0bc6d2 100644 Binary files a/plogical/__init__.pyc and b/plogical/__init__.pyc differ diff --git a/plogical/backupUtilities.pyc b/plogical/backupUtilities.pyc new file mode 100644 index 000000000..dbe57d8bd Binary files /dev/null and b/plogical/backupUtilities.pyc differ diff --git a/plogical/dnsUtilities.pyc b/plogical/dnsUtilities.pyc new file mode 100644 index 000000000..e23d8ac48 Binary files /dev/null and b/plogical/dnsUtilities.pyc differ diff --git a/plogical/firewallUtilities.pyc b/plogical/firewallUtilities.pyc new file mode 100644 index 000000000..49e8fc4eb Binary files /dev/null and b/plogical/firewallUtilities.pyc differ diff --git a/plogical/getSystemInformation.pyc b/plogical/getSystemInformation.pyc index 866e793e8..68e556a41 100644 Binary files a/plogical/getSystemInformation.pyc and b/plogical/getSystemInformation.pyc differ diff --git a/plogical/hashPassword.pyc b/plogical/hashPassword.pyc index e3543222b..d4bdf751d 100644 Binary files a/plogical/hashPassword.pyc and b/plogical/hashPassword.pyc differ diff --git a/plogical/installUtilities.pyc b/plogical/installUtilities.pyc index 68126f6d3..af8e3b5aa 100644 Binary files a/plogical/installUtilities.pyc and b/plogical/installUtilities.pyc differ diff --git a/plogical/mysqlUtilities.pyc b/plogical/mysqlUtilities.pyc new file mode 100644 index 000000000..42df0f4ae Binary files /dev/null and b/plogical/mysqlUtilities.pyc differ diff --git a/plogical/phpUtilities.pyc b/plogical/phpUtilities.pyc new file mode 100644 index 000000000..0aaa4ef33 Binary files /dev/null and b/plogical/phpUtilities.pyc differ diff --git a/plogical/processUtilities.pyc b/plogical/processUtilities.pyc new file mode 100644 index 000000000..e2ae36465 Binary files /dev/null and b/plogical/processUtilities.pyc differ diff --git a/plogical/randomPassword.pyc b/plogical/randomPassword.pyc new file mode 100644 index 000000000..d889e0881 Binary files /dev/null and b/plogical/randomPassword.pyc differ diff --git a/plogical/sslUtilities.pyc b/plogical/sslUtilities.pyc index 69c006071..1c0c28c56 100644 Binary files a/plogical/sslUtilities.pyc and b/plogical/sslUtilities.pyc differ diff --git a/plogical/tuning.pyc b/plogical/tuning.pyc index c95d6823d..f95a6bd3a 100644 Binary files a/plogical/tuning.pyc and b/plogical/tuning.pyc differ diff --git a/plogical/virtualHostUtilities.py b/plogical/virtualHostUtilities.py index 92a96d220..22a9be385 100644 --- a/plogical/virtualHostUtilities.py +++ b/plogical/virtualHostUtilities.py @@ -10,6 +10,7 @@ import sslUtilities from os.path import join from os import listdir, rmdir from shutil import move +import randomPassword as randomPassword class virtualHostUtilities: @@ -1256,6 +1257,164 @@ def installWordPress(domainName,finalPath,virtualHostUser,dbName,dbUser,dbPasswo print "0," + str(msg) return + +def installJoomla(domainName,finalPath,virtualHostUser,dbName,dbUser,dbPassword,username,password,prefix,sitename): + + try: + FNULL = open(os.devnull, 'w') + + if not os.path.exists(finalPath): + os.makedirs(finalPath) + + if not os.listdir(finalPath): + pass + else: + print "0,Target directory should be empty before installation, otherwise data loss could occur." + return + + ## Get Joomla + + os.chdir(finalPath) + if not os.path.exists("staging.zip"): + command = 'wget --no-check-certificate https://github.com/joomla/joomla-cms/archive/staging.zip -P ' + finalPath + cmd = shlex.split(command) + res = subprocess.call(cmd,stdout=FNULL, stderr=subprocess.STDOUT) + else: + print "0,File already exists" + return + + command = 'unzip '+finalPath+'staging.zip -d ' + finalPath + + cmd = shlex.split(command) + + res = subprocess.call(cmd,stdout=FNULL, stderr=subprocess.STDOUT) + + os.remove(finalPath+'staging.zip') + + command = 'cp -r '+finalPath+'joomla-cms-staging/. ' + finalPath + cmd = shlex.split(command) + res = subprocess.call(cmd,stdout=FNULL, stderr=subprocess.STDOUT) + + shutil.rmtree(finalPath + "joomla-cms-staging") + os.rename(finalPath+"installation/configuration.php-dist", finalPath+"configuration.php") + os.rename(finalPath+"robots.txt.dist", finalPath+"robots.txt") + os.rename(finalPath+"htaccess.txt", finalPath+".htaccess") + + ## edit config file + + configfile = finalPath + "configuration.php" + + data = open(configfile, "r").readlines() + + writeDataToFile = open(configfile, "w") + + secret = randomPassword.generate_pass() + + defDBName = " public $user = '"+dbName+"';" + "\n" + defDBUser = " public $db = '"+dbUser+"';" + "\n" + defDBPassword = " public $password = '"+dbPassword+"';" + "\n" + secretKey = " public $secret = '"+secret+"';" + "\n" + logPath = " public $log_path = '"+finalPath+"administrator/logs';" + "\n" + tmpPath = " public $tmp_path = '"+finalPath+"administrator/tmp';" + "\n" + dbprefix = " public $dbprefix = '"+prefix+"';" + "\n" + sitename = " public $sitename = '"+sitename+"';" + "\n" + + for items in data: + if items.find("public $user ") > -1: + writeDataToFile.writelines(defDBUser) + elif items.find("public $password ") > -1: + writeDataToFile.writelines(defDBPassword) + elif items.find("public $db ") > -1: + writeDataToFile.writelines(defDBName) + elif items.find("public $log_path ") > -1: + writeDataToFile.writelines(logPath) + elif items.find("public $tmp_path ") > -1: + writeDataToFile.writelines(tmpPath) + elif items.find("public $secret ") > -1: + writeDataToFile.writelines(secretKey) + elif items.find("public $dbprefix ") > -1: + writeDataToFile.writelines(dbprefix) + elif items.find("public $sitename ") > -1: + writeDataToFile.writelines(sitename) + elif items.find("/*") > -1: + pass + elif items.find(" *") > -1: + pass + else: + writeDataToFile.writelines(items) + + writeDataToFile.close() + + #Rename SQL db prefix + + f1 = open(finalPath+'installation/sql/mysql/joomla.sql', 'r') + f2 = open('installation/sql/mysql/joomlaInstall.sql', 'w') + for line in f1: + f2.write(line.replace('#__', prefix)) + f1.close() + f2.close() + + #Restore SQL + proc = subprocess.Popen(["mysql", "--user=%s" % dbUser, "--password=%s" % dbPassword, dbName],stdin=subprocess.PIPE,stdout=subprocess.PIPE) + + usercreation = """INSERT INTO `%susers` + (`name`, `username`, `password`, `params`) + VALUES ('Administrator', '%s', + '%s', ''); + INSERT INTO `%suser_usergroup_map` (`user_id`,`group_id`) + VALUES (LAST_INSERT_ID(),'8');""" % (prefix, username, password, prefix) + + out, err = proc.communicate(file(finalPath + 'installation/sql/mysql/joomlaInstall.sql').read() + "\n" + usercreation) + + shutil.rmtree(finalPath + "installation") + + htaccessCache = """ + +RewriteEngine on +CacheLookup on +CacheDisable public / +RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ +RewriteCond %{ORG_REQ_URI} !/administrator +RewriteRule .* - [E=cache-control:max-age=120] + + """ + + f=open(finalPath + '.htaccess', "a+") + f.write(htaccessCache) + f.close() + + command = "chown -R "+virtualHostUser+":"+virtualHostUser+" " + "/home/" + domainName + "/public_html/" + + cmd = shlex.split(command) + + res = subprocess.call(cmd,stdout=FNULL, stderr=subprocess.STDOUT) + + virtualHostUtilities.addRewriteRules(domainName) + + installUtilities.installUtilities.reStartLiteSpeed() + + print "1,None" + + + except BaseException, msg: + # remove the downloaded files + try: + shutil.rmtree(finalPath) + except: + logging.CyberCPLogFileWriter.writeToFile("shutil.rmtree(finalPath)") + + homeDir = "/home/" + domainName + "/public_html" + + if not os.path.exists(homeDir): + FNULL = open(os.devnull, 'w') + os.mkdir(homeDir) + command = "chown -R "+virtualHostUser+":"+virtualHostUser+" " + homeDir + cmd = shlex.split(command) + res = subprocess.call(cmd,stdout=FNULL, stderr=subprocess.STDOUT) + + print "0," + str(msg) + return + def issueSSLForHostName(virtualHost,path): try: @@ -1432,7 +1591,11 @@ def main(): parser.add_argument('--bandwidth', help='Pack Bandwidth!') - + ## extras + parser.add_argument('--username', help='Admin Username!') + parser.add_argument('--password', help='Admin Password!') + parser.add_argument('--prefix', help='Database Prefix!') + parser.add_argument('--sitename', help='Site Name!') args = parser.parse_args() @@ -1458,6 +1621,8 @@ def main(): saveSSL(args.virtualHostName,args.path,args.tempKeyPath,args.tempCertPath,args.sslCheck) elif args.function == "installWordPress": installWordPress(args.virtualHostName,args.path,args.virtualHostUser,args.dbName,args.dbUser,args.dbPassword) + elif args.function == "installJoomla": + installJoomla(args.virtualHostName,args.path,args.virtualHostUser,args.dbName,args.dbUser,args.dbPassword,args.username,args.password,args.prefix,args.sitename) elif args.function == "issueSSLForHostName": issueSSLForHostName(args.virtualHostName,args.path) elif args.function == "findDomainBW": diff --git a/plogical/virtualHostUtilities.pyc b/plogical/virtualHostUtilities.pyc index 3c4864e1e..8c7559fdc 100644 Binary files a/plogical/virtualHostUtilities.pyc and b/plogical/virtualHostUtilities.pyc differ diff --git a/serverLogs/__init__.pyc b/serverLogs/__init__.pyc index ee5c4893b..72b63b0ae 100644 Binary files a/serverLogs/__init__.pyc and b/serverLogs/__init__.pyc differ diff --git a/serverLogs/admin.pyc b/serverLogs/admin.pyc index 4fd45f509..e769b61e1 100644 Binary files a/serverLogs/admin.pyc and b/serverLogs/admin.pyc differ diff --git a/serverLogs/migrations/__init__.pyc b/serverLogs/migrations/__init__.pyc new file mode 100644 index 000000000..8721b43c2 Binary files /dev/null and b/serverLogs/migrations/__init__.pyc differ diff --git a/serverLogs/models.pyc b/serverLogs/models.pyc index c6f1ffd03..bc8257b6c 100644 Binary files a/serverLogs/models.pyc and b/serverLogs/models.pyc differ diff --git a/serverLogs/urls.pyc b/serverLogs/urls.pyc new file mode 100644 index 000000000..7167ff0c8 Binary files /dev/null and b/serverLogs/urls.pyc differ diff --git a/serverLogs/views.pyc b/serverLogs/views.pyc new file mode 100644 index 000000000..943c0fd5a Binary files /dev/null and b/serverLogs/views.pyc differ diff --git a/serverStatus/__init__.pyc b/serverStatus/__init__.pyc index ae0dbf3fc..384f2927a 100644 Binary files a/serverStatus/__init__.pyc and b/serverStatus/__init__.pyc differ diff --git a/serverStatus/admin.pyc b/serverStatus/admin.pyc index 1c1ef80f3..f001a5096 100644 Binary files a/serverStatus/admin.pyc and b/serverStatus/admin.pyc differ diff --git a/serverStatus/migrations/__init__.pyc b/serverStatus/migrations/__init__.pyc new file mode 100644 index 000000000..dc2fe1626 Binary files /dev/null and b/serverStatus/migrations/__init__.pyc differ diff --git a/serverStatus/models.pyc b/serverStatus/models.pyc index 46accbfa0..abd92c753 100644 Binary files a/serverStatus/models.pyc and b/serverStatus/models.pyc differ diff --git a/serverStatus/urls.pyc b/serverStatus/urls.pyc new file mode 100644 index 000000000..17fd13b11 Binary files /dev/null and b/serverStatus/urls.pyc differ diff --git a/serverStatus/views.pyc b/serverStatus/views.pyc new file mode 100644 index 000000000..2e55a2511 Binary files /dev/null and b/serverStatus/views.pyc differ diff --git a/tuning/__init__.pyc b/tuning/__init__.pyc index 9527458f0..9b0897c06 100644 Binary files a/tuning/__init__.pyc and b/tuning/__init__.pyc differ diff --git a/tuning/admin.pyc b/tuning/admin.pyc index f7e3f449d..3b7c90a12 100644 Binary files a/tuning/admin.pyc and b/tuning/admin.pyc differ diff --git a/tuning/migrations/__init__.pyc b/tuning/migrations/__init__.pyc new file mode 100644 index 000000000..34fcfc8dd Binary files /dev/null and b/tuning/migrations/__init__.pyc differ diff --git a/tuning/models.pyc b/tuning/models.pyc index c5d9735b3..2cc226702 100644 Binary files a/tuning/models.pyc and b/tuning/models.pyc differ diff --git a/tuning/urls.pyc b/tuning/urls.pyc new file mode 100644 index 000000000..32ec086e9 Binary files /dev/null and b/tuning/urls.pyc differ diff --git a/tuning/views.pyc b/tuning/views.pyc new file mode 100644 index 000000000..ea2d82dcf Binary files /dev/null and b/tuning/views.pyc differ diff --git a/userManagment/__init__.pyc b/userManagment/__init__.pyc index 2b6376eea..44fb1ac61 100644 Binary files a/userManagment/__init__.pyc and b/userManagment/__init__.pyc differ diff --git a/userManagment/admin.pyc b/userManagment/admin.pyc index 9a1d5ab90..26155ab20 100644 Binary files a/userManagment/admin.pyc and b/userManagment/admin.pyc differ diff --git a/userManagment/migrations/__init__.pyc b/userManagment/migrations/__init__.pyc new file mode 100644 index 000000000..1dcc82500 Binary files /dev/null and b/userManagment/migrations/__init__.pyc differ diff --git a/userManagment/models.pyc b/userManagment/models.pyc index 13e5b4f31..a097fe4d5 100644 Binary files a/userManagment/models.pyc and b/userManagment/models.pyc differ diff --git a/userManagment/urls.pyc b/userManagment/urls.pyc new file mode 100644 index 000000000..ec2495aaf Binary files /dev/null and b/userManagment/urls.pyc differ diff --git a/userManagment/views.pyc b/userManagment/views.pyc new file mode 100644 index 000000000..0d8fbf126 Binary files /dev/null and b/userManagment/views.pyc differ diff --git a/websiteFunctions/__init__.pyc b/websiteFunctions/__init__.pyc index 1808d6bcd..10023f6af 100644 Binary files a/websiteFunctions/__init__.pyc and b/websiteFunctions/__init__.pyc differ diff --git a/websiteFunctions/admin.pyc b/websiteFunctions/admin.pyc index ff4f92e32..842c0f378 100644 Binary files a/websiteFunctions/admin.pyc and b/websiteFunctions/admin.pyc differ diff --git a/websiteFunctions/migrations/0001_initial.pyc b/websiteFunctions/migrations/0001_initial.pyc index 68dec91f9..c286cf43f 100644 Binary files a/websiteFunctions/migrations/0001_initial.pyc and b/websiteFunctions/migrations/0001_initial.pyc differ diff --git a/websiteFunctions/migrations/__init__.pyc b/websiteFunctions/migrations/__init__.pyc index e07738716..2b56a4eb8 100644 Binary files a/websiteFunctions/migrations/__init__.pyc and b/websiteFunctions/migrations/__init__.pyc differ diff --git a/websiteFunctions/models.pyc b/websiteFunctions/models.pyc index adb24a2bb..ab96a5e0a 100644 Binary files a/websiteFunctions/models.pyc and b/websiteFunctions/models.pyc differ diff --git a/websiteFunctions/static/websiteFunctions/websiteFunctions.js b/websiteFunctions/static/websiteFunctions/websiteFunctions.js index e2c8474a7..1446b50c5 100644 --- a/websiteFunctions/static/websiteFunctions/websiteFunctions.js +++ b/websiteFunctions/static/websiteFunctions/websiteFunctions.js @@ -1129,6 +1129,7 @@ app.controller('websitePages', function($scope,$http) { //////// Application Installation part $scope.installationDetailsForm = true; + $scope.installationDetailsFormJoomla = true; $scope.applicationInstallerLoading = true; $scope.installationFailed = true; $scope.installationSuccessfull = true; @@ -1138,8 +1139,15 @@ app.controller('websitePages', function($scope,$http) { $scope.installationDetails = function(){ - $scope.installationDetailsForm = false; + $scope.installationDetailsForm = !$scope.installationDetailsForm; + $scope.installationDetailsFormJoomla = true; + } + + $scope.installationDetailsJoomla = function(){ + + $scope.installationDetailsFormJoomla = !$scope.installationDetailsFormJoomla; + $scope.installationDetailsForm = true; } @@ -1224,6 +1232,95 @@ app.controller('websitePages', function($scope,$http) { }; + $scope.installJoomla = function(){ + + + $scope.installationDetailsFormJoomla = false; + $scope.applicationInstallerLoading = false; + $scope.installationFailed = true; + $scope.installationSuccessfull = true; + $scope.couldNotConnect = true; + + var domain = $("#domainNamePage").text(); + var path = $scope.installPath; + var sitename = $scope.sitename + var username = $scope.username + var password = $scope.password + var prefix = $scope.prefix + + + url = "/websites/installJoomla"; + + var home = "1"; + + if (typeof path != 'undefined'){ + home = "0"; + } + + + var data = { + domain: domain, + home:home, + path:path, + sitename:sitename, + username:username, + password:password, + prefix:prefix, + }; + + var config = { + headers : { + 'X-CSRFToken': getCookie('csrftoken') + } + }; + + $http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas); + + + function ListInitialDatas(response) { + + if (response.data.installStatus == 1) + { + if (typeof path != 'undefined'){ + $scope.installationURL = "http://"+domain+"/"+path; + } + else{ + $scope.installationURL = domain; + } + + $scope.installationDetailsFormJoomla = false; + $scope.applicationInstallerLoading = true; + $scope.installationFailed = true; + $scope.installationSuccessfull = false; + $scope.couldNotConnect = true; + + } + else{ + + $scope.installationDetailsFormJoomla = false; + $scope.applicationInstallerLoading = true; + $scope.installationFailed = false; + $scope.installationSuccessfull = true; + $scope.couldNotConnect = true; + + $scope.errorMessage = response.data.error_message; + + } + + + } + function cantLoadInitialDatas(response) { + + $scope.installationDetailsFormJoomla = false; + $scope.applicationInstallerLoading = true; + $scope.installationFailed = true; + $scope.installationSuccessfull = true; + $scope.couldNotConnect = false; + + } + + }; + diff --git a/websiteFunctions/templates/websiteFunctions/website.html b/websiteFunctions/templates/websiteFunctions/website.html index 5a9432e84..003e2595c 100644 --- a/websiteFunctions/templates/websiteFunctions/website.html +++ b/websiteFunctions/templates/websiteFunctions/website.html @@ -624,7 +624,7 @@ - +
@@ -752,6 +752,17 @@
+
+ +
+ {% trans "Joomla" %} +
+
+ +
+
+
+
@@ -797,24 +808,88 @@
- - - - - - - - - - - - - - - + + + + +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ + + +
+ +
+
+

{% trans "Installation failed. Error message:" %} {$ errorMessage $}

+
+ +
+

{% trans "Installation successful. To complete the setup visit:" %} {$ installationURL $}

+
+ + + +
+

{% trans "Could not connect to server. Please refresh this page." %}

+
+
+ + + +
+
+
+ + + diff --git a/websiteFunctions/urls.py b/websiteFunctions/urls.py index 9430bb666..f145c449e 100644 --- a/websiteFunctions/urls.py +++ b/websiteFunctions/urls.py @@ -31,7 +31,8 @@ urlpatterns = [ url(r'^installWordpress', views.installWordpress, name='installWordpress'), - + url(r'^installJoomla', views.installJoomla, name='installJoomla'), + url(r'^getDataFromConfigFile', views.getDataFromConfigFile, name='getDataFromConfigFile'), url(r'^saveConfigsToFile', views.saveConfigsToFile, name='saveConfigsToFile'), diff --git a/websiteFunctions/urls.pyc b/websiteFunctions/urls.pyc index 1c40844b9..3f3ffd8a3 100644 Binary files a/websiteFunctions/urls.pyc and b/websiteFunctions/urls.pyc differ diff --git a/websiteFunctions/views.py b/websiteFunctions/views.py index ef04aca3d..cc04d2197 100644 --- a/websiteFunctions/views.py +++ b/websiteFunctions/views.py @@ -22,6 +22,7 @@ from dns.models import Domains,Records import requests import re from random import randint +import hashlib # Create your views here. @@ -1191,6 +1192,110 @@ def installWordpress(request): logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[installWordpress]") return HttpResponse("Not Logged in as admin") +def installJoomla(request): + try: + val = request.session['userID'] + + if request.method == 'POST': + try: + data = json.loads(request.body) + domainName = data['domain'] + home = data['home'] + + sitename = data['sitename'] + username = data['username'] + password = data['password'] + prefix = data['prefix'] + + finalPath = "" + + if home == '0': + path = data['path'] + finalPath = "/home/" + domainName + "/public_html/" + path + "/" + else: + finalPath = "/home/" + domainName + "/public_html/" + + try: + website = ChildDomains.objects.get(domain=domainName) + externalApp = website.master.externalApp + except: + website = Websites.objects.get(domain=domainName) + externalApp = website.externalApp + + + ## DB Creation + + dbName = randomPassword.generate_pass() + dbUser = dbName + dbPassword = randomPassword.generate_pass() + + + ## DB Creation + + if website.package.dataBases > website.databases_set.all().count(): + pass + else: + data_ret = {'installStatus': 0, 'error_message': "0,Maximum database limit reached for this website."} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + + if Databases.objects.filter(dbName=dbName).exists() or Databases.objects.filter( + dbUser=dbUser).exists(): + + data_ret = {'installStatus': 0, + 'error_message': "0,This database or user is already taken."} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + + + result = mysqlUtilities.createDatabase(dbName, dbUser, dbPassword) + + if result == 1: + pass + else: + data_ret = {'installStatus': 0, + 'error_message': "0,Not able to create database."} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + + db = Databases(website=website, dbName=dbName, dbUser=dbUser) + db.save() + + ## Installation + salt = randomPassword.generate_pass(32) + #return salt + password_hash = hashlib.md5(password + salt).hexdigest() + password = password_hash + ":" + salt + + + execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" + + execPath = execPath + " installJoomla --virtualHostName " + domainName + " --virtualHostUser " + externalApp + " --path " + finalPath + " --dbName " + dbName + " --dbUser " + dbUser + " --dbPassword " + dbPassword + " --username " + username + " --password " + password +" --prefix " + prefix +" --sitename '" + sitename + "'" + + #return execPath + + + output = subprocess.check_output(shlex.split(execPath)) + + if output.find("1,None") > -1: + data_ret = {"installStatus": 1} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + else: + data_ret = {'installStatus': 0, 'error_message': output} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + ## Installation ends + + except BaseException, msg: + data_ret = {'installStatus': 0, 'error_message': str(msg)} + json_data = json.dumps(data_ret) + return HttpResponse(json_data) + + except KeyError, msg: + status = {"installStatus":0,"error":str(msg)} + logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[installWordpress]") + return HttpResponse("Not Logged in as admin") def getDataFromConfigFile(request): diff --git a/websiteFunctions/views.pyc b/websiteFunctions/views.pyc index c9dddef3d..5f033005f 100644 Binary files a/websiteFunctions/views.pyc and b/websiteFunctions/views.pyc differ