Skip to content
Commits on Source (44)
......@@ -90,7 +90,7 @@ build:package:
- if [[ "$VER" == "" ]] ; then VER="3.2dev"$(date +%s) ; fi
- if [[ "$VER" != "" ]] ; then echo "Replacing 3.2dev by $VER" ; sed -i -r 's/3\.2dev/'${VER}'/g' install/tpl/config.inc.php.master install/sql/ispconfig3.sql ; fi
- RET=0
- tar -cpzf ISPConfig-${VER}.tar.gz --exclude "ISPConfig-${VER}.tar.gz" --exclude ".git*" --exclude ".phplint.yml" --transform 's,^\./,ispconfig3_install/,' . || RET=$?
- tar -cpzf ISPConfig-${VER}.tar.gz --exclude "ISPConfig-${VER}.tar.gz" --exclude ".git*" --exclude ".phplint.yml" --transform 's,^\./,ispconfig3_install/,' --mode='0775' ./* || RET=$?
- if [[ $RET > 1 ]] ; then exit $RET ; fi
- echo "Listing tar contents for verification"
- tar -tvf ISPConfig-${VER}.tar.gz
......@@ -101,4 +101,4 @@ build:package:
- echo "Download url is https://download.ispconfig.org/ISPConfig-${VER}.tar.gz"
needs: ["syntax:lint"]
allow_failure: false
\ No newline at end of file
allow_failure: false
......@@ -51,6 +51,8 @@ $conf['services']['dns'] = true;
$conf['services']['file'] = true;
$conf['services']['db'] = true;
$conf['services']['vserver'] = true;
$conf['services']['proxy'] = false;
$conf['services']['firewall'] = false;
//* MySQL
$conf['mysql']['installed'] = false; // will be detected automatically during installation
......@@ -80,7 +82,7 @@ $conf['apache']['installed'] = false; // will be detected automatically during i
$conf['apache']['user'] = 'apache';
$conf['apache']['group'] = 'apache';
$conf['apache']['init_script'] = 'apache2';
$conf['apache']['version'] = '2.2';
$conf['apache']['version'] = '2.4';
$conf['apache']['config_dir'] = '/etc/apache2';
$conf['apache']['config_file'] = $conf['apache']['config_dir'] .'/httpd.conf';
$conf['apache']['ssl_dir'] = '/etc/ssl/apache2';
......@@ -88,8 +90,8 @@ $conf['apache']['vhost_conf_dir'] = $conf['apache']['config_dir'] . '/vhosts.d';
$conf['apache']['vhost_conf_enabled_dir'] = $conf['apache']['vhost_conf_dir'];
$conf['apache']['vhost_default'] = '00_default_vhost.conf';
$conf['apache']['vhost_port'] = '8080';
$conf['apache']['php_ini_path_apache'] = '/etc/php/apache2-php5/php.ini';
$conf['apache']['php_ini_path_cgi'] = '/etc/php/cgi-php5/php.ini';
$conf['apache']['php_ini_path_apache'] = '/etc/php/apache2-php7.4/php.ini';
$conf['apache']['php_ini_path_cgi'] = '/etc/php/cgi-php7.4/php.ini';
//* Website base settings
$conf['web']['website_basedir'] = '/var/www';
......@@ -110,7 +112,7 @@ $conf['awstats']['pl'] = '/usr/bin/awstats.pl';
$conf['awstats']['buildstaticpages_pl'] = '/usr/bin/awstats_buildstaticpages.pl';
//* Fastcgi
$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/cgi-php5';
$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/cgi-php7.4';
$conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/';
$conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi';
......@@ -131,6 +133,10 @@ $conf['mailman']['installed'] = false; // will be detected automatically during
$conf['mailman']['config_dir'] = '/etc/mailman';
$conf['mailman']['init_script'] = 'mailman';
//* mlmmj
$conf['mlmmj']['installed'] = false; // will be detected automatically during installation
$conf['mlmmj']['config_dir'] = '/etc/mlmmj';
//* Getmail
$conf['getmail']['installed'] = false; // will be detected automatically during installation
$conf['getmail']['user'] = 'getmail';
......@@ -176,6 +182,7 @@ $conf['pureftpd']['installed'] = false; // will be detected automatically during
$conf['pureftpd']['config_file'] = '/etc/conf.d/pure-ftpd';
$conf['pureftpd']['mysql_config_file'] = '/etc/pureftpd-mysql.conf';
$conf['pureftpd']['init_script'] = 'pure-ftpd';
$conf['pureftpd']['main_config_file'] = '/etc/pure-ftpd.conf';
//* MyDNS
$conf['mydns']['installed'] = false; // will be detected automatically during installation
......@@ -226,6 +233,13 @@ $conf['nginx']['php_fpm_pool_dir'] = '/etc/php5/fpm/pool.d';
$conf['nginx']['php_fpm_start_port'] = 9010;
$conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php5-fpm';
//* OpenVZ
$conf['openvz']['installed'] = false;
//*Bastille-Firwall
$conf['bastille']['installed'] = false;
$conf['bastille']['config_dir'] = '/etc/Bastille';
//* vlogger
$conf['vlogger']['config_dir'] = '/etc/vlogger';
......@@ -235,10 +249,12 @@ $conf['cron']['crontab_dir'] = '/etc/cron.d';
$conf['cron']['group'] = 'cron';
$conf['cron']['wget'] = '/usr/bin/wget';
//* OpenVZ
$conf['openvz']['installed'] = false;
//* Metronome XMPP
$conf['xmpp']['installed'] = false;
$conf['xmpp']['init_script'] = 'metronome';
// AppArmor
$conf['apparmor']['installed'] = false;
?>
......@@ -6,7 +6,7 @@
{vhost_port_listen} Listen {vhost_port}
<tmpl_if name='apache_version' op='<' value='2.4' format='version'>
NameVirtualHost *:{vhost_port}
# NameVirtualHost *:{vhost_port}
</tmpl_if>
<VirtualHost _default_:{vhost_port}>
......
......@@ -52,7 +52,7 @@ class installer_base {
}
public function update_acme() {
$acme = explode("\n", shell_exec('which acme.sh /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh'));
$acme = explode("\n", shell_exec('which acme.sh /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh 2> /dev/null'));
$acme = reset($acme);
$val = 0;
......@@ -892,6 +892,20 @@ class installer_base {
public function configure_mailman($status = 'insert') {
global $conf;
// Fix for #6314: bug on Debian 11 systems where Mailman3 is not available and broken routes exist in the Mailman config
$data_dir = '/var/lib/mailman';
if (($conf['mailman']['installed'] != true) && is_dir($data_dir)) {
rename($data_dir, $data_dir . '-bk');
//* Create the mailman files
if(!is_dir('/var/lib/mailman/data')) exec('mkdir -p /var/lib/mailman/data');
if(!is_file('/var/lib/mailman/data/aliases')) touch('/var/lib/mailman/data/aliases');
exec('postmap /var/lib/mailman/data/aliases');
if(!is_file('/var/lib/mailman/data/virtual-mailman')) touch('/var/lib/mailman/data/virtual-mailman');
exec('postmap /var/lib/mailman/data/virtual-mailman');
if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman');
exec('postmap /var/lib/mailman/data/transport-mailman');
}
$config_dir = $conf['mailman']['config_dir'].'/';
$full_file_name = $config_dir.'mm_cfg.py';
//* Backup exiting file
......@@ -1653,7 +1667,7 @@ class installer_base {
//* These postconf commands will be executed on installation and update
$server_ini_rec = $this->db->queryOneRecord("SELECT mail_server, config FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . '.server', $conf['server_id']);
$server_ini_array = ini_to_array(stripslashes($server_ini_rec['config']));
$mail_server = ($server_ini_rec['mail_server']) ? true : false;
$mail_server = $conf['services']['mail'];
unset($server_ini_rec);
// amavisd user config file
......@@ -1777,7 +1791,7 @@ class installer_base {
//* These postconf commands will be executed on installation and update
$server_ini_rec = $this->db->queryOneRecord("SELECT mail_server, config FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . '.server', $conf['server_id']);
$server_ini_array = ini_to_array(stripslashes($server_ini_rec['config']));
$mail_server = ($server_ini_rec['mail_server']) ? true : false;
$mail_server = $conf['services']['mail'];
unset($server_ini_rec);
$config_dir = $conf['postfix']['config_dir'];
......@@ -1981,8 +1995,13 @@ class installer_base {
exec('chmod a+r /etc/rspamd/local.d/* /etc/rspamd/local.d/maps.d/* /etc/rspamd/override.d/*');
# protect passwords in these files
exec('chgrp _rspamd /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc');
exec('chmod 640 /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc');
exec('chgrp _rspamd /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf');
exec('chmod 640 /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf');
if(file_exists('/etc/rspamd/local.d/worker-controller.inc')) {
exec('chgrp _rspamd /etc/rspamd/local.d/worker-controller.inc');
exec('chmod 640 /etc/rspamd/local.d/worker-controller.inc');
}
# unneccesary, since this was done above?
$command = 'usermod -a -G amavis _rspamd';
......
######################################################
# This virtual host contains the configuration
# for the ISPConfig apps vhost
######################################################
{tmpl_var name='vhost_port_listen'} Listen {tmpl_var name='apps_vhost_port'}
# NameVirtualHost *:{tmpl_var name='apps_vhost_port'}
<VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}>
ServerAdmin webmaster@localhost
{tmpl_var name='apps_vhost_servername'}
<Directory {tmpl_var name='apps_vhost_dir'}>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
# SSL Configuration
<tmpl_var name="ssl_comment">SSLEngine On
<tmpl_if name='apache_version' op='>=' value='2.3.16' format='version'>
<tmpl_var name="ssl_comment">SSLProtocol All -SSLv3 -TLSv1 -TLSv1.1
<tmpl_else>
<tmpl_var name="ssl_comment">SSLProtocol All -SSLv2 -SSLv3
</tmpl_if>
<tmpl_var name="ssl_comment">SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
<tmpl_var name="ssl_comment">SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
<tmpl_var name="ssl_bundle_comment">SSLCACertificateFile /usr/local/ispconfig/interface/ssl/ispserver.bundle
<tmpl_var name="ssl_comment">SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
<tmpl_var name="ssl_comment">SSLHonorCipherOrder On
<tmpl_if name='apache_version' op='>=' value='2.4.3' format='version'>
<tmpl_var name="ssl_comment">SSLCompression Off
</tmpl_if>
<tmpl_if name='apache_version' op='>=' value='2.4.11' format='version'>
<tmpl_var name="ssl_comment">SSLSessionTickets Off
</tmpl_if>
<IfModule mod_headers.c>
# ISPConfig 3.1 currently requires unsafe-line for both scripts and styles, as well as unsafe-eval
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; object-src 'none'"
<tmpl_var name="ssl_comment">Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; object-src 'none'; upgrade-insecure-requests"
Header set X-Content-Type-Options: nosniff
Header set X-Frame-Options: SAMEORIGIN
Header set X-XSS-Protection: "1; mode=block"
Header always edit Set-Cookie (.*) "$1; HTTPOnly"
<tmpl_var name="ssl_comment">Header always edit Set-Cookie (.*) "$1; Secure"
<IfVersion >= 2.4.7>
Header setifempty Strict-Transport-Security "max-age=15768000"
</IfVersion>
<IfVersion < 2.4.7>
Header set Strict-Transport-Security "max-age=15768000"
</IfVersion>
RequestHeader unset Proxy early
</IfModule>
<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
<tmpl_var name="ssl_comment">SSLUseStapling On
<tmpl_var name="ssl_comment">SSLStaplingResponderTimeout 5
<tmpl_var name="ssl_comment">SSLStaplingReturnResponderErrors Off
</tmpl_if>
<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule>
<IfModule mod_php5.c>
DocumentRoot {tmpl_var name='apps_vhost_dir'}
AddType application/x-httpd-php .php
<Directory {tmpl_var name='apps_vhost_dir'}>
Options FollowSymLinks
AllowOverride None
<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
Require all granted
<tmpl_else>
Order allow,deny
Allow from all
</tmpl_if>
</Directory>
</IfModule>
<IfModule mod_php7.c>
DocumentRoot {tmpl_var name='apps_vhost_dir'}
AddType application/x-httpd-php .php
<Directory {tmpl_var name='apps_vhost_dir'}>
Options FollowSymLinks
AllowOverride None
<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
Require all granted
<tmpl_else>
Order allow,deny
Allow from all
</tmpl_if>
</Directory>
</IfModule>
<IfModule mod_fcgid.c>
DocumentRoot {tmpl_var name='apps_vhost_dir'}
SuexecUserGroup ispapps ispapps
<Directory {tmpl_var name='apps_vhost_dir'}>
Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
AllowOverride AuthConfig Indexes Limit Options FileInfo
<FilesMatch "\.php$">
SetHandler fcgid-script
</FilesMatch>
FCGIWrapper {tmpl_var name='apps_vhost_basedir'}/php-fcgi-scripts/apps/.php-fcgi-starter .php
<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
Require all granted
<tmpl_else>
Order allow,deny
Allow from all
</tmpl_if>
</Directory>
IPCCommTimeout 7200
MaxRequestLen 15728640
</IfModule>
{tmpl_if name="use_rspamd"}
<Location /rspamd>
Order allow,deny
Allow from all
</Location>
RewriteEngine On
RewriteRule ^/rspamd$ /rspamd/ [R,L]
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]
{/tmpl_if}
</VirtualHost>
<tmpl_if name='apache_version' op='>=' value='2.3.3' format='version'>
<IfModule mod_ssl.c>
<tmpl_var name="ssl_comment">SSLStaplingCache shmcb:/var/run/ocsp(128000)
</IfModule>
</tmpl_if>
server/conf/apache_apps.vhost.master
\ No newline at end of file
......@@ -140,6 +140,7 @@ php_fpm_default_chroot=n
bind_user=root
bind_group=bind
bind_zonefiles_dir=/etc/bind
bind_keyfiles_dir=/etc/bind
named_conf_path=/etc/bind/named.conf
named_conf_local_path=/etc/bind/named.conf.local
disable_bind_log=n
......
......@@ -98,6 +98,7 @@ if($do_uninstall == 'yes') {
@exec('chattr -i /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
@unlink("/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter");
@unlink("/var/www/php-fcgi-scripts/ispconfig");
@unlink("/etc/ssl/private/pure-ftpd.pem");
echo "Backups in /var/backup/ and log files in /var/log/ispconfig are not deleted.";
echo "Finished uninstalling.\n";
......
......@@ -77,7 +77,7 @@ class ids {
$line = trim($line);
if(substr($line,0,1) != '#') {
list($user,$path,$varname) = explode(':',$line);
if($current_script_name == $path) {
if($current_script_name == $path || $path == '*') {
if($user = 'any'
|| ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin'))
|| ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
......@@ -100,7 +100,7 @@ class ids {
$line = trim($line);
if(substr($line,0,1) != '#') {
list($user,$path,$varname) = explode(':',$line);
if($current_script_name == $path) {
if($current_script_name == $path || $path == '*') {
if($user = 'any'
|| ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin'))
|| ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
......
......@@ -1652,6 +1652,20 @@ $form["tabs"]['dns'] = array(
'width' => '40',
'maxlength' => '255'
),
'bind_keyfiles_dir' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
'validators' => array( 0 => array('type' => 'NOTEMPTY',
'errmsg' => 'bind_keyfiles_dir_error_empty'),
1 => array ( 'type' => 'REGEX',
'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
'errmsg'=> 'bind_keyfiles_dir_error_regex'),
),
'value' => '',
'width' => '40',
'maxlength' => '255'
),
'named_conf_path' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
......
......@@ -251,7 +251,7 @@ $form['tabs']['users'] = array (
'formtype' => 'CHECKBOX',
'regex' => '',
'errmsg' => '',
'default' => '',
'default' => '1',
'value' => array(0 => 0, 1 => 1),
'separator' => '',
'width' => '30',
......
......@@ -91,10 +91,12 @@ $wb['apps_vhost_servername_txt'] = 'Apps-vhost Domain';
$wb['bind_user_txt'] = 'BIND User';
$wb['bind_group_txt'] = 'BIND Group';
$wb['bind_zonefiles_dir_txt'] = 'BIND zonefiles directory';
$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory';
$wb['named_conf_path_txt'] = 'BIND named.conf path';
$wb['bind_user_error_empty'] = 'BIND user is empty.';
$wb['bind_group_error_empty'] = 'BIND group is empty.';
$wb['bind_zonefiles_dir_error_empty'] = 'BIND zonefiles directory is empty.';
$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.';
$wb['named_conf_path_error_empty'] = 'BIND named.conf path is empty.';
$wb['named_conf_local_path_error_empty'] = 'BIND named.conf.local path is empty.';
$wb['mail_filter_syntax_txt'] = 'Mailfilter Syntax';
......@@ -281,6 +283,7 @@ $wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpag
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
......
......@@ -11,6 +11,9 @@
<div class="form-group">
<label for="bind_zonefiles_dir" class="col-sm-3 control-label">{tmpl_var name='bind_zonefiles_dir_txt'}</label>
<div class="col-sm-9"><input type="text" name="bind_zonefiles_dir" id="bind_zonefiles_dir" value="{tmpl_var name='bind_zonefiles_dir'}" class="form-control" /></div></div>
<div class="form-group">
<label for="bind_keyfiles_dir" class="col-sm-3 control-label">{tmpl_var name='bind_keyfiles_dir_txt'}</label>
<div class="col-sm-9"><input type="text" name="bind_keyfiles_dir" id="bind_keyfiles_dir" value="{tmpl_var name='bind_keyfiles_dir'}" class="form-control" /></div></div>
<div class="form-group">
<label for="named_conf_path" class="col-sm-3 control-label">{tmpl_var name='named_conf_path_txt'}</label>
<div class="col-sm-9"><input type="text" name="named_conf_path" id="named_conf_path" value="{tmpl_var name='named_conf_path'}" class="form-control" /></div></div>
......
......@@ -318,7 +318,7 @@ $form["tabs"]['address'] = array (
'country' => array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => (isset($conf['language']) ? strtoupper($conf['language']) : ''),
'default' => (isset($conf['default_country'])) ? strtoupper($conf['default_country']) : ((isset($conf['language'])) ? strtoupper($conf['language']) : ''),
'datasource' => array ( 'type' => 'SQL',
'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name ASC',
'keyfield' => 'iso',
......
......@@ -27,8 +27,8 @@ $wb['limit_client_txt'] = 'Anzahl der Kunden';
$wb['limit_database_txt'] = 'Anzahl der Datenbanken';
$wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten';
$wb['limit_domain_txt'] = 'Anzahl der Domains';
$wb['limit_mailquota_txt'] = 'Assigned mailbox quota';
$wb['limit_web_quota_txt'] = 'Assigned web quota';
$wb['limit_database_quota_txt'] = 'Assigned database quota';
$wb['limit_mail_wblist_txt'] = 'Number of email white / blacklist entries';
?>
$wb['limit_mailquota_txt'] = 'Zugewiesenes Postfach-Speicherkontingent';
$wb['limit_web_quota_txt'] = 'Zugewiesenes Webspace-Speicherkontingent';
$wb['limit_database_quota_txt'] = 'Zugewiesenes Datenbank-Speicherkontingent';
$wb['limit_mail_wblist_txt'] = 'Anzahl der Email white / blacklist Einträge';
......@@ -140,7 +140,7 @@ function process_login_request(app $app, &$error, $conf, $module)
} else {
//* Do 2FA authentication
if($user['otp_type'] != 'none') {
if(isset($user['otp_type']) && $user['otp_type'] != 'none') {
//* Save session in pending state and destroy original session
$_SESSION['s_pending'] = $_SESSION['s'];
......
......@@ -17,7 +17,7 @@ $wb['server_id_txt'] = 'Server ID';
$wb['password_txt'] = 'Passwort';
$wb['maildir_txt'] = 'E-Mail Verzeichnis';
$wb['postfix_txt'] = 'Aktiviere Empfang';
$wb['tooltip_postfix_txt'] = 'Allows incoming mail to this address.';
$wb['tooltip_postfix_txt'] = 'Lässt eingehende E-Mails an diese E-Mail-Adresse zu.';
$wb['greylisting_txt'] = 'Aktiviere Greylisting';
$wb['access_txt'] = 'Aktiviere Zugriff';
$wb['policy_txt'] = 'Spamfilter';
......@@ -25,9 +25,9 @@ $wb['inherit_policy'] = '- Inherit domain setting -';
$wb['limit_mailbox_txt'] = 'Die maximale Anzahl an E-Mailkonten für Ihr Konto wurde erreicht.';
$wb['limit_mailquota_txt'] = 'Der maximale Speicherplatz für Ihr E-Mail Konto wurde erreicht. Der maximal verfügbare Speicher in MB ist';
$wb['disablesmtp_txt'] = 'SMTP (Mailversand) deaktivieren';
$wb['tooltip_disablesmtp_txt'] = 'Disables mail submission from this mail account.';
$wb['disabledeliver_txt'] = 'Disable (local) delivering';
$wb['tooltip_disabledeliver_txt'] = 'Disables delivery to INBOX, and processing by mail filters and sieve scripts. Mail forwards to \'Send copy to\' address.';
$wb['tooltip_disablesmtp_txt'] = 'Deaktiviert den Versand von E-Mails von diesem E-Mail-Konto.';
$wb['disabledeliver_txt'] = 'Deaktiviere lokale Zustellung';
$wb['tooltip_disabledeliver_txt'] = 'Deaktiviert die Zustellung in den Posteingang und die Verarbeitung durch Mailfilter und Sieve-Skripte. Mails werden an die Adresse \"Kopie senden an\" weitergeleitet.';
$wb['disableimap_txt'] = 'IMAP deaktivieren';
$wb['disablepop3_txt'] = 'POP3 deaktivieren';
$wb['password_strength_txt'] = 'Passwortkomplexität';
......@@ -37,17 +37,17 @@ $wb['autoresponder_start_date_txt'] = 'Startet am';
$wb['autoresponder_start_date_ispast'] = 'Startdatum kann nicht in der Vergangenheit liegen.';
$wb['autoresponder_end_date_txt'] = 'Endet am';
$wb['autoresponder_end_date_isgreater'] = 'Enddatum muss angegeben werden und muss später als das Startdatum sein.';
$wb['move_junk_txt'] = 'Spam E-Mails in das Junk Verzeichnis verschieben';
$wb['move_junk_y_txt'] = 'Move first, before custom filters.';
$wb['move_junk_a_txt'] = 'Move last, after custom filters.';
$wb['move_junk_n_txt'] = 'Do not move Spam Emails to Junk folder.';
$wb['move_junk_txt'] = 'Spam E-Mails in den Junk-Ordner verschieben';
$wb['move_junk_y_txt'] = 'Zuerst verschieben, vor benutzerdefinierten Filtern.';
$wb['move_junk_a_txt'] = 'Als Letztes verschieben, nach benutzerdefinierten Filtern.';
$wb['move_junk_n_txt'] = 'Spam-E-Mails nicht in den Junk-Ordner verschieben.';
$wb['name_txt'] = 'Name';
$wb['name_optional_txt'] = '(optional)';
$wb['autoresponder_active'] = 'Autoresponder aktivieren';
$wb['cc_txt'] = 'Eingehende Mails in Kopie senden an';
$wb['cc_error_isemail'] = 'Das Feld "Kopie senden an" enthält keine gültige E-Mail Adresse';
$wb['forward_in_lda_txt'] = 'Copy during delivery';
$wb['tooltip_forward_in_lda_txt'] = 'Controls if mail copy is forwarded before or during delivery to mailbox.';
$wb['forward_in_lda_txt'] = 'Kopiere E-Mail während der Zustellung';
$wb['tooltip_forward_in_lda_txt'] = 'Legt fest, ob die E-Mail-Kopie vor oder während der Zustellung an die Mailbox weitergeleitet werden soll.';
$wb['login_error_unique'] = 'Benutzername wird bereits verwendet.';
$wb['login_error_regex'] = 'Zulässige Zeichen sind A-Z, a-z, 0-9, ., _ und -.';
$wb['login_txt'] = 'Anmelden';
......@@ -70,8 +70,8 @@ $wb['sender_cc_txt'] = 'Kopie ausgehender Emails senden an (BCC)';
$wb['sender_cc_error_isemail'] = '-Kopie ausgehender Emails senden an- Feld enthält keine gültige Emailadresse';
$wb['sender_cc_note_txt'] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
$wb['password_click_to_set_txt'] = 'Passwort erzeugen';
$wb['purge_trash_days_txt'] = 'Purge Trash automatically after X days';
$wb['tooltip_purge_trash_days_txt'] = '0 = disabled';
$wb['purge_junk_days_txt'] = 'Purge Junk automatically after X days';
$wb['tooltip_purge_junk_days_txt'] = '0 = disabled';
?>
$wb['purge_trash_days_txt'] = 'Papierkorb automatisch nach X Tagen leeren';
$wb['tooltip_purge_trash_days_txt'] = '0 = deaktiviert';
$wb['purge_junk_days_txt'] = 'Junk-Ordner automatisch nach X Tagen leeren';
$wb['tooltip_purge_junk_days_txt'] = '0 = deaktiviert';
......@@ -14,7 +14,7 @@ $wb['domain_txt'] = 'Domain';
$wb['type_txt'] = 'Typ';
$wb['parent_domain_id_txt'] = 'Zugehörige Webseite';
$wb['web_folder_error_regex'] = 'Ungültige Verzeichnisangabe, bitte keinen / eingeben.';
$wb['web_folder_error_empty'] = 'Web folder cannot be empty. Use /web/ to make the same as the Parent Website';
$wb['web_folder_error_empty'] = 'Der Webordner darf nicht leer sein. Verwenden Sie /web/, um denselben Ordner wie die übergeordnete Website zu erstellen.';
$wb['redirect_type_txt'] = 'Weiterleitungstyp';
$wb['r_redirect_txt'] = 'R (Temporary redirect)';
$wb['l_redirect_txt'] = 'L (Last redirect rule)';
......@@ -105,7 +105,7 @@ $wb['hd_quota_error_regex'] = 'Speicherplatzbeschränkung ist ungültig.';
$wb['traffic_quota_error_regex'] = 'Transfervolumenbeschränkung ist ungültig.';
$wb['server_php_id_txt'] = 'PHP Version';
$wb['server_php_id_invalid_txt'] = 'PHP Version is ungültig.';
$wb['server_php_id_default_hidden_warning_txt'] = 'PHP Version was set to "default" but that can no longer be selected. Choose your desired PHP Version and save your settings.';
$wb['server_php_id_default_hidden_warning_txt'] = 'Die PHP-Version war auf "Standard oder Default" eingestellt, kann aber nicht mehr ausgewählt werden. Wählen Sie die gewünschte PHP-Version und speichern Sie Ihre Einstellungen.';
$wb['pm_txt'] = 'PHP-FPM FastCGI Prozess Manager';
$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
......@@ -155,20 +155,20 @@ $wb['http_port_txt'] = 'HTTP Port';
$wb['https_port_txt'] = 'HTTPS Port';
$wb['http_port_error_regex'] = 'HTTP Port ungültig.';
$wb['https_port_error_regex'] = 'HTTPS Port ungültig.';
$wb['enable_pagespeed_txt'] = 'Enable PageSpeed';
$wb['enable_pagespeed_txt'] = 'Aktiviere PageSpeed';
$wb['log_retention_txt'] = 'Log-Dateien Aufbewahrungszeit';
$wb['log_retention_error_regex'] = 'Aufbewahrungszeit in Tagen (Erlaubte Werte: min. 0 - max. 9999)';
$wb['limit_web_quota_not_0_txt'] = 'Harddisk Quota kann nicht 0 sein.';
$wb['proxy_protocol_txt'] = 'Enable PROXY Protocol';
$wb['backup_format_web_txt'] = 'Backup format for web files';
$wb['backup_format_db_txt'] = 'Backup format for database';
$wb['backup_missing_utils_txt'] = 'The following formats can not be used because they are not installed on the webserver: ';
$wb['backup_compression_options_txt'] = 'Compression options';
$wb['backup_encryption_note_txt'] = 'Encryption is only available for 7z, RAR, and zip (not secure).';
$wb['backup_encryption_options_txt'] = 'Encryption options';
$wb['backup_enable_encryption_txt'] = 'Enable encryption';
$wb['backup_password_txt'] = 'Password';
$wb['backup_format_default_txt'] = 'Default: zip (deflate) or tar (gzip)';
$wb['proxy_protocol_txt'] = 'Aktiviere PROXY Protocol';
$wb['backup_format_web_txt'] = 'Backup-Format für Webspace';
$wb['backup_format_db_txt'] = 'Backup-Format für Datenbank';
$wb['backup_missing_utils_txt'] = 'Die folgenden Formate können nicht verwendet werden, da sie nicht auf dem Webserver installiert sind: ';
$wb['backup_compression_options_txt'] = 'Komprimierungsoptionen';
$wb['backup_encryption_note_txt'] = 'Verschlüsselung ist nur für 7z, RAR und zip verfügbar (nicht sicher).';
$wb['backup_encryption_options_txt'] = 'Verschlüsselungsoptionen';
$wb['backup_enable_encryption_txt'] = 'Aktiviere Verschlüsselung';
$wb['backup_password_txt'] = 'Passwort';
$wb['backup_format_default_txt'] = 'Standard: zip (deflate) oder tar (gzip)';
$wb['backup_format_zip_txt'] = 'zip (deflate)';
$wb['backup_format_gzip_txt'] = 'gzip';
$wb['backup_format_bzip2_txt'] = 'bzip2';
......@@ -186,11 +186,11 @@ $wb['backup_format_tar_7z_lzma_txt'] = 'tar + 7z (LZMA)';
$wb['backup_format_tar_7z_lzma2_txt'] = 'tar + 7z (LZMA2)';
$wb['backup_format_tar_7z_ppmd_txt'] = 'tar + 7z (PPMd)';
$wb['backup_format_tar_7z_bzip2_txt'] = 'tar + 7z (BZip2)';
$wb['dependent_domains_txt'] = 'Dependent sub- / aliasdomains';
$wb['error_ipv4_change_forbidden'] = 'The IP cannot be changed. Please contact your administrator if you want to change the IPv4 address.';
$wb['error_ipv6_change_forbidden'] = 'The IP cannot be changed. Please contact your administrator if you want to change the IPv6 address.';
$wb['error_domain_change_forbidden'] = 'The domain name cannot be changed. Please contact your administrator if you want to change the domain name.';
$wb['error_server_change_not_possible'] = 'The server cannot be changed.';
$wb['dependent_domains_txt'] = 'Abhängige Sub-/Aliasdomänen';
$wb['error_ipv4_change_forbidden'] = 'Die IP kann nicht geändert werden. Bitte wenden Sie sich an Ihren Administrator, wenn Sie die IPv4-Adresse ändern möchten.';
$wb['error_ipv6_change_forbidden'] = 'Die IP kann nicht geändert werden. Bitte wenden Sie sich an Ihren Administrator, wenn Sie die IPv6-Adresse ändern möchten.';
$wb['error_domain_change_forbidden'] = 'Der Domänenname kann nicht geändert werden. Wenden Sie sich bitte an Ihren Administrator, wenn Sie den Domänennamen ändern möchten.';
$wb['error_server_change_not_possible'] = 'Der Server kann nicht geändert werden.';
$wb['jailkit_chroot_app_sections_txt'] = 'Jailkit Chroot Anwendungsbereiche';
$wb['jailkit_chroot_app_programs_txt'] = 'Jailkit Chrooted Anwendungen';
$wb['jailkit_chroot_app_sections_error_empty'] = 'Jailkit Chroot Anwendungsbereiche ist leer.';
......@@ -199,6 +199,6 @@ $wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['tooltip_jailkit_chroot_app_sections_txt'] = 'When empty, uses Jailkit chroot app sections from Server Config';
$wb['tooltip_jailkit_chroot_app_programs_txt'] = 'When empty, uses Jailkit chroot applications from Server Config';
$wb['delete_unused_jailkit_txt'] = 'Delete unused jailkit chroot';
$wb['tooltip_delete_unused_jailkit_txt'] = 'Delete the jailkit chroot environment when there are no shell users or cron jobs which require it.';
$wb['ssl_options_not_for_le_txt'] = 'You have Let\'s Encrypt certificates enabled for this website. Please be aware that all options on this page apply to non-Let\'s Encrypt certificates only. Remember to uncheck Let\'s Encrypt on the main tab if you want to switch to a different certificate.';
$wb['delete_unused_jailkit_txt'] = 'Lösche unbenutzte Jailkit chroot';
$wb['tooltip_delete_unused_jailkit_txt'] = 'Lösche die Jailkit-Chroot-Umgebung, wenn es keine Shell-Benutzer oder Cronjobs gibt, die sie benötigen.';
$wb['ssl_options_not_for_le_txt'] = 'Sie haben Let\'s Encrypt-Zertifikate für diese Website aktiviert. Bitte beachten Sie, dass alle Optionen auf dieser Seite nur für Nicht-Let\'s Encrypt-Zertifikate gelten. Denken Sie daran, Let\'s Encrypt auf der Hauptregisterkarte zu deaktivieren, wenn Sie zu einem anderen Zertifikat wechseln möchten.';
......@@ -9,10 +9,12 @@
<VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}>
ServerAdmin webmaster@localhost
{tmpl_var name='apps_vhost_servername'}
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
<Directory {tmpl_var name='apps_vhost_dir'}>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
# SSL Configuration
<tmpl_var name="ssl_comment">SSLEngine On
......@@ -96,7 +98,7 @@
DocumentRoot {tmpl_var name='apps_vhost_dir'}
SuexecUserGroup ispapps ispapps
<Directory {tmpl_var name='apps_vhost_dir'}>
Options +Indexes +FollowSymLinks +MultiViews +ExecCGI
Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
AllowOverride AuthConfig Indexes Limit Options FileInfo
<FilesMatch "\.php$">
SetHandler fcgid-script
......@@ -109,6 +111,8 @@
Allow from all
</tmpl_if>
</Directory>
IPCCommTimeout 7200
MaxRequestLen 15728640
</IfModule>
{tmpl_if name="use_rspamd"}
......
......@@ -17,4 +17,7 @@ pm.max_spare_servers = 5
chdir = /
; php_admin_value[open_basedir] = /var/www/apps:/srv/www/apps:/usr/share
php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
php_admin_flag[magic_quotes_gpc] = off
php_admin_value[post_max_size] = 100M
php_admin_value[upload_max_filesize] = 100M