Bug fixes and improvements to Backups and Website creation.

This commit is contained in:
usmannasir
2018-05-24 18:01:06 +05:00
parent 9de6aa393d
commit 528f8360a6
4 changed files with 54 additions and 106 deletions

View File

@@ -286,7 +286,8 @@ class backupUtilities:
{'masterDomain': masterDomain, 'domainName': domain, 'phpSelection': phpSelection,
'path': path,
'ssl': 0, 'restore': 1,
'dkimCheck': 0})
'dkimCheck': 0,
'openBasedir':0})
r = requests.post("http://localhost:5003/websites/submitDomainCreation", data=finalData,
verify=False)

View File

@@ -555,7 +555,7 @@ class virtualHostUtilities:
## OpenBase Dir Protection
phpIniOverride = "phpIniOverride {\n"
php_admin_value = 'php_admin_value open_basedir "/tmp:' + path + '"\n'
php_admin_value = 'php_admin_value open_basedir "/tmp:$VH_ROOT"\n'
endPHPIniOverride = "}\n"
if openBasedir == 1:
@@ -1715,7 +1715,6 @@ def issueSSLForMailServer(virtualHost,path):
str(msg) + " [issueSSLForHostName]")
print "0,"+str(msg)
def createAlias(masterDomain,aliasDomain,ssl,sslPath, administratorEmail):
try:
@@ -2001,6 +2000,7 @@ def main():
openBasedir = 0
createVirtualHost(args.virtualHostName, args.administratorEmail, args.phpVersion, args.virtualHostUser, int(args.numberOfSites), int(args.ssl), args.sslPath, dkimCheck, openBasedir)
elif args.function == "deleteVirtualHostConfigurations":
virtualHostUtilities.deleteVirtualHostConfigurations(args.virtualHostName,int(args.numberOfSites))
elif args.function == "createDomain":

View File

@@ -109,7 +109,6 @@
</div>
<div class="example-box-wrapper">
<div style="border-radius: 25px;border-color:#3498db" class="content-box">

View File

@@ -38,7 +38,6 @@ def loadWebsitesHome(request):
except KeyError:
return redirect(loadLoginPage)
def createWebsite(request):
try:
val = request.session['userID']
@@ -80,7 +79,6 @@ def createWebsite(request):
except KeyError:
return redirect(loadLoginPage)
def modifyWebsite(request):
try:
val = request.session['userID']
@@ -126,7 +124,6 @@ def modifyWebsite(request):
except KeyError:
return redirect(loadLoginPage)
def deleteWebsite(request):
try:
val = request.session['userID']
@@ -172,8 +169,7 @@ def deleteWebsite(request):
except KeyError:
return redirect(loadLoginPage)
def dnsTemplate(request, domain, admin, dkimCheck):
def dnsTemplate(request, domain, admin):
try:
ipFile = "/etc/cyberpanel/machineIP"
@@ -309,7 +305,6 @@ def dnsTemplate(request, domain, admin, dkimCheck):
auth=1)
record.save()
else:
if Domains.objects.filter(name=topLevelDomain).count() == 0:
zone = Domains(admin=admin, name=topLevelDomain, type="NATIVE")
@@ -462,7 +457,6 @@ def createDKIMRecords(request, domain, admin):
logging.CyberCPLogFileWriter.writeToFile(
"We had errors while creating DNS records for: " + domain + ". Error message: " + str(msg))
def siteState(request):
try:
val = request.session['userID']
@@ -516,23 +510,19 @@ def submitWebsiteCreation(request):
websiteOwner = data['websiteOwner']
externalApp = "".join(re.findall("[a-zA-Z]+", domain))[:7]
try:
website = Websites.objects.get(domain=domain)
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Website Already Exists"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except:
pass
try:
website = ChildDomains.objects.get(domain=domain)
if Websites.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Website Already Exists"}
'error_message': "This website already exists."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
if ChildDomains.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "This website already exists as child domain."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except:
pass
####### Limitations check
@@ -540,42 +530,18 @@ def submitWebsiteCreation(request):
if admin.type == 1:
pass
elif admin.type == 3:
if admin.initWebsitesLimit == 0:
pass
elif admin.websites_set.all().count() == admin.initWebsitesLimit:
else:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Selected owner have reached maximum websites limit"}
'error_message': "Only administrators are allowed to create websites."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
pass
else:
initialLimit = admin.initWebsitesLimit
try:
subaccounts = Administrator.objects.filter(owner=admin.pk)
for items in subaccounts:
initialLimit = initialLimit - items.initWebsitesLimit
except:
pass
if admin.initWebsitesLimit == 0:
pass
elif admin.websites_set.all().count() == initialLimit:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Selected owner have reached maximum websites limit"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
else:
pass
####### Limitations Check End
##### Zone creation
dnsTemplate(requests, domain, admin, data['dkimCheck'])
dnsTemplate(requests, domain, admin)
## zone creation
@@ -604,7 +570,7 @@ def submitWebsiteCreation(request):
## DKIM Check
if data['dkimCheck'] == 1:
createDKIMRecords(request,domain,admin)
createDKIMRecords(request, domain, admin)
selectedPackage = Package.objects.get(packageName=packageName)
@@ -630,23 +596,21 @@ def submitDomainCreation(request):
domain = data['domainName']
phpSelection = data['phpSelection']
try:
website = Websites.objects.get(domain=domain)
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Website Already Exists"}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except:
pass
try:
website = ChildDomains.objects.get(domain=domain)
## Check if this domain either exists as website or child domain
if Websites.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "Website Already Exists"}
'error_message': "This Domain already exists as a website."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
if ChildDomains.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "This domain already exists as child domain."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except:
pass
####### Limitations check
@@ -684,15 +648,10 @@ def submitDomainCreation(request):
### Zone creation.
try:
restore = data['restore']
restart = 0
except BaseException, msg:
val = request.session['userID']
admin = Administrator.objects.get(pk=val)
dnsTemplate(requests, domain, admin, data['dkimCheck'])
dnsTemplate(requests, domain, admin)
## Zone creation.
externalApp = master.externalApp
numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count())
@@ -718,9 +677,9 @@ def submitDomainCreation(request):
try:
restore = data['restore']
restart = 0
except BaseException, msg:
if data['dkimCheck'] == 1:
admin = Administrator.objects.get(pk=val)
createDKIMRecords(request, domain, admin)
website = ChildDomains(master=master, domain=domain, path=path, phpSelection=phpSelection, ssl=ssl)
@@ -780,8 +739,6 @@ def fetchDomains(request):
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
def listWebsites(request):
try:
val = request.session['userID']
@@ -819,7 +776,6 @@ def listWebsites(request):
except KeyError:
return redirect(loadLoginPage)
def getFurtherAccounts(request):
try:
val = request.session['userID']
@@ -891,7 +847,6 @@ def getFurtherAccounts(request):
json_data = json.dumps(dic)
return HttpResponse(json_data)
def submitWebsiteDeletion(request):
try:
val = request.session['userID']
@@ -1045,7 +1000,6 @@ def submitWebsiteStatus(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def submitWebsiteModify(request):
try:
val = request.session['userID']
@@ -1127,8 +1081,6 @@ def submitWebsiteModify(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def saveWebsiteChanges(request):
try:
val = request.session['userID']
@@ -1189,7 +1141,6 @@ def saveWebsiteChanges(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def domain(request,domain):
try:
val = request.session['userID']
@@ -1285,8 +1236,6 @@ def domain(request,domain):
except KeyError:
return redirect(loadLoginPage)
def getDataFromLogFile(request):
data = json.loads(request.body)
logType = data['logType']
@@ -1383,7 +1332,6 @@ def fetchErrorLogs(request):
final_json = json.dumps({'logstatus': 0, 'error_message': str(msg)})
return HttpResponse(final_json)
def installWordpress(request):
try:
val = request.session['userID']
@@ -1602,7 +1550,6 @@ def installJoomla(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[installJoomla]")
return HttpResponse("Not Logged in as admin")
def getDataFromConfigFile(request):
try:
val = request.session['userID']
@@ -1703,7 +1650,6 @@ def saveConfigsToFile(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[saveConfigsToFile]")
return HttpResponse("Not Logged in as admin")
def getRewriteRules(request):
try:
val = request.session['userID']
@@ -1806,8 +1752,6 @@ def saveRewriteRules(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[saveConfigsToFile]")
return HttpResponse("Not Logged in as admin")
def saveSSL(request):
try:
val = request.session['userID']
@@ -1906,7 +1850,6 @@ def saveSSL(request):
data_ret = {'sslStatus': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
def changePHP(request):
try:
val = request.session['userID']
@@ -1958,11 +1901,9 @@ def CreateWebsiteFromBackup(request):
data = json.loads(request.body)
backupFile = data['backupFile'].strip(".tar.gz")
originalFile = "/home/backup/" + data['backupFile']
if not os.path.exists(originalFile):
dir = data['dir']
path = "/home/backup/transfer-"+str(dir)+"/"+backupFile
@@ -1982,7 +1923,24 @@ def CreateWebsiteFromBackup(request):
phpSelection = backupMetaData.find('phpSelection').text
externalApp = backupMetaData.find('externalApp').text
####### Limitations Check End
## Pre-creation checks
if Websites.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "This website already exists."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
if ChildDomains.objects.filter(domain=domain).count() > 0:
data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0,
'error_message': "This website already exists as child domain."}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
####### Pre-creation checks ends
numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count())
@@ -2144,7 +2102,6 @@ def CreateWebsiteFromBackup(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def listCron(request):
try:
val = request.session['userID']
@@ -2184,7 +2141,6 @@ def listCron(request):
except KeyError:
return redirect(loadLoginPage)
def getWebsiteCron(request):
try:
val = request.session['userID']
@@ -2262,7 +2218,6 @@ def getWebsiteCron(request):
final_json = json.dumps(status)
return HttpResponse(final_json)
def getCronbyLine(request):
try:
val = request.session['userID']
@@ -2344,7 +2299,6 @@ def getCronbyLine(request):
final_json = json.dumps(status)
return HttpResponse(final_json)
def saveCronChanges(request):
try:
val = request.session['userID']
@@ -2435,7 +2389,6 @@ def saveCronChanges(request):
final_json = json.dumps(status)
return HttpResponse(final_json)
def remCronbyLine(request):
try:
val = request.session['userID']
@@ -2527,7 +2480,6 @@ def remCronbyLine(request):
final_json = json.dumps(status)
return HttpResponse(final_json)
def addNewCron(request):
try:
val = request.session['userID']
@@ -2620,7 +2572,6 @@ def addNewCron(request):
final_json = json.dumps(status)
return HttpResponse(final_json)
def domainAlias(request,domain):
try:
val = request.session['userID']
@@ -2670,7 +2621,6 @@ def domainAlias(request,domain):
except KeyError:
return redirect(loadLoginPage)
def submitAliasCreation(request):
try:
if request.method == 'POST':
@@ -2685,7 +2635,7 @@ def submitAliasCreation(request):
##### Zone creation
dnsTemplate(requests, aliasDomain, admin, 0)
dnsTemplate(requests, aliasDomain, admin)
### Zone creation
@@ -2724,7 +2674,6 @@ def submitAliasCreation(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def issueAliasSSL(request):
try:
if request.method == 'POST':
@@ -2813,7 +2762,6 @@ def delateAlias(request):
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def changeOpenBasedir(request):
try:
val = request.session['userID']