File: //usr/local/share/hostingplatform/scripts/updateHostingPackage
#!/usr/bin/env php
<?php
$packagename = $argv[1];
$storage = round($argv[2]);
$bandwidth = round($argv[3]);
if($packagename && strlen($packagename) && $storage > 0) {
exec('/usr/sbin/quotatool -u "' . escapeshellcmd($packagename) . '" -b -q ' . escapeshellcmd($storage) . 'MB -l ' . escapeshellcmd($storage) . 'MB /home');
exec('/bin/chown -R ' . escapeshellcmd($packagename) . ':www-data "/home/' . escapeshellcmd($packagename) . '" > /dev/null 2>&1 &');
exec('/bin/chmod -R o-rwx "/home/' . escapeshellcmd($packagename) . '" > /dev/null 2>&1 &');
exec('/bin/chmod -R g=rxs "/home/' . escapeshellcmd($packagename) . '" > /dev/null 2>&1 &');
// Generate PHP FPM configuration for hosting package
if($dh = opendir("/etc/php/")) {
while(($version = readdir($dh)) !== false) {
if(is_numeric($version)) {
$config = "[" . $packagename . "]\n\n";
$config .= "user = " . $packagename . "\n";
$config .= "group = " . $packagename . "\n\n";
$config .= "listen = /run/php/php" . $version . "-fpm-" . $packagename . ".sock\n";
$config .= "listen.owner = www-data\n";
$config .= "listen.group = www-data\n";
$config .= "pm = ondemand\n";
$config .= "pm.max_children = 25\n";
$config .= "pm.start_servers = 2\n";
$config .= "pm.min_spare_servers = 1\n";
$config .= "pm.max_spare_servers = 3\n";
$config .= "pm.process_idle_timeout = 30s\n";
## $config .= "chroot = /home/" . $packagename . "/\n"; ## CHROOT Future ##
file_put_contents("/etc/php/" . escapeshellcmd($version) . "/fpm/pool.d/" . $packagename . ".conf", $config);
shell_exec("/etc/init.d/php" . escapeshellcmd($version) . "-fpm restart");
}
}
closedir($dh);
}
}
?>