mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
internal bug fix for ubuntu
This commit is contained in:
@@ -187,7 +187,6 @@ class emailMarketing(multi.Thread):
|
|||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
import re
|
import re
|
||||||
|
|
||||||
message = MIMEMultipart('alternative')
|
|
||||||
tempPath = "/home/cyberpanel/" + str(randint(1000, 9999))
|
tempPath = "/home/cyberpanel/" + str(randint(1000, 9999))
|
||||||
|
|
||||||
for items in allEmails:
|
for items in allEmails:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -904,7 +904,8 @@ class preFlightsChecks:
|
|||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1330,7 +1331,8 @@ class preFlightsChecks:
|
|||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1348,7 +1350,8 @@ class preFlightsChecks:
|
|||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1365,8 +1368,8 @@ class preFlightsChecks:
|
|||||||
writeDataToFile.writelines(dataWritten)
|
writeDataToFile.writelines(dataWritten)
|
||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
if self.distro == ubuntu:
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1384,7 +1387,8 @@ class preFlightsChecks:
|
|||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1401,8 +1405,8 @@ class preFlightsChecks:
|
|||||||
writeDataToFile.writelines(dataWritten)
|
writeDataToFile.writelines(dataWritten)
|
||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
if self.distro == ubuntu:
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
@@ -1476,7 +1480,6 @@ class preFlightsChecks:
|
|||||||
os.remove(davecotmysql)
|
os.remove(davecotmysql)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############Getting SSL
|
###############Getting SSL
|
||||||
|
|
||||||
count = 0
|
count = 0
|
||||||
@@ -1655,7 +1658,7 @@ class preFlightsChecks:
|
|||||||
|
|
||||||
while(1):
|
while(1):
|
||||||
|
|
||||||
command = 'chmod o= '+main
|
command = 'chmod o= ' + main
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
res = subprocess.call(cmd)
|
res = subprocess.call(cmd)
|
||||||
|
|
||||||
@@ -1676,7 +1679,7 @@ class preFlightsChecks:
|
|||||||
|
|
||||||
while(1):
|
while(1):
|
||||||
|
|
||||||
command = 'chmod o= '+master
|
command = 'chmod o= ' + master
|
||||||
|
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
|
|
||||||
@@ -1781,7 +1784,7 @@ class preFlightsChecks:
|
|||||||
|
|
||||||
count = 0
|
count = 0
|
||||||
while(1):
|
while(1):
|
||||||
command = 'chgrp postfix '+main
|
command = 'chgrp postfix ' + main
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
res = subprocess.call(cmd)
|
res = subprocess.call(cmd)
|
||||||
|
|
||||||
@@ -2040,7 +2043,7 @@ class preFlightsChecks:
|
|||||||
|
|
||||||
while(1):
|
while(1):
|
||||||
|
|
||||||
command = "chmod 755 "+main
|
command = "chmod 755 " + main
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
res = subprocess.call(cmd)
|
res = subprocess.call(cmd)
|
||||||
|
|
||||||
|
|||||||
@@ -947,11 +947,13 @@ class InstallCyberPanel:
|
|||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
os.chmod(ftpdPath + '/pureftpd-ldap.conf', stat.S_IRUSR | stat.S_IWUSR)
|
if self.distro == ubuntu:
|
||||||
os.chmod(ftpdPath + '/pureftpd-pgsql.conf', stat.S_IRUSR | stat.S_IWUSR)
|
os.chmod(ftpdPath + '/pureftpd-ldap.conf', stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
os.chmod(ftpdPath + '/pureftpd-pgsql.conf', stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
if self.distro == ubuntu:
|
if self.distro == ubuntu:
|
||||||
command = 'apt install pure-ftpd-mysql -y'
|
command = 'apt install pure-ftpd-mysql -y'
|
||||||
@@ -1125,8 +1127,8 @@ class InstallCyberPanel:
|
|||||||
writeDataToFile.writelines(dataWritten)
|
writeDataToFile.writelines(dataWritten)
|
||||||
else:
|
else:
|
||||||
writeDataToFile.writelines(items)
|
writeDataToFile.writelines(items)
|
||||||
|
if self.distro == ubuntu:
|
||||||
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
os.fchmod(writeDataToFile.fileno(), stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
|
||||||
writeDataToFile.close()
|
writeDataToFile.close()
|
||||||
|
|
||||||
|
|||||||
263
managePHP/php70.xml
Normal file
263
managePHP/php70.xml
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<php>
|
||||||
|
<name>php70</name>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-debuginfo</extensionName>
|
||||||
|
<extensionDescription>Debug information for package lsphp70</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-igbinary-debuginfo</extensionName>
|
||||||
|
<extensionDescription>Debug information for package lsphp70-pecl-igbinary</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-mcrypt-debuginfo</extensionName>
|
||||||
|
<extensionDescription>LSPHP70 lsphp70-pecl-mcrypt-debuginfo Extension</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-bcmath</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the bcmath library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-common</extensionName>
|
||||||
|
<extensionDescription>Common files for PHP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-dba</extensionName>
|
||||||
|
<extensionDescription>A database abstraction layer extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-devel</extensionName>
|
||||||
|
<extensionDescription>Files needed for building PHP extensions.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-enchant</extensionName>
|
||||||
|
<extensionDescription>Enchant spelling extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-gd</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the gd graphics library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-gmp</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the GNU MP library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-imap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use IMAP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-intl</extensionName>
|
||||||
|
<extensionDescription>Internationalization extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-json</extensionName>
|
||||||
|
<extensionDescription>LSPHP70 Json PHP Extension</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-ldap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use LDAP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-mbstring</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications which need multi-byte string handling.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-mysqlnd</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use MySQL databases.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-odbc</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use ODBC databases.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-opcache</extensionName>
|
||||||
|
<extensionDescription>The Zend OPcache.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pdo</extensionName>
|
||||||
|
<extensionDescription>A database access abstraction extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pear</extensionName>
|
||||||
|
<extensionDescription>PHP Extension and Application Repository framework.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-apcu</extensionName>
|
||||||
|
<extensionDescription>APC User Cache.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-apcu-devel</extensionName>
|
||||||
|
<extensionDescription>APCu developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-apcu-panel</extensionName>
|
||||||
|
<extensionDescription>APCu control panel.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-igbinary</extensionName>
|
||||||
|
<extensionDescription>Replacement for the standard PHP serializer.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-igbinary-devel</extensionName>
|
||||||
|
<extensionDescription>Igbinary developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-mcrypt</extensionName>
|
||||||
|
<extensionDescription>LSPHP70 lsphp70-pecl-mcrypt Extension.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-memcache</extensionName>
|
||||||
|
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-memcached</extensionName>
|
||||||
|
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-msgpack</extensionName>
|
||||||
|
<extensionDescription>API for communicating with MessagePack serialization.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-msgpack-devel</extensionName>
|
||||||
|
<extensionDescription>MessagePack developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pecl-redis</extensionName>
|
||||||
|
<extensionDescription>Extension for communicating with the Redis key-value store.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pgsql</extensionName>
|
||||||
|
<extensionDescription>A PostgreSQL database extension for PHP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-process</extensionName>
|
||||||
|
<extensionDescription>extensions for PHP script using system process interfaces.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-pspell</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using pspell interfaces.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-recode</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the recode library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-snmp</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that query SNMP-managed devices.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-soap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use the SOAP protocol.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-tidy</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-xml</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-xmlrpc</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications which use the XML-RPC protocol.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-zip</extensionName>
|
||||||
|
<extensionDescription>LSPHP70 Json PHP Extension</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-mcrypt</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides mcrypt library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp70-dbg</extensionName>
|
||||||
|
<extensionDescription>php70-dbg lsphp70-package</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
</php>
|
||||||
263
managePHP/php71.xml
Normal file
263
managePHP/php71.xml
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<php>
|
||||||
|
<name>php71</name>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-debuginfo</extensionName>
|
||||||
|
<extensionDescription>Debug information for package lsphp71</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-igbinary-debuginfo</extensionName>
|
||||||
|
<extensionDescription>Debug information for package lsphp71-pecl-igbinary</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-mcrypt-debuginfo</extensionName>
|
||||||
|
<extensionDescription>LSPHP71 lsphp71-pecl-mcrypt-debuginfo Extension</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-bcmath</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the bcmath library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-common</extensionName>
|
||||||
|
<extensionDescription>Common files for PHP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-dba</extensionName>
|
||||||
|
<extensionDescription>A database abstraction layer extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-devel</extensionName>
|
||||||
|
<extensionDescription>Files needed for building PHP extensions.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-enchant</extensionName>
|
||||||
|
<extensionDescription>Enchant spelling extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-gd</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the gd graphics library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-gmp</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the GNU MP library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-imap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use IMAP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-intl</extensionName>
|
||||||
|
<extensionDescription>Internationalization extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-json</extensionName>
|
||||||
|
<extensionDescription>LSPHP71 Json PHP Extension</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-ldap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use LDAP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-mbstring</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications which need multi-byte string handling.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-mysqlnd</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use MySQL databases.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-odbc</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use ODBC databases.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-opcache</extensionName>
|
||||||
|
<extensionDescription>The Zend OPcache.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pdo</extensionName>
|
||||||
|
<extensionDescription>A database access abstraction extension for PHP applications.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pear</extensionName>
|
||||||
|
<extensionDescription>PHP Extension and Application Repository framework.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-apcu</extensionName>
|
||||||
|
<extensionDescription>APC User Cache.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-apcu-devel</extensionName>
|
||||||
|
<extensionDescription>APCu developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-apcu-panel</extensionName>
|
||||||
|
<extensionDescription>APCu control panel.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-igbinary</extensionName>
|
||||||
|
<extensionDescription>Replacement for the standard PHP serializer.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-igbinary-devel</extensionName>
|
||||||
|
<extensionDescription>Igbinary developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-mcrypt</extensionName>
|
||||||
|
<extensionDescription>LSPHP71 lsphp71-pecl-mcrypt Extension.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-memcache</extensionName>
|
||||||
|
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-memcached</extensionName>
|
||||||
|
<extensionDescription>Extension to work with the Memcached caching daemon.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-msgpack</extensionName>
|
||||||
|
<extensionDescription>API for communicating with MessagePack serialization.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-msgpack-devel</extensionName>
|
||||||
|
<extensionDescription>MessagePack developer files (header).</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pecl-redis</extensionName>
|
||||||
|
<extensionDescription>Extension for communicating with the Redis key-value store.</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pgsql</extensionName>
|
||||||
|
<extensionDescription>A PostgreSQL database extension for PHP.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-process</extensionName>
|
||||||
|
<extensionDescription>extensions for PHP script using system process interfaces.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-pspell</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using pspell interfaces.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-recode</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications for using the recode library.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-snmp</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that query SNMP-managed devices.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-soap</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications that use the SOAP protocol.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-tidy</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-xml</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides tidy library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-xmlrpc</extensionName>
|
||||||
|
<extensionDescription>A extension for PHP applications which use the XML-RPC protocol.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-zip</extensionName>
|
||||||
|
<extensionDescription>LSPHP71 Json PHP Extension</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-mcrypt</extensionName>
|
||||||
|
<extensionDescription>Standard PHP extension provides mcrypt library support.</extensionDescription>
|
||||||
|
<status>1</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-dbg</extensionName>
|
||||||
|
<extensionDescription>php71-dbg lsphp71-package</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
</php>
|
||||||
@@ -254,4 +254,10 @@
|
|||||||
<status>1</status>
|
<status>1</status>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
<extension>
|
||||||
|
<extensionName>lsphp71-dbg</extensionName>
|
||||||
|
<extensionDescription>php72-dbg lsphp72-package</extensionDescription>
|
||||||
|
<status>0</status>
|
||||||
|
</extension>
|
||||||
|
|
||||||
</php>
|
</php>
|
||||||
@@ -13,13 +13,13 @@ import os
|
|||||||
from plogical.installUtilities import installUtilities
|
from plogical.installUtilities import installUtilities
|
||||||
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
||||||
import re
|
import re
|
||||||
from loginSystem.models import Administrator
|
|
||||||
from plogical.virtualHostUtilities import virtualHostUtilities
|
from plogical.virtualHostUtilities import virtualHostUtilities
|
||||||
import subprocess
|
import subprocess
|
||||||
import shlex
|
import shlex
|
||||||
from random import randint
|
from random import randint
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
from plogical.acl import ACLManager
|
from plogical.acl import ACLManager
|
||||||
|
from plogical.processUtilities import ProcessUtilities
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
||||||
|
|
||||||
@@ -1880,11 +1880,20 @@ def getRequestStatus(request):
|
|||||||
size = data['size']
|
size = data['size']
|
||||||
extensionName = data['extensionName']
|
extensionName = data['extensionName']
|
||||||
|
|
||||||
|
checkCommand = ''
|
||||||
|
|
||||||
|
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||||
|
checkCommand = 'yum list installed'
|
||||||
|
checkCommand = shlex.split(checkCommand)
|
||||||
|
else:
|
||||||
|
checkCommand = 'dpkg --list'
|
||||||
|
checkCommand = shlex.split(checkCommand)
|
||||||
|
|
||||||
requestStatus = unicode(open(phpUtilities.installLogPath, "r").read())
|
requestStatus = unicode(open(phpUtilities.installLogPath, "r").read())
|
||||||
requestStatusSize = len(requestStatus)
|
requestStatusSize = len(requestStatus)
|
||||||
|
|
||||||
if requestStatus.find("PHP Extension Installed") > -1:
|
if requestStatus.find("PHP Extension Installed") > -1:
|
||||||
if subprocess.check_output(["yum", "list", "installed"]).find(extensionName) > -1:
|
if subprocess.check_output(checkCommand).find(extensionName) > -1:
|
||||||
ext = installedPackages.objects.get(extensionName=extensionName)
|
ext = installedPackages.objects.get(extensionName=extensionName)
|
||||||
ext.status = 1
|
ext.status = 1
|
||||||
ext.save()
|
ext.save()
|
||||||
@@ -1901,7 +1910,7 @@ def getRequestStatus(request):
|
|||||||
return HttpResponse(final_json)
|
return HttpResponse(final_json)
|
||||||
elif requestStatus.find("Can not be installed") > -1:
|
elif requestStatus.find("Can not be installed") > -1:
|
||||||
|
|
||||||
if subprocess.check_output(["yum", "list", "installed"]).find(extensionName) > -1:
|
if subprocess.check_output(checkCommand).find(extensionName) > -1:
|
||||||
ext = installedPackages.objects.get(extensionName=extensionName)
|
ext = installedPackages.objects.get(extensionName=extensionName)
|
||||||
ext.status = 1
|
ext.status = 1
|
||||||
ext.save()
|
ext.save()
|
||||||
@@ -1918,7 +1927,7 @@ def getRequestStatus(request):
|
|||||||
return HttpResponse(final_json)
|
return HttpResponse(final_json)
|
||||||
elif requestStatus.find("Can not un-install Extension") > -1:
|
elif requestStatus.find("Can not un-install Extension") > -1:
|
||||||
|
|
||||||
if subprocess.check_output(["yum", "list", "installed"]).find(extensionName) > -1:
|
if subprocess.check_output(checkCommand).find(extensionName) > -1:
|
||||||
ext = installedPackages.objects.get(extensionName=extensionName)
|
ext = installedPackages.objects.get(extensionName=extensionName)
|
||||||
ext.status = 1
|
ext.status = 1
|
||||||
ext.save()
|
ext.save()
|
||||||
@@ -1935,7 +1944,7 @@ def getRequestStatus(request):
|
|||||||
return HttpResponse(final_json)
|
return HttpResponse(final_json)
|
||||||
elif requestStatus.find("PHP Extension Removed") > -1:
|
elif requestStatus.find("PHP Extension Removed") > -1:
|
||||||
|
|
||||||
if subprocess.check_output(["yum", "list", "installed"]).find(extensionName) > -1:
|
if subprocess.check_output(checkCommand).find(extensionName) > -1:
|
||||||
ext = installedPackages.objects.get(extensionName=extensionName)
|
ext = installedPackages.objects.get(extensionName=extensionName)
|
||||||
ext.status = 1
|
ext.status = 1
|
||||||
ext.save()
|
ext.save()
|
||||||
|
|||||||
@@ -562,6 +562,8 @@ class ApplicationInstaller(multi.Thread):
|
|||||||
|
|
||||||
## checking for directories/files
|
## checking for directories/files
|
||||||
|
|
||||||
|
logging.writeToFile(finalPath)
|
||||||
|
|
||||||
if self.dataLossCheck(finalPath, tempStatusPath) == 0:
|
if self.dataLossCheck(finalPath, tempStatusPath) == 0:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
@@ -573,8 +575,7 @@ class ApplicationInstaller(multi.Thread):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
||||||
command = 'sudo GIT_SSH_COMMAND="ssh -i /root/.ssh/cyberpanel -o StrictHostKeyChecking=no" git clone ' \
|
command = 'sudo git clone https://' + defaultProvider +'.com/' + username + '/' + reponame + ' -b ' + branch + ' ' + finalPath
|
||||||
'--depth 1 --no-single-branch git@' + defaultProvider +'.com:' + username + '/' + reponame + '.git -b ' + branch + ' ' + finalPath
|
|
||||||
subprocess.check_output(shlex.split(command))
|
subprocess.check_output(shlex.split(command))
|
||||||
except subprocess.CalledProcessError, msg:
|
except subprocess.CalledProcessError, msg:
|
||||||
statusFile = open(tempStatusPath, 'w')
|
statusFile = open(tempStatusPath, 'w')
|
||||||
@@ -605,9 +606,7 @@ class ApplicationInstaller(multi.Thread):
|
|||||||
|
|
||||||
|
|
||||||
except BaseException, msg:
|
except BaseException, msg:
|
||||||
|
|
||||||
os.remove('/home/cyberpanel/' + domainName + '.git')
|
os.remove('/home/cyberpanel/' + domainName + '.git')
|
||||||
|
|
||||||
statusFile = open(tempStatusPath, 'w')
|
statusFile = open(tempStatusPath, 'w')
|
||||||
statusFile.writelines(str(msg) + " [404]")
|
statusFile.writelines(str(msg) + " [404]")
|
||||||
statusFile.close()
|
statusFile.close()
|
||||||
@@ -630,14 +629,14 @@ class ApplicationInstaller(multi.Thread):
|
|||||||
logging.writeToFile('Git is not setup for this website.')
|
logging.writeToFile('Git is not setup for this website.')
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
command = 'sudo GIT_SSH_COMMAND="ssh -i /root/.ssh/cyberpanel -o StrictHostKeyChecking=no" git -C ' + finalPath + ' pull'
|
command = 'sudo git --git-dir=' + finalPath + '.git --work-tree=' + finalPath +' pull'
|
||||||
subprocess.check_output(shlex.split(command))
|
subprocess.check_output(shlex.split(command))
|
||||||
|
|
||||||
|
##
|
||||||
|
|
||||||
website = Websites.objects.get(domain=domain)
|
website = Websites.objects.get(domain=domain)
|
||||||
externalApp = website.externalApp
|
externalApp = website.externalApp
|
||||||
|
|
||||||
##
|
|
||||||
|
|
||||||
command = "sudo chown -R " + externalApp + ":" + externalApp + " " + finalPath
|
command = "sudo chown -R " + externalApp + ":" + externalApp + " " + finalPath
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
subprocess.call(cmd)
|
subprocess.call(cmd)
|
||||||
|
|||||||
@@ -22,146 +22,6 @@ from datetime import datetime
|
|||||||
class FTPUtilities:
|
class FTPUtilities:
|
||||||
|
|
||||||
|
|
||||||
# This function will only install FTP
|
|
||||||
@staticmethod
|
|
||||||
def installProFTPD():
|
|
||||||
try:
|
|
||||||
cmd = []
|
|
||||||
|
|
||||||
|
|
||||||
cmd.append("yum")
|
|
||||||
cmd.append("-y")
|
|
||||||
cmd.append("install")
|
|
||||||
cmd.append("proftpd-mysql")
|
|
||||||
res = subprocess.call(cmd)
|
|
||||||
if res == 1:
|
|
||||||
print("###############################################")
|
|
||||||
print(" Could not install ProFTPD ")
|
|
||||||
print("###############################################")
|
|
||||||
sys.exit()
|
|
||||||
else:
|
|
||||||
print("###############################################")
|
|
||||||
print(" ProFTPD Installed ")
|
|
||||||
print("###############################################")
|
|
||||||
except OSError,msg:
|
|
||||||
|
|
||||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [installProFTPD]")
|
|
||||||
return 0
|
|
||||||
except ValueError,msg:
|
|
||||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [installProFTPD]")
|
|
||||||
return 0
|
|
||||||
|
|
||||||
return 1
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def createFTPDataBaseinMariaDB(username,password):
|
|
||||||
try:
|
|
||||||
|
|
||||||
#Create DB
|
|
||||||
#sql.mysqlUtilities.createDatabase("1qaz@9xvps", "ftp", username, password)
|
|
||||||
|
|
||||||
#Add group
|
|
||||||
cmd = []
|
|
||||||
|
|
||||||
cmd.append("groupadd")
|
|
||||||
cmd.append("-g")
|
|
||||||
cmd.append("2001")
|
|
||||||
cmd.append("ftpgroup")
|
|
||||||
|
|
||||||
res = subprocess.call(cmd)
|
|
||||||
if res == 1:
|
|
||||||
print "Group adding failed"
|
|
||||||
else:
|
|
||||||
print "Group added"
|
|
||||||
|
|
||||||
#Add user to group
|
|
||||||
|
|
||||||
cmd = []
|
|
||||||
|
|
||||||
cmd.append("useradd")
|
|
||||||
cmd.append("-u")
|
|
||||||
cmd.append("2001")
|
|
||||||
cmd.append("-s")
|
|
||||||
cmd.append("/bin/false")
|
|
||||||
cmd.append("-d")
|
|
||||||
cmd.append("/bin/null")
|
|
||||||
cmd.append("-c")
|
|
||||||
cmd.append("\"proftpd user\"")
|
|
||||||
cmd.append("-g")
|
|
||||||
cmd.append("ftpgroup")
|
|
||||||
cmd.append("ftpuser")
|
|
||||||
|
|
||||||
res = subprocess.call(cmd)
|
|
||||||
if res == 1:
|
|
||||||
print "User adding failed"
|
|
||||||
else:
|
|
||||||
print "User added"
|
|
||||||
|
|
||||||
#query = "CREATE TABLE ftp_ftpuser (id int(10) unsigned NOT NULL auto_increment,userid varchar(32) NOT NULL default '',passwd varchar(32) NOT NULL default '',uid smallint(6) NOT NULL default '2001',gid smallint(6) NOT NULL default '2001',homedir varchar(255) NOT NULL default '',shell varchar(16) NOT NULL default '/sbin/nologin',count int(11) NOT NULL default '0',accessed datetime NOT NULL default '0000-00-00 00:00:00',modified datetime NOT NULL default '0000-00-00 00:00:00',PRIMARY KEY (id),UNIQUE KEY userid (userid)) ENGINE=MyISAM COMMENT='ProFTP user table';"
|
|
||||||
#sql.mysqlUtilities.SendQuery(username,password,"ftp", query)
|
|
||||||
|
|
||||||
#query = "CREATE TABLE ftpgroup (groupname varchar(16) NOT NULL default '',gid smallint(6) NOT NULL default '2001',members varchar(16) NOT NULL default '',KEY groupname (groupname)) ENGINE=MyISAM COMMENT='ProFTP group table';"
|
|
||||||
#sql.mysqlUtilities.SendQuery(username, password, "ftp", query)
|
|
||||||
|
|
||||||
#query = "INSERT INTO ftpgroup (groupname, gid, members) VALUES ('ftpgroup', '2001', 'ftp_ftpuser');"
|
|
||||||
#sql.mysqlUtilities.SendQuery(username, password, "ftp", query)
|
|
||||||
|
|
||||||
# File Write
|
|
||||||
lines = open("/etc/proftpd.conf").readlines()
|
|
||||||
data = open("/etc/proftpd.conf", "w")
|
|
||||||
|
|
||||||
line1 = "\nLoadModule mod_sql.c\n"
|
|
||||||
line2 = "LoadModule mod_sql_mysql.c\n\n"
|
|
||||||
|
|
||||||
line3 = "SQLAuthTypes Plaintext Crypt\n"
|
|
||||||
line4 = "SQLAuthenticate users groups\n\n"
|
|
||||||
|
|
||||||
line5 = "SQLConnectInfo cybercp@localhost "+username+" "+password+"\n"
|
|
||||||
line6 = "SQLUserInfo ftp_ftp_ftpuser userid passwd uid gid homedir shell\n"
|
|
||||||
line7 = "SQLGroupInfo ftp_ftpgroup groupname gid members\n\n"
|
|
||||||
|
|
||||||
line8 = "SQLLog PASS updatecount\n"
|
|
||||||
line9 = "SQLNamedQuery updatecount UPDATE \"count=count+1, accessed=now() WHERE userid='%u'\" ftp_ftpuser\n\n"
|
|
||||||
|
|
||||||
line10 = "SQLLog STOR,DELE modified\n"
|
|
||||||
line11 = "SQLNamedQuery modified UPDATE \"modified=now() WHERE userid='%u'\" ftp_ftpuser"
|
|
||||||
|
|
||||||
Auth0 = "\n#AuthPAMConfig\n"
|
|
||||||
Auth1 = "#AuthOrder\n"
|
|
||||||
for items in lines:
|
|
||||||
if ((items.find("AuthPAMConfig") > -1)):
|
|
||||||
data.writelines(Auth0)
|
|
||||||
continue
|
|
||||||
|
|
||||||
if ((items.find("AuthOrder") > -1)):
|
|
||||||
data.writelines(Auth1)
|
|
||||||
continue
|
|
||||||
|
|
||||||
data.writelines(items)
|
|
||||||
|
|
||||||
|
|
||||||
data.writelines(line1)
|
|
||||||
data.writelines(line2)
|
|
||||||
data.writelines(line3)
|
|
||||||
data.writelines(line4)
|
|
||||||
data.writelines(line5)
|
|
||||||
data.writelines(line6)
|
|
||||||
data.writelines(line7)
|
|
||||||
data.writelines(line8)
|
|
||||||
data.writelines(line9)
|
|
||||||
data.writelines(line10)
|
|
||||||
data.writelines(line11)
|
|
||||||
|
|
||||||
data.close()
|
|
||||||
|
|
||||||
#File Write End
|
|
||||||
|
|
||||||
except BaseException, msg:
|
|
||||||
logging.CyberCPLogFileWriter.writeToFile(
|
|
||||||
str(msg) + " [IO Error with proftpd config file [createFTPDataBaseinMariaDB]]")
|
|
||||||
return 0
|
|
||||||
return 1
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def createNewFTPAccount(udb,upass,username,password,path):
|
def createNewFTPAccount(udb,upass,username,password,path):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import shlex
|
|||||||
from mailServer.models import Domains,EUsers
|
from mailServer.models import Domains,EUsers
|
||||||
from emailPremium.models import DomainLimits, EmailLimits
|
from emailPremium.models import DomainLimits, EmailLimits
|
||||||
from websiteFunctions.models import Websites
|
from websiteFunctions.models import Websites
|
||||||
|
from processUtilities import ProcessUtilities
|
||||||
|
|
||||||
|
|
||||||
class mailUtilities:
|
class mailUtilities:
|
||||||
@@ -372,7 +373,10 @@ milter_default_action = accept
|
|||||||
|
|
||||||
mailUtilities.checkHome()
|
mailUtilities.checkHome()
|
||||||
|
|
||||||
command = 'sudo yum install spamassassin -y'
|
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||||
|
command = 'sudo yum install spamassassin -y'
|
||||||
|
else:
|
||||||
|
command = 'sudo apt-get install spamassassin spamc -y'
|
||||||
|
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import installUtilities
|
|||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
from mailUtilities import mailUtilities
|
from mailUtilities import mailUtilities
|
||||||
|
from processUtilities import ProcessUtilities
|
||||||
|
|
||||||
class phpUtilities:
|
class phpUtilities:
|
||||||
|
|
||||||
@@ -17,7 +18,10 @@ class phpUtilities:
|
|||||||
|
|
||||||
mailUtilities.checkHome()
|
mailUtilities.checkHome()
|
||||||
|
|
||||||
command = 'sudo yum install '+extension +' -y'
|
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||||
|
command = 'sudo yum install ' + extension + ' -y'
|
||||||
|
else:
|
||||||
|
command = 'sudo apt-get install ' + extension + ' -y'
|
||||||
|
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
|
|
||||||
@@ -45,7 +49,10 @@ class phpUtilities:
|
|||||||
|
|
||||||
mailUtilities.checkHome()
|
mailUtilities.checkHome()
|
||||||
|
|
||||||
command = 'sudo rpm --nodeps -e ' + extension + ' -v'
|
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
|
||||||
|
command = 'sudo rpm --nodeps -e ' + extension + ' -v'
|
||||||
|
else:
|
||||||
|
command = 'sudo apt-get remove -y ' + extension
|
||||||
|
|
||||||
cmd = shlex.split(command)
|
cmd = shlex.split(command)
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ from CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
|||||||
import subprocess
|
import subprocess
|
||||||
import shlex
|
import shlex
|
||||||
import os
|
import os
|
||||||
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
|
||||||
|
|
||||||
class ProcessUtilities:
|
class ProcessUtilities:
|
||||||
litespeedProcess = "litespeed"
|
litespeedProcess = "litespeed"
|
||||||
@@ -74,7 +73,7 @@ class ProcessUtilities:
|
|||||||
try:
|
try:
|
||||||
res = subprocess.call(shlex.split(command))
|
res = subprocess.call(shlex.split(command))
|
||||||
if res == 1:
|
if res == 1:
|
||||||
raise 0
|
return 0
|
||||||
else:
|
else:
|
||||||
return 1
|
return 1
|
||||||
except BaseException, msg:
|
except BaseException, msg:
|
||||||
@@ -115,18 +114,5 @@ class ProcessUtilities:
|
|||||||
else:
|
else:
|
||||||
return ProcessUtilities.centos
|
return ProcessUtilities.centos
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def executioner(command, statusFile):
|
|
||||||
try:
|
|
||||||
res = subprocess.call(shlex.split(command), stdout=statusFile, stderr=statusFile)
|
|
||||||
if res == 1:
|
|
||||||
raise 0
|
|
||||||
else:
|
|
||||||
return 1
|
|
||||||
|
|
||||||
except BaseException, msg:
|
|
||||||
logging.writeToFile(str(msg))
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -328,7 +328,7 @@ class vhost:
|
|||||||
accessControlEnds = " }\n"
|
accessControlEnds = " }\n"
|
||||||
|
|
||||||
rewriteInherit = """ rewrite {
|
rewriteInherit = """ rewrite {
|
||||||
inherit 0
|
inherit 1
|
||||||
|
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import hashlib
|
|||||||
from mysqlUtilities import mysqlUtilities
|
from mysqlUtilities import mysqlUtilities
|
||||||
from plogical import hashPassword
|
from plogical import hashPassword
|
||||||
from emailMarketing.emACL import emACL
|
from emailMarketing.emACL import emACL
|
||||||
|
from processUtilities import ProcessUtilities
|
||||||
|
|
||||||
class WebsiteManager:
|
class WebsiteManager:
|
||||||
def __init__(self, domain = None, childDomain = None):
|
def __init__(self, domain = None, childDomain = None):
|
||||||
@@ -1253,18 +1254,23 @@ class WebsiteManager:
|
|||||||
|
|
||||||
website = Websites.objects.get(domain=self.domain)
|
website = Websites.objects.get(domain=self.domain)
|
||||||
|
|
||||||
|
try:
|
||||||
|
subprocess.call(('sudo', 'crontab', '-u', website.externalApp, '-'))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
output = subprocess.check_output(["sudo", "/usr/bin/crontab", "-u", website.externalApp, "-l"])
|
output = subprocess.check_output(["sudo", "/usr/bin/crontab", "-u", website.externalApp, "-l"])
|
||||||
|
|
||||||
if "no crontab for" in output:
|
if "no crontab for" in output:
|
||||||
echo = subprocess.Popen(('echo'), stdout=subprocess.PIPE)
|
echo = subprocess.Popen((['cat', '/dev/null']), stdout=subprocess.PIPE)
|
||||||
output = subprocess.call(('sudo', 'crontab', '-u', website.externalApp, '-'), stdin=echo.stdout)
|
subprocess.call(('sudo', 'crontab', '-u', website.externalApp, '-'), stdin=echo.stdout)
|
||||||
echo.wait()
|
echo.wait()
|
||||||
echo.stdout.close()
|
echo.stdout.close()
|
||||||
|
output = subprocess.check_output(["sudo", "/usr/bin/crontab", "-u", website.externalApp, "-l"])
|
||||||
if "no crontab for" in output:
|
if "no crontab for" in output:
|
||||||
data_ret = {'addNewCron': 0, 'error_message': 'Unable to initialise crontab file for user'}
|
data_ret = {'addNewCron': 0, 'error_message': 'Unable to initialise crontab file for user'}
|
||||||
final_json = json.dumps(data_ret)
|
final_json = json.dumps(data_ret)
|
||||||
return HttpResponse(final_json)
|
return HttpResponse(final_json)
|
||||||
|
|
||||||
tempPath = "/home/cyberpanel/" + website.externalApp + str(randint(10000, 99999)) + ".cron.tmp"
|
tempPath = "/home/cyberpanel/" + website.externalApp + str(randint(10000, 99999)) + ".cron.tmp"
|
||||||
|
|
||||||
@@ -1732,7 +1738,10 @@ class WebsiteManager:
|
|||||||
return render(request, 'websiteFunctions/setupGit.html',
|
return render(request, 'websiteFunctions/setupGit.html',
|
||||||
{'domainName': self.domain, 'installed': 1, 'webhookURL': webhookURL})
|
{'domainName': self.domain, 'installed': 1, 'webhookURL': webhookURL})
|
||||||
else:
|
else:
|
||||||
command = 'sudo cat /root/.ssh/cyberpanel.pub'
|
command = "sudo ssh-keygen -f /root/.ssh/" + self.domain + " -t rsa -N ''"
|
||||||
|
ProcessUtilities.executioner(command)
|
||||||
|
|
||||||
|
command = 'sudo cat /root/.ssh/' + self.domain + '.pub'
|
||||||
deploymentKey = subprocess.check_output(shlex.split(command)).strip('\n')
|
deploymentKey = subprocess.check_output(shlex.split(command)).strip('\n')
|
||||||
|
|
||||||
return render(request, 'websiteFunctions/setupGit.html',
|
return render(request, 'websiteFunctions/setupGit.html',
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class ServerStatusUtil:
|
|||||||
|
|
||||||
except BaseException, msg:
|
except BaseException, msg:
|
||||||
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def createDomain(website):
|
def createDomain(website):
|
||||||
@@ -192,8 +192,7 @@ class ServerStatusUtil:
|
|||||||
command = 'mkdir -p ' + confPath
|
command = 'mkdir -p ' + confPath
|
||||||
ServerStatusUtil.executioner(command, FNULL)
|
ServerStatusUtil.executioner(command, FNULL)
|
||||||
|
|
||||||
if vhost.perHostDomainConf(website.path, website.master.domain, virtualHostName, completePathToConfigFile, website.master.adminEmail, website.master.externalApp,
|
if vhost.perHostDomainConf(website.path, website.master.domain, virtualHostName, completePathToConfigFile, website.master.adminEmail, website.phpSelection, website.master.externalApp, 1) == 1:
|
||||||
website.phpSelection, 1) == 1:
|
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
||||||
@@ -227,16 +226,28 @@ class ServerStatusUtil:
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
childs = website.childdomains_set.all()
|
childs = website.childdomains_set.all()
|
||||||
|
|
||||||
for child in childs:
|
for child in childs:
|
||||||
if ServerStatusUtil.createDomain(child) == 0:
|
try:
|
||||||
return 0
|
if ServerStatusUtil.createDomain(child) == 0:
|
||||||
|
logging.CyberCPLogFileWriter.writeToFile(
|
||||||
|
'Error while creating child domain: ' + child.domain)
|
||||||
|
except BaseException, msg:
|
||||||
|
logging.CyberCPLogFileWriter.writeToFile(
|
||||||
|
'Error while creating child domain: ' + child.domain + ' . Exact message: ' + str(
|
||||||
|
msg))
|
||||||
|
|
||||||
aliases = website.aliasdomains_set.all()
|
aliases = website.aliasdomains_set.all()
|
||||||
|
|
||||||
for alias in aliases:
|
for alias in aliases:
|
||||||
aliasDomain = alias.aliasDomain
|
try:
|
||||||
alias.delete()
|
aliasDomain = alias.aliasDomain
|
||||||
virtualHostUtilities.createAlias(website.domain, aliasDomain, 0, '/home', website.adminEmail, website.admin)
|
alias.delete()
|
||||||
|
virtualHostUtilities.createAlias(website.domain, aliasDomain, 0, '/home', website.adminEmail, website.admin)
|
||||||
|
except BaseException, msg:
|
||||||
|
logging.CyberCPLogFileWriter.writeToFile(
|
||||||
|
'Error while creating alais domain: ' + aliasDomain + ' . Exact message: ' + str(
|
||||||
|
msg))
|
||||||
|
|
||||||
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
|
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
|
||||||
"vhost conf successfully built for: " + website.domain + ".\n", 1)
|
"vhost conf successfully built for: " + website.domain + ".\n", 1)
|
||||||
@@ -304,6 +315,9 @@ class ServerStatusUtil:
|
|||||||
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
|
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
|
||||||
"vhost conf successfully built.\n", 1)
|
"vhost conf successfully built.\n", 1)
|
||||||
|
|
||||||
|
ProcessUtilities.stopLitespeed()
|
||||||
|
ProcessUtilities.restartLitespeed()
|
||||||
|
|
||||||
|
|
||||||
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,"Successfully switched to LITESPEED ENTERPRISE WEB SERVER. [200]\n", 1)
|
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,"Successfully switched to LITESPEED ENTERPRISE WEB SERVER. [200]\n", 1)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user