fix not quite correctly webserver-log-piping

Signed-off-by: Michael Kaufmann <michael.kaufmann@aixit.com>
This commit is contained in:
Michael Kaufmann 2018-05-24 14:44:59 +02:00
parent bad680cfdb
commit f8236dff7b
7 changed files with 33 additions and 14 deletions

View File

@ -104,14 +104,26 @@ return array(
'save_method' => 'storeSettingField' 'save_method' => 'storeSettingField'
), ),
'system_logfiles_directory' => array( 'system_logfiles_directory' => array(
'label' => (Settings::Get('system.webserver') != 'apache2') ? $lng['serversettings']['logfiles_directory'] : $lng['serversettings']['logfiles_directory2'], 'label' => $lng['serversettings']['logfiles_directory'],
'settinggroup' => 'system', 'settinggroup' => 'system',
'varname' => 'logfiles_directory', 'varname' => 'logfiles_directory',
'type' => 'string', 'type' => 'string',
'string_type' => (Settings::Get('system.webserver') != 'apache2') ? 'dir' : '', 'string_type' => 'dir',
'default' => '/var/customers/logs/', 'default' => '/var/customers/logs/',
'save_method' => 'storeSettingField' 'save_method' => 'storeSettingField'
), ),
'system_logfiles_script' => array(
'label' => $lng['serversettings']['logfiles_script'],
'settinggroup' => 'system',
'varname' => 'logfiles_script',
'type' => 'string',
'string_type' => '',
'default' => '',
'save_method' => 'storeSettingField',
'websrv_avail' => array(
'apache2'
)
),
'system_logfiles_format' => array( 'system_logfiles_format' => array(
'label' => $lng['serversettings']['logfiles_format'], 'label' => $lng['serversettings']['logfiles_format'],
'settinggroup' => 'system', 'settinggroup' => 'system',

View File

@ -659,6 +659,7 @@ opcache.interned_strings_buffer'),
('system', 'logfiles_format', ''), ('system', 'logfiles_format', ''),
('system', 'logfiles_type', '1'), ('system', 'logfiles_type', '1'),
('system', 'logfiles_piped', '0'), ('system', 'logfiles_piped', '0'),
('system', 'logfiles_script', ''),
('panel', 'decimal_places', '4'), ('panel', 'decimal_places', '4'),
('panel', 'adminmail', 'admin@SERVERNAME'), ('panel', 'adminmail', 'admin@SERVERNAME'),
('panel', 'phpmyadmin_url', ''), ('panel', 'phpmyadmin_url', ''),
@ -691,7 +692,7 @@ opcache.interned_strings_buffer'),
('panel', 'password_special_char', '!?<>§$%+#=@'), ('panel', 'password_special_char', '!?<>§$%+#=@'),
('panel', 'customer_hide_options', ''), ('panel', 'customer_hide_options', ''),
('panel', 'version', '0.9.39.5'), ('panel', 'version', '0.9.39.5'),
('panel', 'db_version', '201805240'); ('panel', 'db_version', '201805241');
DROP TABLE IF EXISTS `panel_tasks`; DROP TABLE IF EXISTS `panel_tasks`;

View File

@ -3959,3 +3959,12 @@ if (isDatabaseVersion('201802250')) {
updateToDbVersion('201805240'); updateToDbVersion('201805240');
} }
if (isDatabaseVersion('201805240')) {
showUpdateStep("Adding webserver logfile-script settings");
Settings::AddNew("system.logfiles_script", '');
lastStepStatus(0);
updateToDbVersion('201805241');
}

View File

@ -19,7 +19,7 @@
$version = '0.9.39.5'; $version = '0.9.39.5';
// Database version (YYYYMMDDC where C is a daily counter) // Database version (YYYYMMDDC where C is a daily counter)
$dbversion = '201805240'; $dbversion = '201805241';
// Distribution branding-tag (used for Debian etc.) // Distribution branding-tag (used for Debian etc.)
$branding = ''; $branding = '';

View File

@ -337,8 +337,8 @@ $lng['serversettings']['documentroot_prefix']['title'] = 'Home directory';
$lng['serversettings']['documentroot_prefix']['description'] = 'Where should all home directories be stored?'; $lng['serversettings']['documentroot_prefix']['description'] = 'Where should all home directories be stored?';
$lng['serversettings']['logfiles_directory']['title'] = 'Logfiles directory'; $lng['serversettings']['logfiles_directory']['title'] = 'Logfiles directory';
$lng['serversettings']['logfiles_directory']['description'] = 'Where should all log files be stored?'; $lng['serversettings']['logfiles_directory']['description'] = 'Where should all log files be stored?';
$lng['serversettings']['logfiles_directory2']['title'] = 'Logfiles directory or custom script'; $lng['serversettings']['logfiles_script']['title'] = 'Custom script to pipe log-files to';
$lng['serversettings']['logfiles_directory2']['description'] = 'Where should all log files be stored? Optionally, you can specify a script here and use the placeholders <strong>{LOGFILE}, {DOMAIN} and {CUSTOMER}</strong> if needed. In case of a custom script you will need to activate the <strong>Pipe webserver logfiles</strong> option'; $lng['serversettings']['logfiles_script']['description'] = 'You can specify a script here and use the placeholders <strong>{LOGFILE}, {DOMAIN} and {CUSTOMER}</strong> if needed. In case you want to use it you will need to activate the <strong>Pipe webserver logfiles</strong> option too. No prefixed pipe-character is needed.';
$lng['serversettings']['logfiles_format']['title'] = 'Access-log format'; $lng['serversettings']['logfiles_format']['title'] = 'Access-log format';
$lng['serversettings']['logfiles_format']['description'] = 'Enter a custom log-format here according to your webservers specifications, leave empty for default'; $lng['serversettings']['logfiles_format']['description'] = 'Enter a custom log-format here according to your webservers specifications, leave empty for default';
$lng['serversettings']['logfiles_type']['title'] = 'Access-log type'; $lng['serversettings']['logfiles_type']['title'] = 'Access-log type';

View File

@ -333,8 +333,8 @@ $lng['serversettings']['documentroot_prefix']['title'] = 'Heimatverzeichnis';
$lng['serversettings']['documentroot_prefix']['description'] = 'Wo sollen die Heimatverzeichnisse der Kunden liegen?'; $lng['serversettings']['documentroot_prefix']['description'] = 'Wo sollen die Heimatverzeichnisse der Kunden liegen?';
$lng['serversettings']['logfiles_directory']['title'] = 'Webserver-Logdateien-Verzeichnis'; $lng['serversettings']['logfiles_directory']['title'] = 'Webserver-Logdateien-Verzeichnis';
$lng['serversettings']['logfiles_directory']['description'] = 'Wo sollen die Logdateien des Webservers liegen?'; $lng['serversettings']['logfiles_directory']['description'] = 'Wo sollen die Logdateien des Webservers liegen?';
$lng['serversettings']['logfiles_directory2']['title'] = 'Webserver-Logdateien-Verzeichnis oder eigenes Script'; $lng['serversettings']['logfiles_script']['title'] = 'Eigenes Script zu dem Log-Files übergeben werden';
$lng['serversettings']['logfiles_directory2']['description'] = 'Wo sollen die Logdateien des Webservers liegen? Optional kann hier ein Script hinterlegt und die Platzhalter <strong>{LOGFILE}, {DOMAIN} und {CUSTOMER}</strong> genutzt werden, sofern nötig. Falls ein Script angegeben wird, muss die Option <strong>Webserver Logdateien umleiten</strong> gesetzt werden'; $lng['serversettings']['logfiles_script']['description'] = 'Hier kann ein Script an das die Loginhalte übergeben werden hinterlegt und die Platzhalter <strong>{LOGFILE}, {DOMAIN} und {CUSTOMER}</strong> genutzt werden, sofern nötig. Falls ein Script angegeben wird, muss die Option <strong>Webserver Logdateien umleiten</strong> gesetzt werden';
$lng['serversettings']['logfiles_format']['title'] = 'Access-Log Format'; $lng['serversettings']['logfiles_format']['title'] = 'Access-Log Format';
$lng['serversettings']['logfiles_format']['description'] = 'Hier kann ein angepasstes Log-format entsprechend der Webserver-Dokumentation angegeben werden, leer lassen für Standard'; $lng['serversettings']['logfiles_format']['description'] = 'Hier kann ein angepasstes Log-format entsprechend der Webserver-Dokumentation angegeben werden, leer lassen für Standard';
$lng['serversettings']['logfiles_type']['title'] = 'Access-Log Typ'; $lng['serversettings']['logfiles_type']['title'] = 'Access-Log Typ';

View File

@ -733,19 +733,16 @@ class apache extends HttpConfigBase
$logtype = 'vhost_combined'; $logtype = 'vhost_combined';
} }
if (Settings::Get('system.logfiles_piped') == '1') { if (Settings::Get('system.logfiles_piped') == '1' && Settings::Get('system.logfiles_script') != '') {
// don't use custom-script as path for logfile-names
$error_log = makeCorrectFile($domain['loginname'] . $speciallogfile . '-error.log');
$access_log = makeCorrectFile($domain['loginname'] . $speciallogfile . '-access.log');
// replace for error_log // replace for error_log
$command = replace_variables(Settings::Get('system.logfiles_directory'), array( $command = replace_variables(Settings::Get('system.logfiles_script'), array(
'LOGFILE' => $error_log, 'LOGFILE' => $error_log,
'DOMAIN' => $domain['domain'], 'DOMAIN' => $domain['domain'],
'CUSTOMER' => $domain['loginname'] 'CUSTOMER' => $domain['loginname']
)); ));
$logfiles_text .= ' ErrorLog "| ' . $command . "\"\n"; $logfiles_text .= ' ErrorLog "| ' . $command . "\"\n";
// replace for access_log // replace for access_log
$command = replace_variables(Settings::Get('system.logfiles_directory'), array( $command = replace_variables(Settings::Get('system.logfiles_script'), array(
'LOGFILE' => $access_log, 'LOGFILE' => $access_log,
'DOMAIN' => $domain['domain'], 'DOMAIN' => $domain['domain'],
'CUSTOMER' => $domain['loginname'] 'CUSTOMER' => $domain['loginname']