diff --git a/install/install.py b/install/install.py index 6cec71c9c..53e8baa81 100755 --- a/install/install.py +++ b/install/install.py @@ -179,12 +179,24 @@ def installQuota(self,): command = 'quotacheck -ugm /' preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) - command = "find /lib/modules/ -type f -name '*quota_v*.ko*' | sed -n 's|/lib/modules/\([^/]*\)/.*|\1|p' | sort -u" + #### - result = subprocess.check_output(command, shell=True).decode("utf-8").rstrip('\n') + command = "find /lib/modules/ -type f -name '*quota_v*.ko*'" + iResult = subprocess.run(command, capture_output=True, text=True, shell=True) + print(repr(iResult.stdout)) - command = f"apt-get install linux-modules-extra-{result}" - preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) + # Only if the first command works, run the rest + + if iResult.returncode == 0: + command = "echo '{}' | sed -n 's|/lib/modules/\\([^/]*\\)/.*|\\1|p' | sort -u".format(iResult.stdout) + result = subprocess.run(command, capture_output=True, text=True, shell=True) + fResult = result.stdout.rstrip('\n') + print(repr(result.stdout.rstrip('\n'))) + + command = f"apt-get install linux-modules-extra-{fResult}" + preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR) + + ### command = f'modprobe quota_v1 -S {result}' diff --git a/plogical/IncScheduler.py b/plogical/IncScheduler.py index 5ed40cb51..0cb5561be 100644 --- a/plogical/IncScheduler.py +++ b/plogical/IncScheduler.py @@ -1042,24 +1042,27 @@ def CalculateAndUpdateDiskUsage(): "/home/" + website.domain, website.package.diskSpace) if website.package.enforceDiskLimits: - if config['DiskUsagePercentage'] >= 100: - command = 'chattr -R +i /home/%s/' % (website.domain) - ProcessUtilities.executioner(command) - - command = 'chattr -R -i /home/%s/logs/' % (website.domain) - ProcessUtilities.executioner(command) - - command = 'chattr -R -i /home/%s/.trash/' % (website.domain) - ProcessUtilities.executioner(command) - - command = 'chattr -R -i /home/%s/backup/' % (website.domain) - ProcessUtilities.executioner(command) - - command = 'chattr -R -i /home/%s/incbackup/' % (website.domain) - ProcessUtilities.executioner(command) - else: - command = 'chattr -R -i /home/%s/' % (website.domain) - ProcessUtilities.executioner(command) + spaceString = f'{website.package.diskSpace}M {website.package.diskSpace}M' + command = f'setquota -u {website.externalApp} {spaceString} 0 0 /' + ProcessUtilities.executioner(command) + # if config['DiskUsagePercentage'] >= 100: + # command = 'chattr -R +i /home/%s/' % (website.domain) + # ProcessUtilities.executioner(command) + # + # command = 'chattr -R -i /home/%s/logs/' % (website.domain) + # ProcessUtilities.executioner(command) + # + # command = 'chattr -R -i /home/%s/.trash/' % (website.domain) + # ProcessUtilities.executioner(command) + # + # command = 'chattr -R -i /home/%s/backup/' % (website.domain) + # ProcessUtilities.executioner(command) + # + # command = 'chattr -R -i /home/%s/incbackup/' % (website.domain) + # ProcessUtilities.executioner(command) + # else: + # command = 'chattr -R -i /home/%s/' % (website.domain) + # ProcessUtilities.executioner(command) ## Calculate bw usage diff --git a/plogical/test.py b/plogical/test.py index 7477b1928..a8aa96142 100644 --- a/plogical/test.py +++ b/plogical/test.py @@ -38,14 +38,22 @@ def edit_fstab(mount_point, options_to_add): WriteToFile.write(line) WriteToFile.close() - command = "find /lib/modules/ -type f -name '*quota_v*.ko*'" - print(command) + try: - result = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT).decode("utf-8").rstrip('\n') - print(repr(result)) + command = "find /lib/modules/ -type f -name '*quota_v*.ko*'" + result = subprocess.run(command, capture_output=True, text=True, shell=True) + print(repr(result.stdout)) + + # Only if the first command works, run the rest + if result.returncode == 0: + command = "echo '{}' | sed -n 's|/lib/modules/\\([^/]*\\)/.*|\\1|p' | sort -u".format(result.stdout) + result = subprocess.run(command, capture_output=True, text=True, shell=True) + print(repr(result.stdout.rstrip('\n'))) + except subprocess.CalledProcessError as e: print("Error:", e.output.decode()) + edit_fstab('/', '/') diff --git a/plogical/virtualHostUtilities.py b/plogical/virtualHostUtilities.py index c9646f5e3..02a94fefe 100644 --- a/plogical/virtualHostUtilities.py +++ b/plogical/virtualHostUtilities.py @@ -530,6 +530,13 @@ def createVirtualHost(virtualHostName, administratorEmail, phpVersion, virtualHo ### + spaceString = f'{selectedPackage.diskSpace}M {selectedPackage.diskSpace}M' + + if selectedPackage.enforceDiskLimits: + command = f'setquota -u {virtualHostUser} {spaceString} 0 0 /' + ProcessUtilities.executioner(command) + + logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Website successfully created. [200]') return 1, 'None'