HEX
Server: Apache/2.4.67 (Debian)
System: Linux hosting103 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User: muzikaecom (1013)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //usr/local/share/hostingplatform/scripts/addHostingPackage
#!/usr/bin/env php
<?php
$packagename = $argv[1];
$storage     = round($argv[2]);
$bandwidth   = round($argv[3]);
if($packagename && strlen($packagename) && $storage > 0) {
 shell_exec('/usr/sbin/adduser --force-badname --disabled-password --disabled-login --quiet --gecos ,,,,umask=027 "' . escapeshellcmd($packagename) . '"');
 shell_exec('/bin/su postgres -l -c "createuser -DRS ' . escapeshellcmd($packagename) . '"');
 shell_exec('/bin/mkdir -p /var/log/apache2/hostingpackages/' . escapeshellcmd($packagename) . '/');
 shell_exec('/bin/chown -R "' . escapeshellcmd($packagename) . '":"' . escapeshellcmd($packagename) . '" "/var/log/apache2/hostingpackages/' . escapeshellcmd($packagename) . '/"');
 shell_exec('/bin/chown -R "' . escapeshellcmd($packagename) . '":"www-data" "/home/' . escapeshellcmd($packagename) . '"');
 shell_exec('/bin/chmod -R 750 "/home/' . escapeshellcmd($packagename) . '"');
 shell_exec('/bin/chmod -R g=rxs "/home/' . escapeshellcmd($packagename) . '"');

 shell_exec('/usr/sbin/quotatool -u "' . escapeshellcmd($packagename) . '"  -b -q ' . escapeshellcmd($storage) . 'MB -l ' . escapeshellcmd($storage) . 'MB /home');

 // 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 = " . $packagename . "\n";
    $config .= "listen.group = " . $packagename . "\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);
 }
}
?>