initial commit of file from CVS for smeserver-phplist on Sat Sep 7 20:52:04 AEST 2024
This commit is contained in:
46
root/etc/e-smith/templates/etc/e-smith/sql/init/phplistdb
Normal file
46
root/etc/e-smith/templates/etc/e-smith/sql/init/phplistdb
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
my $db = ${'phplist'}{'DbName'} || 'phplist';
|
||||
my $user = ${'phplist'}{'DbUser'} || 'phplist';
|
||||
my $pass = ${'phplist'}{'DbPassword'} || 'secret';
|
||||
|
||||
$OUT .= <<"END";
|
||||
|
||||
#! /bin/sh
|
||||
if [ ! -d /var/lib/mysql/$db ]; then
|
||||
/usr/bin/mysql -e 'create database $db'
|
||||
fi
|
||||
|
||||
|
||||
/usr/bin/mysql <<EOF
|
||||
USE mysql;
|
||||
|
||||
REPLACE INTO user (
|
||||
host,
|
||||
user,
|
||||
password)
|
||||
VALUES (
|
||||
'localhost',
|
||||
'${'phplist'}{DbUser}',
|
||||
PASSWORD ('${'phplist'}{DbPassword}'));
|
||||
|
||||
|
||||
REPLACE INTO db (
|
||||
host,
|
||||
db,
|
||||
user,
|
||||
select_priv, insert_priv, update_priv, delete_priv,
|
||||
create_priv, alter_priv, index_priv, drop_priv, create_tmp_table_priv,
|
||||
grant_priv, lock_tables_priv, references_priv)
|
||||
VALUES (
|
||||
'localhost',
|
||||
'${'phplist'}{DbName}',
|
||||
'${'phplist'}{DbUser}',
|
||||
'Y', 'Y', 'Y', 'Y',
|
||||
'Y', 'Y', 'Y', 'Y', 'Y',
|
||||
'N', 'Y', 'Y');
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
EOF
|
||||
END
|
||||
}
|
@@ -0,0 +1,71 @@
|
||||
{
|
||||
|
||||
my $status = $phplist{'status'} || 'disabled';
|
||||
my $access = $phplist{'access'} || 'private';
|
||||
my $auth = $phplist{'Authentication'} || 'internal';
|
||||
my $alias = $phplist{'AliasOnPrimary'} || 'enabled';
|
||||
my $ver = $sysconfig{'ReleaseVersion'} || '8.1';
|
||||
|
||||
my $allow = ( $access eq 'public' ) ? 'all granted' : "ip $localAccess $externalSSLAccess";
|
||||
$alias = ($alias ne 'enabled') ? '' : 'Alias /lists /usr/share/phplist/www/';
|
||||
$auth = ( $auth eq 'http' ) ? 'AuthName "phplist"' . "\n" .
|
||||
" AuthType Basic\n" .
|
||||
" AuthBasicProvider external\n".
|
||||
" AuthExternal pwauth\n".
|
||||
" require valid-user\n" : '';
|
||||
|
||||
if ($status eq 'enabled') {
|
||||
$OUT .=<<"EOF";
|
||||
|
||||
|
||||
$alias
|
||||
<Directory /usr/share/phplist/www/>
|
||||
Options None +FollowSymLinks
|
||||
AllowOverride None
|
||||
DirectoryIndex index.php
|
||||
AddType application/x-httpd-php .php
|
||||
<FilesMatch "\\.(php|inc)\$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
<FilesMatch "(index.php|dl.php|ut.php|lt.php|download.php|connector.php)\$">
|
||||
Require all granted
|
||||
SetHandler "proxy:unix:/var/run/php-fpm/php80-phplist.sock|fcgi://localhost"
|
||||
</FilesMatch>
|
||||
Require $allow
|
||||
</Directory>
|
||||
|
||||
# Admin section
|
||||
<Directory /usr/share/phplist/www/admin>
|
||||
SSLRequireSSL on
|
||||
<FilesMatch "\\.(php|inc)\$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
<FilesMatch "(index.php|connector.php|upload.php)\$">
|
||||
SetHandler "proxy:unix:/var/run/php-fpm/php80-phplist.sock|fcgi://localhost"
|
||||
Require all granted
|
||||
</FilesMatch>
|
||||
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=\$1
|
||||
<RequireAll>
|
||||
Require $allow
|
||||
$auth
|
||||
</RequireAll>
|
||||
</Directory>
|
||||
|
||||
<Directory /usr/share/phplist/www/admin/js>
|
||||
<RequireAny>
|
||||
Require $allow
|
||||
</RequireAny>
|
||||
</Directory>
|
||||
|
||||
<Directory /usr/share/phplist/www/admin/ui>
|
||||
<RequireAny>
|
||||
Require $allow
|
||||
</RequireAny>
|
||||
</Directory>
|
||||
|
||||
EOF
|
||||
}
|
||||
else{
|
||||
$OUT .= "# PHPList is disabled\n";
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
{
|
||||
my $sslport = $modSSL{'TCPPort'} || '443';
|
||||
my $alias = $phplist{'AliasOnPrimary'} || 'enabled';
|
||||
|
||||
if ($port ne $sslport && $alias eq 'enabled'){
|
||||
|
||||
## Redirect Web Address to Secure Address
|
||||
$OUT .= " RewriteEngine on\n";
|
||||
$OUT .= " RewriteRule ^/lists/admin(/.*|\$) https://%{HTTP_HOST}/lists/admin\$1 \[L,R\]\n";
|
||||
|
||||
}
|
||||
}
|
||||
|
66
root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist
Normal file
66
root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phplist
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
|
||||
if ($PHP_VERSION eq '80'){
|
||||
if (($phplist{'status'} || 'disabled') eq 'enabled'){
|
||||
my $max_upload_size = ($phplist{MaxUploadSize} || '6M');
|
||||
$max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/);
|
||||
my $memory_limit = ($phplist{MemoryLimit} || '128M');
|
||||
$memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/);
|
||||
my $open_basedir= $phplist{PHPBaseDir} || '';
|
||||
$open_basedir = "/usr/share/phplist:/var/lib/phplist:/tmp:/etc/phplist:/var/log/phplist:/usr/share/php/auth_translation.php:$open_basedir";
|
||||
my $id = 'phplist';
|
||||
my $max_children = $phplist{'PHPmaxChildren'} || 20;
|
||||
my $min_spare_servers = $phplist{'PHPminServers'} || 4;
|
||||
my $start_servers = $phplist{'PHPstartServers'} || 6;
|
||||
my $max_spare_servers = $phplist{'PHPmaxServers'} || 8;
|
||||
my $max_requests = $phplist{'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[auto_prepend_file] = /usr/share/php/auth_translation.php
|
||||
php_admin_value[session.save_path] = /var/lib/php/$id/session
|
||||
php_admin_value[session.gc_maxlifetime] = 86400
|
||||
php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache
|
||||
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/phplist/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_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, phpinfo, escapeshellarg, escapeshellcmd
|
||||
php_admin_value[open_basedir] = $open_basedir
|
||||
php_admin_flag[allow_url_fopen] = on
|
||||
php_admin_flag[file_uploads] = 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 .= '; phplist is disabled';
|
||||
}
|
||||
}
|
||||
}
|
15
root/etc/e-smith/templates/etc/phplist/config.php/10Database
Normal file
15
root/etc/e-smith/templates/etc/phplist/config.php/10Database
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
|
||||
my $dbn = $phplist{'DbName'} || 'phplist';
|
||||
my $dbu = $phplist{'DbUser'} || 'phplist';
|
||||
my $dbp = $phplist{'DbPassword'} || 'secret';
|
||||
|
||||
$OUT .=<<"HERE";
|
||||
|
||||
\$database_host = "localhost";
|
||||
\$database_name = "$dbn";
|
||||
\$database_user = "$dbu";
|
||||
\$database_password = '$dbp';
|
||||
|
||||
HERE
|
||||
}
|
1
root/etc/e-smith/templates/etc/phplist/config.php/15Smtp
Normal file
1
root/etc/e-smith/templates/etc/phplist/config.php/15Smtp
Normal file
@@ -0,0 +1 @@
|
||||
define("PHPMAILERHOST",'localhost');
|
1
root/etc/e-smith/templates/etc/phplist/config.php/20Test
Normal file
1
root/etc/e-smith/templates/etc/phplist/config.php/20Test
Normal file
@@ -0,0 +1 @@
|
||||
define ("TEST",0);
|
@@ -0,0 +1,7 @@
|
||||
$message_envelope = "phplistbounces@{$DomainName}";
|
||||
$bounce_protocol = 'mbox';
|
||||
define ("MANUALLY_PROCESS_BOUNCES",0);
|
||||
$bounce_mailbox = '/var/lib/phplist/bounces.mbox';
|
||||
$bounce_mailbox_purge = 1;
|
||||
$bounce_mailbox_purge_unprocessed = 1;
|
||||
$bounce_unsubscribe_threshold = 5;
|
@@ -0,0 +1 @@
|
||||
$installation_name = 'phpList {$DomainName}';
|
@@ -0,0 +1,9 @@
|
||||
$require_login = 1;
|
||||
$admin_auth_module = '{(($phplist{'Authentication'} || 'internal') eq 'internal') ? 'phplist_auth.inc':'external_auth.inc'}';
|
||||
define("REGISTER",0);
|
||||
define("MANUALLY_PROCESS_QUEUE",0);
|
||||
define('MAILQUEUE_THROTTLE',0.5);
|
||||
define('USE_DOMAIN_THROTTLE',0);
|
||||
define('DOMAIN_BATCH_SIZE',30);
|
||||
define('DOMAIN_BATCH_PERIOD',300);
|
||||
define('MAX_PROCESSQUEUE_TIME',900);
|
12
root/etc/e-smith/templates/etc/phplist/config.php/40Tracking
Normal file
12
root/etc/e-smith/templates/etc/phplist/config.php/40Tracking
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
if (($phplist{'Tracking'} || 'disabled') eq 'enabled'){
|
||||
$OUT .=<<"EOF";
|
||||
define('CLICKTRACK',1);
|
||||
define('CLICKTRACK_SHOWDETAIL',1);
|
||||
EOF
|
||||
}
|
||||
else{
|
||||
$OUT .= '# Tracking is disabled';
|
||||
}
|
||||
}
|
||||
define("NOSTATSCOLLECTION",1);
|
@@ -0,0 +1,3 @@
|
||||
define("MANUALLY_PROCESS_QUEUE",0);
|
||||
define('MAILQUEUE_THROTTLE',0);
|
||||
define('USE_DOMAIN_THROTTLE',0);
|
15
root/etc/e-smith/templates/etc/phplist/config.php/50Options
Normal file
15
root/etc/e-smith/templates/etc/phplist/config.php/50Options
Normal file
@@ -0,0 +1,15 @@
|
||||
$attachment_repository = '/var/lib/phplist/tmp';
|
||||
define("ALLOW_ATTACHMENTS",1);
|
||||
define('USE_ADMIN_DETAILS_FOR_MESSAGES',1);
|
||||
define("PLUGIN_ROOTDIR","/usr/share/phplist/www/admin/plugins");
|
||||
define("FCKIMAGES_DIR","uploadimages");
|
||||
define('UPLOADIMAGES_DIR','uploadimages');
|
||||
define("FORWARD_PERSONAL_NOTE_SIZE",500);
|
||||
$tmpdir = '/var/lib/phplist/tmp';
|
||||
{
|
||||
my $lang = $phplist{'Language'} || '';
|
||||
$lang .= ($lang =~ m/\.inc$/) ? '' : '.inc';
|
||||
if ($lang ne '' && -e '/usr/share/phplist/www/texts/' . $lang){
|
||||
$OUT .= '$language_module = \'' . $lang . '\';';
|
||||
}
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
=phplistbounces:www:102:102:/var/qmail/alias:-:phplistbounces:
|
||||
+phplistbounces-:www:102:102:/var/qmail/alias:-:-phplistbounces-::
|
@@ -0,0 +1,3 @@
|
||||
{
|
||||
$OUT .= "phplistbounces\@$_\n" for (@domains);
|
||||
}
|
Reference in New Issue
Block a user