73 lines
3.2 KiB
Plaintext
73 lines
3.2 KiB
Plaintext
{
|
|
my $phpversion="81";
|
|
|
|
if ($PHP_VERSION eq $phpversion){
|
|
if (($roundcube{'status'} || 'disabled') eq 'enabled'){
|
|
my $max_upload_size = ($roundcube{MaxUploadSize} || '100M');
|
|
$max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/);
|
|
my $memory_limit = ($roundcube{MemoryLimit} || '512M');
|
|
$memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/);
|
|
my $open_basedir= $roundcube{PHPBaseDir} || '';
|
|
my $include_path = ".:/usr/share/pear-addons:/usr/share/pear:/usr/share/pear-data/:/usr/share/php".
|
|
":/opt/remi/php81/root/usr/share/pear:/opt/remi/php81/root/usr/share/php".
|
|
":/opt/remi/php81/root/usr/share/pear-data/:/opt/remi/php82/root/usr/share/pear-data/:/opt/remi/php83/root/usr/share/pear-data/";
|
|
$open_basedir = "/usr/share/roundcubemail:/etc/roundcubemail/:/var/log/roundcubemail:/var/lib/roundcubemail:/var/log/roundcube.log:/var/lib/php/roundcube:/home/e-smith/files/roundcube:/dev/urandom:/proc/meminfo:/usr/share/GeoIP/GeoLite2-Country.mmdb:/proc/cpuinfo:$open_basedir:$include_path";
|
|
my $id = 'roundcube';
|
|
my $max_children = $roundcube{'PHPmaxChildren'} || 20;
|
|
my $min_spare_servers = $roundcube{'PHPminServers'} || 4;
|
|
my $start_servers = $roundcube{'PHPstartServers'} || 6;
|
|
my $max_spare_servers = $roundcube{'PHPmaxServers'} || 8;
|
|
my $max_requests = $roundcube{'PHPmaxRequests'} || 1000;
|
|
$min_spare_servers = ( $min_spare_servers > $max_spare_servers ) ? printf("%.0f",$max_spare_servers/2) : $min_spare_servers;
|
|
$start_servers = ( $start_servers > $max_spare_servers ) ? printf("%.0f", $max_spare_servers /2 + $min_spare_servers/2 ) : $start_servers;
|
|
|
|
$OUT .=<<_EOF;
|
|
|
|
[php$PHP_VERSION-$id]
|
|
user = www
|
|
group = www
|
|
listen.owner = root
|
|
listen.group = www
|
|
listen.mode = 0660
|
|
listen = /var/run/php-fpm/php$PHP_VERSION-$id.sock
|
|
pm = dynamic
|
|
pm.max_children = $max_children
|
|
pm.start_servers = $start_servers
|
|
pm.min_spare_servers = $min_spare_servers
|
|
pm.max_spare_servers = $max_spare_servers
|
|
pm.max_requests = $max_requests
|
|
php_admin_value[sys_temp_dir] = /var/lib/php/$id/tmp
|
|
php_admin_value[session.save_path] = /var/lib/php/$id/session
|
|
php_admin_value[session.gc_maxlifetime] = 86400
|
|
php_admin_value[upload_tmp_dir] = /var/lib/php/$id/tmp
|
|
php_admin_value[error_log] = /var/log/php/$id/error.log
|
|
slowlog = /var/log/php/roundcube/slow.log
|
|
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f php@{ $DomainName }
|
|
php_admin_flag[display_errors] = off
|
|
php_admin_flag[log_errors] = on
|
|
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
|
|
php_admin_value[error_log] = syslog
|
|
php_admin_value[memory_limit] = $memory_limit
|
|
php_admin_value[max_execution_time] = 3600
|
|
php_admin_value[post_max_size] = $max_upload_size
|
|
php_admin_value[upload_max_filesize] = $max_upload_size
|
|
php_admin_value[disable_functions] = system, show_source, symlink, dl, passthru
|
|
php_value[include_path] = $include_path
|
|
php_admin_value[open_basedir] = $open_basedir
|
|
php_admin_flag[allow_url_fopen] = on
|
|
php_admin_flag[file_upload] = on
|
|
php_admin_flag[session.cookie_httponly] = on
|
|
php_admin_flag[allow_url_include] = off
|
|
php_admin_value[session.save_handler] = files
|
|
php_admin_flag[output_buffering] = off
|
|
|
|
_EOF
|
|
|
|
}
|
|
else{
|
|
$OUT .= '; RoudnCube is disabled';
|
|
}
|
|
}
|
|
}
|
|
|