- recorded merge of revisions 737-1483 via svnmerge from http://Dessa@svn.froxlor.org/branches/philderbeast

- fixes #103
This commit is contained in:
Robert Foerster (Dessa)
2010-11-26 12:30:54 +00:00
parent 01404187cc
commit 6066601568
24 changed files with 2593 additions and 1301 deletions

View File

@@ -28,7 +28,6 @@ return array(
'varname' => 'documentroot_prefix', 'varname' => 'documentroot_prefix',
'type' => 'string', 'type' => 'string',
'default' => '/var/customers/webs/', 'default' => '/var/customers/webs/',
'plausibility_check_method' => 'checkPathConflicts',
'save_method' => 'storeSettingField', 'save_method' => 'storeSettingField',
), ),
'system_ipaddress' => array( 'system_ipaddress' => array(
@@ -59,22 +58,6 @@ return array(
'default' => '', 'default' => '',
'save_method' => 'storeSettingHostname', 'save_method' => 'storeSettingHostname',
), ),
'system_froxlordirectlyviahostname' => array(
'label' => $lng['serversettings']['froxlordirectlyviahostname'],
'settinggroup' => 'system',
'varname' => 'froxlordirectlyviahostname',
'type' => 'bool',
'default' => false,
'save_method' => 'storeSettingField',
),
'system_stdsubdomain' => array(
'label' => $lng['serversettings']['stdsubdomainhost'],
'settinggroup' => 'system',
'varname' => 'stdsubdomain',
'type' => 'string',
'default' => '',
'save_method' => 'storeSettingHostname',
),
'system_mysql_access_host' => array( 'system_mysql_access_host' => array(
'label' => $lng['serversettings']['mysql_access_host'], 'label' => $lng['serversettings']['mysql_access_host'],
'settinggroup' => 'system', 'settinggroup' => 'system',
@@ -84,6 +67,15 @@ return array(
'plausibility_check_method' => 'checkMysqlAccessHost', 'plausibility_check_method' => 'checkMysqlAccessHost',
'save_method' => 'storeSettingMysqlAccessHost', 'save_method' => 'storeSettingMysqlAccessHost',
), ),
'system_realtime_port' => array(
'label' => $lng['serversettings']['system_realtime_port'],
'settinggroup' => 'system',
'varname' => 'realtime_port',
'type' => (function_exists('socket_create') ? 'int' : 'hidden'),
'int_max' => 65535,
'default' => 0,
'save_method' => 'storeSettingField',
),
'system_index_file_extension' => array( 'system_index_file_extension' => array(
'label' => $lng['serversettings']['index_file_extension'], 'label' => $lng['serversettings']['index_file_extension'],
'settinggroup' => 'system', 'settinggroup' => 'system',
@@ -101,6 +93,18 @@ return array(
'default' => true, 'default' => true,
'save_method' => 'storeSettingField', 'save_method' => 'storeSettingField',
), ),
'system_httpuser' => array(
'settinggroup' => 'system',
'varname' => 'httpuser',
'type' => 'hidden',
'default' => 'www-data',
),
'system_httpgroup' => array(
'settinggroup' => 'system',
'varname' => 'httpgroup',
'type' => 'hidden',
'default' => 'www-data',
),
'system_debug_cron' => array( 'system_debug_cron' => array(
'label' => $lng['serversettings']['cron']['debug'], 'label' => $lng['serversettings']['cron']['debug'],
'settinggroup' => 'system', 'settinggroup' => 'system',

View File

@@ -29,7 +29,7 @@ return array(
'type' => 'option', 'type' => 'option',
'default' => 'Apache2', 'default' => 'Apache2',
'option_mode' => 'one', 'option_mode' => 'one',
'option_options' => array('apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd'), 'option_options' => array('apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd', 'nginx' => 'Nginx'),
'save_method' => 'storeSettingField', 'save_method' => 'storeSettingField',
'overview_option' => true 'overview_option' => true
), ),
@@ -253,4 +253,4 @@ return array(
), ),
); );
?> ?>

View File

@@ -84,6 +84,14 @@ return array(
'default' => 250, 'default' => 250,
'save_method' => 'storeSettingField', 'save_method' => 'storeSettingField',
), ),
'system_mod_fcgid_startport' => array(
'label' => $lng['serversettings']['mod_fcgid_startport'],
'settinggroup' => 'system',
'varname' => 'mod_fcgid_startport',
'type' => 'int',
'default' => 8888,
'save_method' => 'storeSettingField',
),
'system_mod_fcgid_defaultini' => array( 'system_mod_fcgid_defaultini' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini'], 'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
'settinggroup' => 'system', 'settinggroup' => 'system',

View File

@@ -44,6 +44,14 @@ return array(
'default' => '/var/www/cgi-bin/', 'default' => '/var/www/cgi-bin/',
'save_method' => 'storeSettingField', 'save_method' => 'storeSettingField',
), ),
'perl_server' => array(
'label' => $lng['serversettings']['perl_server'],
'settinggroup' => 'system',
'varname' => 'perl_server',
'type' => 'string',
'default' => 'unix:/var/run/nginx/cgiwrap-dispatch.sock',
'save_method' => 'storeSettingField',
),
), ),
), ),
), ),

File diff suppressed because it is too large Load Diff

View File

@@ -449,6 +449,11 @@ else
{ {
$webserver = 'lighttpd'; $webserver = 'lighttpd';
} }
elseif(substr(strtoupper(@php_sapi_name()), 0, 8) == "NGINX"
|| stristr($_SERVER['SERVER_SOFTWARE'], "nginx"))
{
$webserver = 'nginx';
}
else else
{ {
// we don't need to bail out, since unknown does not affect any critical installation routines // we don't need to bail out, since unknown does not affect any critical installation routines
@@ -671,6 +676,14 @@ if(isset($_POST['installstep'])
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/lighttpd/lighttpd.pem' WHERE `settinggroup` = 'system' AND `varname` = 'ssl_cert_file'"); $db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/lighttpd/lighttpd.pem' WHERE `settinggroup` = 'system' AND `varname` = 'ssl_cert_file'");
$ssettings = ''; $ssettings = '';
} }
elseif($webserver == "nginx")
{
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/sites-enabled/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_vhost'");
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/sites-enabled/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_diroptions'");
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/nginx/froxlor-htpasswd/' WHERE `settinggroup` = 'system' AND `varname` = 'apacheconf_htpasswddir'");
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '/etc/init.d/nginx reload' WHERE `settinggroup` = 'system' AND `varname` = 'apachereload_command'");
$ssettings = '';
}
// insert the lastcronrun to be the installation date // insert the lastcronrun to be the installation date
@@ -901,7 +914,7 @@ else
</tr> </tr>
<tr> <tr>
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $webserver == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['webserver']; ?>:</td> <td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $webserver == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['webserver']; ?>:</td>
<td class="main_field_display"><input type="radio" name="webserver" value="apache2" <?php echo $webserver == "apache2" ? 'checked="checked"' : "" ?>/>Apache2&nbsp;<br /><input type="radio" name="webserver" value="lighttpd" <?php echo $webserver == "lighttpd" ? 'checked="checked"' : "" ?>/>Lighttpd</td> <td class="main_field_display"><input type="radio" name="webserver" value="apache2" <?php echo $webserver == "apache2" ? 'checked="checked"' : "" ?>/>Apache2&nbsp;<br /><input type="radio" name="webserver" value="lighttpd" <?php echo $webserver == "lighttpd" ? 'checked="checked"' : "" ?>/>Lighttpd2&nbsp;<br /><input type="radio" name="webserver" value="nginx" <?php echo $webserver == "nginx" ? 'checked="checked"' : "" ?>/>Nginx</td>
</tr> </tr>
<tr> <tr>
<td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $serverip == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['httpuser']; ?>:</td> <td class="main_field_name"<?php echo ((!empty($_POST['installstep']) && $serverip == '') ? ' style="color:red;"' : ''); ?>><?php echo $lng['install']['httpuser']; ?>:</td>

View File

@@ -62,7 +62,49 @@ return Array(
'rc-update add lighttpd default', 'rc-update add lighttpd default',
'/etc/init.d/lighttpd restart' '/etc/init.d/lighttpd restart'
) )
) ),
'nginx' => Array(
'label' => 'Nginx Webserver',
'commands_1' => Array(
'emerge nginx',
),
'files' => Array(
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
),
'commands_2' => Array(
'mkdir -p ' . $settings['system']['documentroot_prefix'],
'mkdir -p ' . $settings['system']['logfiles_directory'],
'mkdir -p ' . $settings['system']['deactivateddocroot'],
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod u+x /etc/init.d/php-fcgi'
),
'restart' => Array(
'/etc/init.d/nginx restart'
)
),
'nginx' => Array(
'label' => 'Nginx Webserver',
'commands_1' => Array(
'apt-get install nginx',
),
'files' => Array(
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
),
'commands_2' => Array(
'mkdir -p ' . $settings['system']['documentroot_prefix'],
'mkdir -p ' . $settings['system']['logfiles_directory'],
'mkdir -p ' . $settings['system']['deactivateddocroot'],
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod u+x /etc/init.d/php-fcgi'
),
'restart' => Array(
'/etc/init.d/nginx restart'
)
)
) )
), ),
'dns' => Array( 'dns' => Array(

View File

@@ -62,6 +62,29 @@ return Array(
'restart' => Array( 'restart' => Array(
'/etc/init.d/lighttpd restart' '/etc/init.d/lighttpd restart'
) )
),
'nginx' => Array(
'label' => 'Nginx Webserver',
'commands_1' => Array(
'apt-get install nginx php5-cgi',
),
'files' => Array(
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
),
'commands_2' => Array(
'rm /etc/nginx/sites-enabled/default',
'mkdir -p ' . $settings['system']['documentroot_prefix'],
'mkdir -p ' . $settings['system']['logfiles_directory'],
//'mkdir -p ' . $settings['system']['deactivateddocroot'],
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod u+x /etc/init.d/php-fcgi'
),
'restart' => Array(
'/etc/init.d/php-fcgi start',
'/etc/init.d/nginx restart'
)
) )
) )
), ),

View File

@@ -62,6 +62,29 @@ return Array(
'restart' => Array( 'restart' => Array(
'/etc/init.d/lighttpd restart' '/etc/init.d/lighttpd restart'
) )
),
'nginx' => Array(
'label' => 'Nginx Webserver',
'commands_1' => Array(
'apt-get install nginx php5-cgi',
),
'files' => Array(
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
),
'commands_2' => Array(
'rm /etc/nginx/sites-enabled/default',
'mkdir -p ' . $settings['system']['documentroot_prefix'],
'mkdir -p ' . $settings['system']['logfiles_directory'],
//'mkdir -p ' . $settings['system']['deactivateddocroot'],
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod u+x /etc/init.d/php-fcgi'
),
'restart' => Array(
'/etc/init.d/php-fcgi start',
'/etc/init.d/nginx restart'
)
) )
) )
), ),

View File

@@ -61,9 +61,32 @@ return Array(
), ),
'restart' => Array( 'restart' => Array(
'/etc/init.d/lighttpd restart' '/etc/init.d/lighttpd restart'
),
),
'nginx' => Array(
'label' => 'Nginx Webserver',
'commands_1' => Array(
'apt-get install nginx php5-cgi',
),
'files' => Array(
'etc_nginx_nginx.conf' => '/etc/nginx/nginx.conf',
'etc_init.d_php-fcgi' => '/etc/init.d/php-fcgi'
),
'commands_2' => Array(
'rm /etc/nginx/sites-enabled/default',
'mkdir -p ' . $settings['system']['documentroot_prefix'],
'mkdir -p ' . $settings['system']['logfiles_directory'],
'mkdir -p ' . $settings['system']['deactivateddocroot'],
'mkdir -p ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod 1777 ' . $settings['system']['mod_fcgid_tmpdir'],
'chmod u+x /etc/init.d/php-fcgi'
),
'restart' => Array(
'/etc/init.d/php-fcgi start',
'/etc/init.d/nginx restart'
) )
) ),
) ),
), ),
'dns' => Array( 'dns' => Array(
'label' => $lng['admin']['configfiles']['dns'], 'label' => $lng['admin']['configfiles']['dns'],

View File

@@ -1515,4 +1515,8 @@ $lng['serversettings']['login_domain_login'] = 'Allow login with domains';
$lng['panel']['unlock'] = 'unlock'; $lng['panel']['unlock'] = 'unlock';
$lng['question']['customer_reallyunlock'] = 'Do you really want to unlock customer %s?'; $lng['question']['customer_reallyunlock'] = 'Do you really want to unlock customer %s?';
?> //ADDED IN FROXLOR NGINX BRANCH
$lng['serversettings']['perl_server']['title'] = 'Perl server location';
$lng['serversettings']['perl_server']['description'] = 'This is only used for Nginx<br />defaultis set for using the guide found at: http://wiki.nginx.org/SimpleCGI';
?>

View File

@@ -1474,6 +1474,9 @@ $lng['admin']['templates']['forgotpwd'] = 'Benachrichtigungs-Mails bei Zur&uuml;
$lng['admin']['templates']['password_reset'] = 'Kunden-Benachrichtigung nach Zur&uuml;cksetzen des Passworts'; $lng['admin']['templates']['password_reset'] = 'Kunden-Benachrichtigung nach Zur&uuml;cksetzen des Passworts';
$lng['admin']['store_defaultindex'] = 'Erstelle standard Index-Datei in Kunden-Ordner'; $lng['admin']['store_defaultindex'] = 'Erstelle standard Index-Datei in Kunden-Ordner';
// ADDED FOR NGINX
$lng['serversettings']['mod_fcgid_startport']['title'] = '<b>Nur f&uuml;r Nginx:</b> Port f&uuml;r FastCGI';
$lng['serversettings']['mod_fcgid_startport']['description'] = 'Erster Port der Portrange.';
// ADDED IN FROXLOR 0.9.13-svn1 // ADDED IN FROXLOR 0.9.13-svn1
$lng['customer']['autoresponder'] = 'Abwesenheitsnachrichten'; $lng['customer']['autoresponder'] = 'Abwesenheitsnachrichten';

View File

@@ -75,7 +75,7 @@ $lng['customer']['unlimited'] = 'bez limitu';
* Customermenue * Customermenue
*/ */
$lng['menue']['main']['main'] = 'Panel g&#322<EFBFBD>wny'; $lng['menue']['main']['main'] = 'Panel g<EFBFBD><EFBFBD>wny';
$lng['menue']['main']['changepassword'] = 'Zmie&#324 has&#322o'; $lng['menue']['main']['changepassword'] = 'Zmie&#324 has&#322o';
$lng['menue']['main']['changelanguage'] = 'Zmie&#324 j&#281zyk'; $lng['menue']['main']['changelanguage'] = 'Zmie&#324 j&#281zyk';
$lng['menue']['email']['email'] = 'E-mail'; $lng['menue']['email']['email'] = 'E-mail';
@@ -218,16 +218,16 @@ $lng['error']['errordocpathdupe'] = 'Option for path %s already exists';
$lng['error']['adduserfirst'] = 'Prosz&#281 w pierwszej kolejno&#347ci utworzy&#263 klienta'; $lng['error']['adduserfirst'] = 'Prosz&#281 w pierwszej kolejno&#347ci utworzy&#263 klienta';
$lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer'; $lng['error']['domainalreadyexists'] = 'The domain %s is already assigned to a customer';
$lng['error']['nolanguageselect'] = 'Nie wybrano j&#281zyka.'; $lng['error']['nolanguageselect'] = 'Nie wybrano j&#281zyka.';
$lng['error']['nosubjectcreate'] = 'Musisz zdefiniowa&#263 temat dla szablonu e-maila.'; $lng['error']['nosubjectcreate'] = 'Musisz zdefiniowa<EFBFBD> temat dla szablonu e-maila.';
$lng['error']['nomailbodycreate'] = 'Musisz zdefiniowa&#263 tre&#347&#263 dla szablonu e-maila.'; $lng['error']['nomailbodycreate'] = 'Musisz zdefiniowa<EFBFBD> tre<72><65> dla szablonu e-maila.';
$lng['error']['templatenotfound'] = 'Szablon nie zosta&#322 znaleziony.'; $lng['error']['templatenotfound'] = 'Szablon nie zosta<EFBFBD> znaleziony.';
$lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.'; $lng['error']['alltemplatesdefined'] = 'You cant define more templates, all languages are supported already.';
$lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.'; $lng['error']['wwwnotallowed'] = 'www is not allowed for subdomains.';
$lng['error']['subdomainiswrong'] = 'The subdomain %s contains invalid characters.'; $lng['error']['subdomainiswrong'] = 'The subdomain %s contains invalid characters.';
$lng['error']['domaincantbeempty'] = 'Nazwa domeny nie mo&#380e by&#263 pusta.'; $lng['error']['domaincantbeempty'] = 'Nazwa domeny nie mo<EFBFBD>e by<62> pusta.';
$lng['error']['domainexistalready'] = 'Domena %s ju&#380 istnieje.'; $lng['error']['domainexistalready'] = 'Domena %s ju<EFBFBD> istnieje.';
$lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain or belongs to another customer.'; $lng['error']['domainisaliasorothercustomer'] = 'The selected alias domain is either itself an alias domain or belongs to another customer.';
$lng['error']['emailexistalready'] = 'Adres e-mail %s ju&#380 istnieje.'; $lng['error']['emailexistalready'] = 'Adres e-mail %s ju<EFBFBD> istnieje.';
$lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.'; $lng['error']['maindomainnonexist'] = 'The main-domain %s does not exist.';
$lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.'; $lng['error']['destinationnonexist'] = 'Please create your forwarder in the field \'Destination\'.';
$lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active EMail-Address.'; $lng['error']['destinationalreadyexistasmail'] = 'The forwarder to %s already exists as active EMail-Address.';
@@ -242,7 +242,7 @@ $lng['error']['domainname'] = $lng['domains']['domainname'];
$lng['question']['question'] = 'Pytanie bezpiecze&#324stwa'; $lng['question']['question'] = 'Pytanie bezpiecze&#324stwa';
$lng['question']['admin_customer_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 klienta %s? Ta czynno&#347&#263 jest niedwracalna!'; $lng['question']['admin_customer_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 klienta %s? Ta czynno&#347&#263 jest niedwracalna!';
$lng['question']['admin_domain_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 domen&#281 %s?'; $lng['question']['admin_domain_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 domen&#281 %s?';
$lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Czy na pewno chcesz deaktywowa&#263 ustawienia bezpiecze&#324stwa (OpenBasedir i/lub SafeMode)?'; $lng['question']['admin_domain_reallydisablesecuritysetting'] = 'Czy na pewno chcesz deaktywowa<EFBFBD> ustawienia bezpiecze<EFBFBD>stwa (OpenBasedir i/lub SafeMode)?';
$lng['question']['admin_admin_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 administratora %s? Wszystcy klienci i domeny zostan&#261 przypisani do Twojego konta.'; $lng['question']['admin_admin_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 administratora %s? Wszystcy klienci i domeny zostan&#261 przypisani do Twojego konta.';
$lng['question']['admin_template_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 szablon \'%s\'?'; $lng['question']['admin_template_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 szablon \'%s\'?';
$lng['question']['domains_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 domen&#281 %s?'; $lng['question']['domains_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 domen&#281 %s?';
@@ -254,7 +254,6 @@ $lng['question']['extras_reallydelete_pathoptions'] = 'Do you really want to del
$lng['question']['ftp_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 konto FTP %s?'; $lng['question']['ftp_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 konto FTP %s?';
$lng['question']['mysql_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 baz&#281 danych %s? Ta czynno&#347&#263 jest niedwracalna!'; $lng['question']['mysql_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 baz&#281 danych %s? Ta czynno&#347&#263 jest niedwracalna!';
$lng['question']['admin_configs_reallyrebuild'] = 'Czy napewno chcesz przebudowa&#263 pliki konfiguracyjne Apacha i Binda?'; $lng['question']['admin_configs_reallyrebuild'] = 'Czy napewno chcesz przebudowa&#263 pliki konfiguracyjne Apacha i Binda?';
$lng['question']['admin_customer_alsoremovefiles'] = 'Remove user files too?';
/** /**
* Mails * Mails
@@ -329,27 +328,27 @@ $lng['admin']['webserver'] = 'Webserwer';
*/ */
$lng['serversettings']['session_timeout']['title'] = 'Timeout Sesji'; $lng['serversettings']['session_timeout']['title'] = 'Timeout Sesji';
$lng['serversettings']['session_timeout']['description'] = 'jak d&#322ugo u&#380ytkownik mo&#380e by&#263 nieaktywny przed automatycznym wylogowaniem (sekund)?'; $lng['serversettings']['session_timeout']['description'] = 'jak d<EFBFBD>ugo u<>ytkownik mo<6D>e by<62> nieaktywny przed automatycznym wylogowaniem (sekund)?';
$lng['serversettings']['accountprefix']['title'] = 'Customer prefix'; $lng['serversettings']['accountprefix']['title'] = 'Customer prefix';
$lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?'; $lng['serversettings']['accountprefix']['description'] = 'Which prefix should customer accounts have?';
$lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix'; $lng['serversettings']['mysqlprefix']['title'] = 'SQL Prefix';
$lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should mysql accounts have?'; $lng['serversettings']['mysqlprefix']['description'] = 'Which prefix should mysql accounts have?';
$lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix'; $lng['serversettings']['ftpprefix']['title'] = 'FTP Prefix';
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?'; $lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?';
$lng['serversettings']['documentroot_prefix']['title'] = 'Katalog domowy'; $lng['serversettings']['documentroot_prefix']['title'] = 'Home directory';
$lng['serversettings']['documentroot_prefix']['description'] = 'Gdzie powinny by&#263 przechowywane wszystkie katalogi domowe?'; $lng['serversettings']['documentroot_prefix']['description'] = 'Where should all home directories be stored?';
$lng['serversettings']['logfiles_directory']['title'] = 'Katalog z logami'; $lng['serversettings']['logfiles_directory']['title'] = 'Logfiles directory';
$lng['serversettings']['logfiles_directory']['description'] = 'Gdzie powinny by&#263 przechowywane wszystkie logi?'; $lng['serversettings']['logfiles_directory']['description'] = 'Where should all log files be stored?';
$lng['serversettings']['ipaddress']['title'] = 'Adres IP'; $lng['serversettings']['ipaddress']['title'] = 'Adres IP';
$lng['serversettings']['ipaddress']['description'] = 'Jaki jest adres IP tego serwera?'; $lng['serversettings']['ipaddress']['description'] = 'Jaki jest adres IP tego serwera?';
$lng['serversettings']['hostname']['title'] = 'Hostname'; $lng['serversettings']['hostname']['title'] = 'Hostname';
$lng['serversettings']['hostname']['description'] = 'Jaki jest Hostname serwera?'; $lng['serversettings']['hostname']['description'] = 'Jaki jest Hostname serwera?';
$lng['serversettings']['apachereload_command']['title'] = 'Komenda prze<7A>adowania Apache'; $lng['serversettings']['apachereload_command']['title'] = 'Apache reload command';
$lng['serversettings']['apachereload_command']['description'] = 'Jaka jest komenda, do prze<7A>adowania plik<69>w konfiguracyjnych Apacha?'; $lng['serversettings']['apachereload_command']['description'] = 'What\'s the apache command to reload apache configfiles?';
$lng['serversettings']['bindconf_directory']['title'] = 'Katalog z konfiguracj<63> Bunda'; $lng['serversettings']['bindconf_directory']['title'] = 'Bind config directory';
$lng['serversettings']['bindconf_directory']['description'] = 'Gdzie maja by<62> zapisywane pliki konfiguracyjne dla Binda?'; $lng['serversettings']['bindconf_directory']['description'] = 'Where should bind configfiles be saved?';
$lng['serversettings']['bindreload_command']['title'] = 'Komenda prze<7A>adowania Binda'; $lng['serversettings']['bindreload_command']['title'] = 'Bind reload command';
$lng['serversettings']['bindreload_command']['description'] = 'Jaka jest komenda, do prze<7A>adowania plik<69>w konfiguracyjnych Binda?'; $lng['serversettings']['bindreload_command']['description'] = 'What\'s the bind command to reload bind configfiles?';
$lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone'; $lng['serversettings']['binddefaultzone']['title'] = 'Bind default zone';
$lng['serversettings']['binddefaultzone']['description'] = 'What\'s the name of the default zone?'; $lng['serversettings']['binddefaultzone']['description'] = 'What\'s the name of the default zone?';
$lng['serversettings']['vmail_uid']['title'] = 'Mails-UID'; $lng['serversettings']['vmail_uid']['title'] = 'Mails-UID';
@@ -357,20 +356,20 @@ $lng['serversettings']['vmail_uid']['description'] = 'Which UserID should mails
$lng['serversettings']['vmail_gid']['title'] = 'Mails-GID'; $lng['serversettings']['vmail_gid']['title'] = 'Mails-GID';
$lng['serversettings']['vmail_gid']['description'] = 'Which GroupID should mails have?'; $lng['serversettings']['vmail_gid']['description'] = 'Which GroupID should mails have?';
$lng['serversettings']['vmail_homedir']['title'] = 'Katalog domowy e-maili'; $lng['serversettings']['vmail_homedir']['title'] = 'Katalog domowy e-maili';
$lng['serversettings']['vmail_homedir']['description'] = 'Gdzie maj&#261 by&#263 sk&#322adowane wiadomo&#347ci e-mail?'; $lng['serversettings']['vmail_homedir']['description'] = 'Gdzie maj<EFBFBD> by<62> sk<73>adowane wiadomo<EFBFBD>ci e-mail?';
$lng['serversettings']['adminmail']['title'] = 'Nadawca'; $lng['serversettings']['adminmail']['title'] = 'Nadawca';
$lng['serversettings']['adminmail']['description'] = 'Jaki jest adres nadawcy dla wiadomo&#347ci wysy&#322anych z panelu?'; $lng['serversettings']['adminmail']['description'] = 'Jaki jest adres nadawcy dla wiadomo<EFBFBD>ci wysy<EFBFBD>anych z panelu?';
$lng['serversettings']['phpmyadmin_url']['title'] = 'URL do phpMyAdmina'; $lng['serversettings']['phpmyadmin_url']['title'] = 'URL do phpMyAdmina';
$lng['serversettings']['phpmyadmin_url']['description'] = 'Jaki jest adres URL do phpMyAdmina? (Musi si&#281 rozpoczyna&#263 do http(s)://)'; $lng['serversettings']['phpmyadmin_url']['description'] = 'What\'s the URL to phpMyAdmin? (has to start with http(s)://)';
$lng['serversettings']['webmail_url']['title'] = 'URL do WebMaila'; $lng['serversettings']['webmail_url']['title'] = 'WebMail URL';
$lng['serversettings']['webmail_url']['description'] = 'Jaki jest adres URL do WebMaila? (Musi si&#281 rozpoczyna&#263 do http(s)://)'; $lng['serversettings']['webmail_url']['description'] = 'What\'s the URL to WebMail? (has to start with http(s)://)';
$lng['serversettings']['webftp_url']['title'] = 'URL do WebFTPa'; $lng['serversettings']['webftp_url']['title'] = 'WebFTP URL';
$lng['serversettings']['webftp_url']['description'] = 'Jaki jest adres URL do WebFTPa? (Musi si&#281 rozpoczyna&#263 do http(s)://)'; $lng['serversettings']['webftp_url']['description'] = 'What\'s the URL to WebFTP? (has to start with http(s)://)';
$lng['serversettings']['language']['description'] = 'Jaki jest standardowy j&#281zyk serwera?'; $lng['serversettings']['language']['description'] = 'What\'s your standard server language?';
$lng['serversettings']['maxloginattempts']['title'] = 'Maksymalna ilo<6C><6F> pr<70>b logowania'; $lng['serversettings']['maxloginattempts']['title'] = 'Max Login Attempts';
$lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.'; $lng['serversettings']['maxloginattempts']['description'] = 'Maximum login attempts after which the account gets deactivated.';
$lng['serversettings']['deactivatetime']['title'] = 'Czas zablokowania'; $lng['serversettings']['deactivatetime']['title'] = 'Czas zablokowania';
$lng['serversettings']['deactivatetime']['description'] = 'Czas (sek.) zablokowania dost&#281pu do konta po nieudanym logowaniu.'; $lng['serversettings']['deactivatetime']['description'] = 'Czas (sek.) zablokowania dost<EFBFBD>pu do konta po nieudanym logowaniu.';
$lng['serversettings']['pathedit']['title'] = 'Type of path input'; $lng['serversettings']['pathedit']['title'] = 'Type of path input';
$lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?'; $lng['serversettings']['pathedit']['description'] = 'Should a path be selected by a dropdown menu or by an input field?';
$lng['serversettings']['nameservers']['title'] = 'Serwery Nazw (Nameserwery)'; $lng['serversettings']['nameservers']['title'] = 'Serwery Nazw (Nameserwery)';
@@ -382,7 +381,7 @@ $lng['serversettings']['mxservers']['description'] = 'A comma seperated list con
* CHANGED BETWEEN 1.2.12 and 1.2.13 * CHANGED BETWEEN 1.2.12 and 1.2.13
*/ */
$lng['mysql']['description'] = 'W tym miejscu mo&#380esz tworzy&#263 i zmienia&#263 Twoje bazy MySQL.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>Databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>Databasename</i></b>'; $lng['mysql']['description'] = 'W tym miejscu mo<EFBFBD>esz tworzy<EFBFBD> i zmienia<EFBFBD> Twoje bazy MySQL.<br />The changes are made instantly and the database can be used immediately.<br />At the menu on the left side you find the tool phpMyAdmin with which you can easily administer your database.<br /><br />To use your databases in your own php-scripts use the following settings: (The data in <i>italics</i> have to be changed into the equivalents you typed in!)<br />Hostname: <b><SQL_HOST></b><br />Username: <b><i>Databasename</i></b><br />Password: <b><i>the password you\'ve chosen</i></b><br />Database: <b><i>Databasename</i></b>';
/** /**
* ADDED BETWEEN 1.2.12 and 1.2.13 * ADDED BETWEEN 1.2.12 and 1.2.13
@@ -396,9 +395,9 @@ $lng['error']['cantdeletesystemip'] = 'You cannot delete the last system IP, eit
$lng['error']['myipaddress'] = '\'IP\''; $lng['error']['myipaddress'] = '\'IP\'';
$lng['error']['myport'] = '\'Port\''; $lng['error']['myport'] = '\'Port\'';
$lng['error']['myipdefault'] = 'You need to select an IP/Port combination that should become default.'; $lng['error']['myipdefault'] = 'You need to select an IP/Port combination that should become default.';
$lng['error']['myipnotdouble'] = 'Kombinacja IP/Port ju&#380 istnieje.'; $lng['error']['myipnotdouble'] = 'Kombinacja IP/Port ju<EFBFBD> istnieje.';
$lng['error']['admin_domain_emailsystemhostname'] = 'Sorry. You can not use the Server Hostname as email domain'; $lng['error']['admin_domain_emailsystemhostname'] = 'Sorry. You can not use the Server Hostname as email domain';
$lng['question']['admin_ip_reallydelete'] = 'Czy na pewno chcesz skasowa&#263 adres IP %s?'; $lng['question']['admin_ip_reallydelete'] = 'Czy na pewno chcesz skasowa<EFBFBD> adres IP %s?';
$lng['admin']['ipsandports']['ipsandports'] = 'IP i Porty'; $lng['admin']['ipsandports']['ipsandports'] = 'IP i Porty';
$lng['admin']['ipsandports']['add'] = 'Dodaj IP/Port'; $lng['admin']['ipsandports']['add'] = 'Dodaj IP/Port';
$lng['admin']['ipsandports']['edit'] = 'Edytuj IP/Port'; $lng['admin']['ipsandports']['edit'] = 'Edytuj IP/Port';
@@ -534,7 +533,7 @@ $lng['admin']['configfiles']['choosedaemon'] = '-- Wybierz daemona --';
// ADDED IN 1.2.16-svn10 // ADDED IN 1.2.16-svn10
$lng['serversettings']['ftpdomain']['title'] = 'konta FTP @domena'; $lng['serversettings']['ftpdomain']['title'] = 'konta FTP @domena';
$lng['serversettings']['ftpdomain']['description'] = 'Klienci mog&#261 tworzy&#263 konta FTP uzytkownik@domenaklienta?'; $lng['serversettings']['ftpdomain']['description'] = 'Klienci mog<EFBFBD> tworzy<EFBFBD> konta FTP uzytkownik@domenaklienta?';
$lng['panel']['back'] = 'Back'; $lng['panel']['back'] = 'Back';
// ADDED IN 1.2.16-svn12 // ADDED IN 1.2.16-svn12
@@ -582,9 +581,9 @@ $lng['admin']['ipsandports']['create_vhostcontainer_servername_statement'] = 'Cr
$lng['admin']['webalizersettings'] = 'Usttawienia Webalizera'; $lng['admin']['webalizersettings'] = 'Usttawienia Webalizera';
$lng['admin']['webalizer']['normal'] = 'Normalny'; $lng['admin']['webalizer']['normal'] = 'Normalny';
$lng['admin']['webalizer']['quiet'] = 'Cichy'; $lng['admin']['webalizer']['quiet'] = 'Cichy';
$lng['admin']['webalizer']['veryquiet'] = 'Bez danych wyj&#347cia'; $lng['admin']['webalizer']['veryquiet'] = 'Bez danych wyj<EFBFBD>cia';
$lng['serversettings']['webalizer_quiet']['title'] = 'Dane wyj&#347cia Webalizera'; $lng['serversettings']['webalizer_quiet']['title'] = 'Dane wyj<EFBFBD>cia Webalizera';
$lng['serversettings']['webalizer_quiet']['description'] = 'Gadatliwo&#347&#263 programu Webalizer'; $lng['serversettings']['webalizer_quiet']['description'] = 'Gadatliwo<EFBFBD><EFBFBD> programu Webalizer';
// ADDED IN 1.2.18-svn3 // ADDED IN 1.2.18-svn3
@@ -597,7 +596,7 @@ $lng['menue']['ticket']['archive'] = 'Archiwum zg&#322osze&#324';
$lng['ticket']['description'] = 'Here you can send help-requests to your responsible administrator.<br />Notifications will be sent via e-mail.'; $lng['ticket']['description'] = 'Here you can send help-requests to your responsible administrator.<br />Notifications will be sent via e-mail.';
$lng['ticket']['ticket_new'] = 'Utw<74>rz nowe zg&#322oszenie'; $lng['ticket']['ticket_new'] = 'Utw<74>rz nowe zg&#322oszenie';
$lng['ticket']['ticket_reply'] = 'Odpowied&#378 na zg&#322oszenie'; $lng['ticket']['ticket_reply'] = 'Odpowied&#378 na zg&#322oszenie';
$lng['ticket']['ticket_reopen'] = 'Ponownie otw<74>rz zg&#322oszenie'; $lng['ticket']['ticket_reopen'] = 'Ponownie otw<74>rz zg<EFBFBD>oszenie';
$lng['ticket']['ticket_newcateory'] = 'Utw<74>rz now&#261 kategori&#281'; $lng['ticket']['ticket_newcateory'] = 'Utw<74>rz now&#261 kategori&#281';
$lng['ticket']['ticket_editcateory'] = 'Edytuj kategori&#281'; $lng['ticket']['ticket_editcateory'] = 'Edytuj kategori&#281';
$lng['ticket']['ticket_view'] = 'View ticketcourse'; $lng['ticket']['ticket_view'] = 'View ticketcourse';
@@ -627,7 +626,7 @@ $lng['ticket']['reopen'] = 'Ponownie otw
$lng['ticket']['archive'] = 'Zarchiwizuj'; $lng['ticket']['archive'] = 'Zarchiwizuj';
$lng['ticket']['ticket_delete'] = 'Kasuj zg&#322oszenie'; $lng['ticket']['ticket_delete'] = 'Kasuj zg&#322oszenie';
$lng['ticket']['lastarchived'] = 'Recently archived tickets'; $lng['ticket']['lastarchived'] = 'Recently archived tickets';
$lng['ticket']['archivedtime'] = 'Zarchiwizowano'; $lng['ticket']['archivedtime'] = 'Archived';
$lng['ticket']['open'] = 'Otwarte'; $lng['ticket']['open'] = 'Otwarte';
$lng['ticket']['wait_reply'] = 'czeka na odpowiedz'; $lng['ticket']['wait_reply'] = 'czeka na odpowiedz';
$lng['ticket']['replied'] = 'Replied'; $lng['ticket']['replied'] = 'Replied';
@@ -635,9 +634,9 @@ $lng['ticket']['closed'] = 'Zamkni&#281te';
$lng['ticket']['staff'] = 'Dzia&#322 pomocy technicznej'; $lng['ticket']['staff'] = 'Dzia&#322 pomocy technicznej';
$lng['ticket']['customer'] = 'Klient'; $lng['ticket']['customer'] = 'Klient';
$lng['ticket']['old_tickets'] = 'Ticket messages'; $lng['ticket']['old_tickets'] = 'Ticket messages';
$lng['ticket']['search'] = 'Przeszukaj archiwum'; $lng['ticket']['search'] = 'Search archive';
$lng['ticket']['nocustomer'] = 'Nie wybrano'; $lng['ticket']['nocustomer'] = 'Nie wybrano';
$lng['ticket']['archivesearch'] = 'Wynik przeszukiwania archiwum'; $lng['ticket']['archivesearch'] = 'Archive searchresults';
$lng['ticket']['noresults'] = 'Nie znaleziono zg&#322osze&#324'; $lng['ticket']['noresults'] = 'Nie znaleziono zg&#322osze&#324';
$lng['ticket']['notmorethanxopentickets'] = 'Due to spam-protection you cannot have more than %s open tickets'; $lng['ticket']['notmorethanxopentickets'] = 'Due to spam-protection you cannot have more than %s open tickets';
$lng['ticket']['supportstatus'] = 'Status wsparcia technicznego'; $lng['ticket']['supportstatus'] = 'Status wsparcia technicznego';
@@ -690,7 +689,7 @@ $lng['customer']['tickets'] = 'Zg&#322oszenia wsparcia technicznego';
$lng['admin']['domain_nocustomeraddingavailable'] = 'Nie jest mo&#380liwe, by doda&#263 teraz domen&#281. W pierwszej kolejno&#347ci trzeba doda&#263 klienta.'; $lng['admin']['domain_nocustomeraddingavailable'] = 'Nie jest mo&#380liwe, by doda&#263 teraz domen&#281. W pierwszej kolejno&#347ci trzeba doda&#263 klienta.';
$lng['serversettings']['ticket']['enable'] = 'Wspracie techniczne w&#322&#261czone'; $lng['serversettings']['ticket']['enable'] = 'Wspracie techniczne w&#322&#261czone';
$lng['serversettings']['ticket']['concurrentlyopen'] = 'Ile zg&#322osze&#324 mo&#380e by&#263 otwartych w jednym czasie?'; $lng['serversettings']['ticket']['concurrentlyopen'] = 'Ile zg<EFBFBD>osze<EFBFBD> mo<6D>e by<62> otwartych w jednym czasie?';
$lng['error']['norepymailiswrong'] = 'The &quot;Noreply-address&quot; is wrong. Only a valid email-address is allowed.'; $lng['error']['norepymailiswrong'] = 'The &quot;Noreply-address&quot; is wrong. Only a valid email-address is allowed.';
$lng['error']['tadminmailiswrong'] = 'The &quot;Ticketadmin-address&quot; is wrong. Only a valid email-address is allowed.'; $lng['error']['tadminmailiswrong'] = 'The &quot;Ticketadmin-address&quot; is wrong. Only a valid email-address is allowed.';
$lng['ticket']['awaitingticketreply'] = 'Masz %s zg&#322osze&#324 do pomocy technicznej'; $lng['ticket']['awaitingticketreply'] = 'Masz %s zg&#322osze&#324 do pomocy technicznej';
@@ -710,7 +709,7 @@ $lng['serversettings']['mod_fcgid']['tmpdir'] = 'Katalog plik
$lng['serversettings']['ticket']['reset_cycle'] = 'Okresowe reset licznika u&#380ycia zg&#322osze&#324 pomocy technicznej'; $lng['serversettings']['ticket']['reset_cycle'] = 'Okresowe reset licznika u&#380ycia zg&#322osze&#324 pomocy technicznej';
$lng['serversettings']['ticket']['reset_cycle_desc'] = 'Resetowanie zg&#322osze&#324 pomocy technicznej powoduje ustawienie licznika na warto&#347&#263 0 przy ka&#380dym cyklu'; $lng['serversettings']['ticket']['reset_cycle_desc'] = 'Resetowanie zg&#322osze&#324 pomocy technicznej powoduje ustawienie licznika na warto&#347&#263 0 przy ka&#380dym cyklu';
$lng['admin']['tickets']['daily'] = 'Dziennie'; $lng['admin']['tickets']['daily'] = 'Dziennie';
$lng['admin']['tickets']['weekly'] = 'Tygodniowo'; $lng['admin']['tickets']['weekly'] = 'Wygodniowo';
$lng['admin']['tickets']['monthly'] = 'Miesi&#281cznie'; $lng['admin']['tickets']['monthly'] = 'Miesi&#281cznie';
$lng['admin']['tickets']['yearly'] = 'Rocznie'; $lng['admin']['tickets']['yearly'] = 'Rocznie';
$lng['error']['ticketresetcycleiswrong'] = 'The cycle for ticket-resets has to be "daily", "weekly", "monthly" or "yearly".'; $lng['error']['ticketresetcycleiswrong'] = 'The cycle for ticket-resets has to be "daily", "weekly", "monthly" or "yearly".';
@@ -766,7 +765,7 @@ $lng['logger']['truncate'] = 'Wyszy&#347&#263 logi';
// ADDED IN 1.2.19-svn7 // ADDED IN 1.2.19-svn7
$lng['serversettings']['ssl']['use_ssl'] = 'U&#380yj SSL'; $lng['serversettings']['ssl']['use_ssl'] = 'U<EFBFBD>yj SSL';
$lng['serversettings']['ssl']['ssl_cert_file'] = 'Gdzie jest zlokalizowany Certyfikat'; $lng['serversettings']['ssl']['ssl_cert_file'] = 'Gdzie jest zlokalizowany Certyfikat';
$lng['serversettings']['ssl']['openssl_cnf'] = 'Standardowe dane do tworzenia pliku certyfikatu'; $lng['serversettings']['ssl']['openssl_cnf'] = 'Standardowe dane do tworzenia pliku certyfikatu';
$lng['panel']['reseller'] = 'reseller'; $lng['panel']['reseller'] = 'reseller';
@@ -776,7 +775,7 @@ $lng['error']['nomessagetosend'] = 'Nie wprowadzono wiadomo&#347ci.';
$lng['error']['noreceipientsgiven'] = 'Nie wprowadzono &#380adnego odbiorcy'; $lng['error']['noreceipientsgiven'] = 'Nie wprowadzono &#380adnego odbiorcy';
$lng['admin']['emaildomain'] = 'Emaildomain'; $lng['admin']['emaildomain'] = 'Emaildomain';
$lng['admin']['email_only'] = 'Only email?'; $lng['admin']['email_only'] = 'Only email?';
$lng['admin']['wwwserveralias'] = 'Doda&#263 &quot;www.&quot; ServerAlias'; $lng['admin']['wwwserveralias'] = 'Doda<EFBFBD> &quot;www.&quot; ServerAlias';
$lng['admin']['ipsandports']['enable_ssl'] = 'Is this an SSL Port?'; $lng['admin']['ipsandports']['enable_ssl'] = 'Is this an SSL Port?';
$lng['admin']['ipsandports']['ssl_cert_file'] = 'Path to the SSL Certificate'; $lng['admin']['ipsandports']['ssl_cert_file'] = 'Path to the SSL Certificate';
$lng['panel']['send'] = 'send'; $lng['panel']['send'] = 'send';
@@ -825,6 +824,8 @@ $lng['error']['cannotuseawstatsandwebalizeratonetime'] = 'You cannot enable Weba
$lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics'; $lng['serversettings']['webalizer_enabled'] = 'Enable webalizer statistics';
$lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics'; $lng['serversettings']['awstats_enabled'] = 'Enable awstats statistics';
$lng['admin']['awstatssettings'] = 'Ustawienia Awstats'; $lng['admin']['awstatssettings'] = 'Ustawienia Awstats';
$lng['serversettings']['awstats_domain_file']['title'] = 'Awstats domainfiles directory';
$lng['serversettings']['awstats_model_file']['title'] = 'Awstats model file';
// ADDED IN 1.2.19-svn16 // ADDED IN 1.2.19-svn16
@@ -868,8 +869,15 @@ $lng['pwdreminder']['success'] = 'Password reset successfully.<br />You now shou
// ADDED IN 1.2.19-svn18 // ADDED IN 1.2.19-svn18
$lng['serversettings']['allow_preset'] = 'Zezwalaj na resetowanie has&#322a przez klient<6E>w'; $lng['serversettings']['allow_preset'] = 'Allow password reset by customers';
$lng['pwdreminder']['notallowed'] = 'Resetowanie has&#322a jest nieaktywne'; $lng['pwdreminder']['notallowed'] = 'Password reset is deactivated';
// ADDED IN 1.2.19-svn20
$lng['serversettings']['awstats_path']['title'] = 'Path to awstats cgi-bin folder';
$lng['serversettings']['awstats_path']['description'] = 'e.g. /usr/share/webapps/awstats/6.1/webroot/cgi-bin/';
$lng['serversettings']['awstats_updateall_command']['title'] = 'Path to &quot;awstats_updateall.pl&quot;';
$lng['serversettings']['awstats_updateall_command']['description'] = 'e.g. /usr/bin/awstats_updateall.pl';
// ADDED IN 1.2.19-svn21 // ADDED IN 1.2.19-svn21
@@ -895,18 +903,18 @@ $lng['domains']['topleveldomain'] = 'Top-Level-Domain';
// ADDED IN 1.2.19-svn22 // ADDED IN 1.2.19-svn22
$lng['serversettings']['allow_password_reset']['description'] = 'Klienci mog&#261 zresetowa&#263 has&#322o, a nowe has&#322o zostanie wys&#322ane na ich adres e-mail'; $lng['serversettings']['allow_password_reset']['description'] = 'Customers can reset their password and a new password will be sent to their e-mail address';
$lng['serversettings']['allow_password_reset_admin']['title'] = 'Zezwalaj na resetowanie has&#322a przez administrator<6F>w'; $lng['serversettings']['allow_password_reset_admin']['title'] = 'Allow password reset by admins';
$lng['serversettings']['allow_password_reset_admin']['description'] = 'Administratorzy/Resellerzy mog&#261 resetowa&#263 has&#322o, a nowe has&#322o zostanie wys&#322ane na ich adres e-mail'; $lng['serversettings']['allow_password_reset_admin']['description'] = 'Admins/reseller can reset their password and a new password will be sent to their e-mail address';
// ADDED IN 1.2.19-svn25 // ADDED IN 1.2.19-svn25
$lng['emails']['quota'] = 'Quota'; $lng['emails']['quota'] = 'Quota';
$lng['emails']['noquota'] = 'Brak quoty'; $lng['emails']['noquota'] = 'No quota';
$lng['emails']['updatequota'] = 'Aktualizuj Quot&#281'; $lng['emails']['updatequota'] = 'Update Quota';
$lng['serversettings']['mail_quota']['title'] = 'Quota skrzynki pocztowej'; $lng['serversettings']['mail_quota']['title'] = 'Mailbox-quota';
$lng['serversettings']['mail_quota']['description'] = 'Standardowa quota dla nowoutworzonych skrzynek pocztowych (MegaBajty).'; $lng['serversettings']['mail_quota']['description'] = 'The default quota for a new created mailboxes (MegaByte).';
$lng['serversettings']['mail_quota_enabled']['title'] = 'U&#380yj Quoty skrzynek pocztowych dla klient<6E>w'; $lng['serversettings']['mail_quota_enabled']['title'] = 'Use mailbox-quota for customers';
$lng['serversettings']['mail_quota_enabled']['description'] = 'Activate to use quotas on mailboxes. Default is <b>No</b> since this requires a special setup.'; $lng['serversettings']['mail_quota_enabled']['description'] = 'Activate to use quotas on mailboxes. Default is <b>No</b> since this requires a special setup.';
$lng['serversettings']['mail_quota_enabled']['removelink'] = 'Click here to wipe all quotas for mail accounts.'; $lng['serversettings']['mail_quota_enabled']['removelink'] = 'Click here to wipe all quotas for mail accounts.';
$lng['serversettings']['mail_quota_enabled']['enforcelink'] = 'Click here to enforce default quota to all User mail accounts.'; $lng['serversettings']['mail_quota_enabled']['enforcelink'] = 'Click here to enforce default quota to all User mail accounts.';
@@ -941,7 +949,7 @@ $lng['error']['autoresponderalreadyexists'] = 'There is already an autoresponder
$lng['error']['invalidautoresponder'] = 'The given account is invalid.'; $lng['error']['invalidautoresponder'] = 'The given account is invalid.';
$lng['serversettings']['autoresponder_active']['title'] = 'U&#380yj modu&#322u autorespondera'; $lng['serversettings']['autoresponder_active']['title'] = 'U&#380yj modu&#322u autorespondera';
$lng['serversettings']['autoresponder_active']['description'] = 'Do you want to use the autoresponder module?'; $lng['serversettings']['autoresponder_active']['description'] = 'Do you want to use the autoresponder module?';
$lng['admin']['security_settings'] = 'Opcje bezpiecze&#324stwa'; $lng['admin']['security_settings'] = 'Security Options';
$lng['admin']['know_what_youre_doing'] = 'Zmie&#324 TYLKO je&#347li wiesz co robisz!'; $lng['admin']['know_what_youre_doing'] = 'Zmie&#324 TYLKO je&#347li wiesz co robisz!';
$lng['admin']['show_version_login']['title'] = 'Pokazuj wersj&#281 Froxlora przy logowaniu'; $lng['admin']['show_version_login']['title'] = 'Pokazuj wersj&#281 Froxlora przy logowaniu';
$lng['admin']['show_version_login']['description'] = 'Pokazuj wersj&#281 Froxlora w stopce struno logowania'; $lng['admin']['show_version_login']['description'] = 'Pokazuj wersj&#281 Froxlora w stopce struno logowania';
@@ -1136,29 +1144,29 @@ $lng['aps']['allpackages'] = 'All Packages';
$lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>'; $lng['question']['reallyremovepackages'] = '<strong>Do you really want to delete these packages?</strong><br/><br/>Packages with dependencies can only be remove if the corresponding Instances have been removed!<br/><br/>';
$lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.'; $lng['aps']['nopackagesinsystem'] = 'There were no packages installed in the system which could be managed.';
$lng['aps']['packagenameandstatus'] = 'Packagename &amp; Status'; $lng['aps']['packagenameandstatus'] = 'Packagename &amp; Status';
$lng['aps']['activate_aps']['title'] = 'Instalator aplikacji w&#322&#261czony'; $lng['aps']['activate_aps']['title'] = 'Enable APS Installer';
$lng['aps']['activate_aps']['description'] = 'Here the APS Installer can be enabled and disabled globaly.'; $lng['aps']['activate_aps']['description'] = 'Here the APS Installer can be enabled and disabled globaly.';
$lng['aps']['packages_per_page']['title'] = 'Paczek na stronie'; $lng['aps']['packages_per_page']['title'] = 'Packages per page';
$lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?'; $lng['aps']['packages_per_page']['description'] = 'How many packages should be displayed per page for customers?';
$lng['aps']['upload_fields']['title'] = 'Ilo&#347&#263 p<>l Uploadu na stronie'; $lng['aps']['upload_fields']['title'] = 'Upload fields per page';
$lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?'; $lng['aps']['upload_fields']['description'] = 'How many upload fields should be displayed on the page to install new packages in the system?';
$lng['aps']['exceptions']['title'] = 'Exceptions for Package validation'; $lng['aps']['exceptions']['title'] = 'Exceptions for Package validation';
$lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The Installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.'; $lng['aps']['exceptions']['description'] = 'Some packages need special configuration parameters or modules. The Installer cannot always determine if this options/extensions are available. For this reason you can now define exceptions that packages can be installed in the system. Do only select options which match your real configuration setup. For further information about this problem look into the handbook for this module.';
$lng['aps']['settings_php_extensions'] = 'Rozszerzenia PHP'; $lng['aps']['settings_php_extensions'] = 'PHP-Extensions';
$lng['aps']['settings_php_configuration'] = 'Konfiguracja PHP'; $lng['aps']['settings_php_configuration'] = 'PHP-Configuration';
$lng['aps']['settings_webserver_modules'] = 'Modu&#322y Webserwera'; $lng['aps']['settings_webserver_modules'] = 'Webserver modules';
$lng['aps']['settings_webserver_misc'] = 'Webserver miscellaneous'; $lng['aps']['settings_webserver_misc'] = 'Webserver miscellaneous';
$lng['aps']['specialoptions'] = 'Special options'; $lng['aps']['specialoptions'] = 'Special options';
$lng['aps']['removeunused'] = 'Usu&#324 nieuzywane paczki'; $lng['aps']['removeunused'] = 'Remove unused packages';
$lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others'; $lng['aps']['enablenewest'] = 'Enabled newest version of package, lock others';
$lng['aps']['installations'] = 'Instalacje'; $lng['aps']['installations'] = 'Installations';
$lng['aps']['statistics'] = 'Statystyki'; $lng['aps']['statistics'] = 'Statistics';
$lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>'; $lng['aps']['numerofpackagesinstalled'] = '%s Packages installed<br/>';
$lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>'; $lng['aps']['numerofpackagesenabled'] = '%s Packages enabled<br/>';
$lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>'; $lng['aps']['numerofpackageslocked'] = '%s Packages locked<br/>';
$lng['aps']['numerofinstances'] = '%s Instances installed<br/>'; $lng['aps']['numerofinstances'] = '%s Instances installed<br/>';
$lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>'; $lng['question']['reallydoaction'] = '<strong>Do you really want to execute the selected actions?</strong><br/><br/>Data which can be lost by continuing, cannot be restored later.<br/><br/>';
$lng['aps']['linktolicense'] = 'Link do licencji'; $lng['aps']['linktolicense'] = 'Link to license';
$lng['aps']['initerror_customer'] = 'There is currently a problem with this Froxlor extension. Contact your administrator for further information.'; $lng['aps']['initerror_customer'] = 'There is currently a problem with this Froxlor extension. Contact your administrator for further information.';
$lng['aps']['numerofinstances'] = '%s Installations at all<br/>'; $lng['aps']['numerofinstances'] = '%s Installations at all<br/>';
$lng['aps']['numerofinstancessuccess'] = '%s successful Installations<br/>'; $lng['aps']['numerofinstancessuccess'] = '%s successful Installations<br/>';
@@ -1183,11 +1191,11 @@ $lng['error']['admindoesntexist'] = 'The admin you have chosen doesn\'t exist.';
$lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor'; $lng['serversettings']['system_realtime_port']['title'] = 'Port for realtime Froxlor';
$lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>'; $lng['serversettings']['system_realtime_port']['description'] = 'Froxlor connects to this port at localhost everytime a new cron task is scheduled. If value is 0 (zero), this feature is disabled.<br />See also: <a href="https://wiki.froxlor.org/contrib/realtime">Make Froxlor work in realtime (Froxlor Wiki)</a>';
$lng['serversettings']['session_allow_multiple_login']['title'] = 'Zezwalaj na jednoczesne logowanie'; $lng['serversettings']['session_allow_multiple_login']['title'] = 'Allow multiple login';
$lng['serversettings']['session_allow_multiple_login']['description'] = 'Je&#347li jest zaznaczone u&#380ytkownik mo&#380e zalogowa&#263 si&#281 jednocze&#347cie, wiele razy.'; $lng['serversettings']['session_allow_multiple_login']['description'] = 'If activated a user could login multiple times.';
$lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Zezwalaj na przenoszenie domen pomi&#281dzy administratorami'; $lng['serversettings']['panel_allow_domain_change_admin']['title'] = 'Allow moving domains between admins';
$lng['serversettings']['panel_allow_domain_change_admin']['description'] = 'If activated you can change the admin of a domain at domainsettings.<br /><b>Attention:</b> If a customer isn\'t assigned to the same admin as the domain, the admin can see every other domain of that customer!'; $lng['serversettings']['panel_allow_domain_change_admin']['description'] = 'If activated you can change the admin of a domain at domainsettings.<br /><b>Attention:</b> If a customer isn\'t assigned to the same admin as the domain, the admin can see every other domain of that customer!';
$lng['serversettings']['panel_allow_domain_change_customer']['title'] = 'Zezwalaj na przenoszenie domen pomi&#281dzy klientami'; $lng['serversettings']['panel_allow_domain_change_customer']['title'] = 'Allow moving domains between customers';
$lng['serversettings']['panel_allow_domain_change_customer']['description'] = 'If activated you can change the customer of a domain at domainsettings.<br /><b>Attention:</b> Froxlor won\'t change any paths. This could render a domain unusable!'; $lng['serversettings']['panel_allow_domain_change_customer']['description'] = 'If activated you can change the customer of a domain at domainsettings.<br /><b>Attention:</b> Froxlor won\'t change any paths. This could render a domain unusable!';
$lng['domains']['associated_with_domain'] = 'Associated'; $lng['domains']['associated_with_domain'] = 'Associated';
$lng['domains']['aliasdomains'] = 'Alias domains'; $lng['domains']['aliasdomains'] = 'Alias domains';
@@ -1204,17 +1212,17 @@ $lng['serversettings']['mod_fcgid']['maxrequests']['title'] = 'Maximum Requests
$lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?'; $lng['serversettings']['mod_fcgid']['maxrequests']['description'] = 'How many requests should be allowed per domain?';
// fix bug #1124 // fix bug #1124
$lng['admin']['webserver'] = 'Webserwer'; $lng['admin']['webserver'] = 'Webserver';
$lng['error']['admin_domain_emailsystemhostname'] = 'The server-hostname cannot be used as email-domain.'; $lng['error']['admin_domain_emailsystemhostname'] = 'The server-hostname cannot be used as email-domain.';
$lng['aps']['license_link'] = 'Link do licencji'; $lng['aps']['license_link'] = 'Link to the license';
// ADDED IN 1.4.2.1-1 // ADDED IN 1.4.2.1-1
$lng['mysql']['mysql_server'] = 'Serwer MySQL'; $lng['mysql']['mysql_server'] = 'MySQL-Server';
// ADDED IN 1.4.2.1-2 // ADDED IN 1.4.2.1-2
$lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Domy&#347lna Konfiguracja Webserwera'; $lng['admin']['ipsandports']['webserverdefaultconfig'] = 'Webserver Default Config';
$lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config'; $lng['admin']['ipsandports']['webserverdomainconfig'] = 'Webserver Domain Config';
$lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config'; $lng['admin']['ipsandports']['webserverssldomainconfig'] = 'Webserver SSL Config';
$lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile'; $lng['admin']['ipsandports']['ssl_key_file'] = 'Path to the SSL Keyfile';
@@ -1250,137 +1258,49 @@ $lng['panel']['off'] = 'off';
$lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.'; $lng['update']['updateinprogress_onlyadmincanlogin'] = 'A newer version of Froxlor has been installed but not yet set up.<br />Only the administrator can log in and finish the update.';
$lng['update']['update'] = 'Aktualizacja Froxlora'; $lng['update']['update'] = 'Aktualizacja Froxlora';
$lng['update']['proceed'] = 'Proceed'; $lng['update']['proceed'] = 'Proceed';
$lng['update']['update_information']['part_a'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.'; $lng['update']['update_information'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
$lng['update']['update_information']['part_b'] = '<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>'; $lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)'; $lng['admin']['cron']['cronsettings'] = 'ustawienia Cronjob';
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
$lng['tasks']['rebuild_webserverconfig'] = 'Przebudowanie konfiguracji webserwera';
$lng['tasks']['adding_customer'] = 'Dodanie nowego klienta %loginname%';
$lng['tasks']['rebuild_bindconfig'] = 'Przebudowanie konfiguracji binda';
$lng['tasks']['creating_ftpdir'] = 'Tworzenie katalogu dla nowych u&#380ytkownik<69>w FTP';
$lng['tasks']['deleting_customerfiles'] = 'Kasowanie plik<69>w klienta %loginname%';
$lng['tasks']['noneoutstanding'] = 'Obecnie nie ma zaplanowanych zada&#324 dla Froxlora';
$lng['ticket']['nonexistingcustomer'] = '(usuni&#281ty klient)';
$lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
// ADDED IN FROXLOR 0.9.1
$lng['admin']['accountdata'] = 'Dane konta';
$lng['admin']['contactdata'] = 'Dane kontaktowe';
$lng['admin']['servicedata'] = 'Dane us&#322ugi';
// ADDED IN FROXLOR 0.9.2
$lng['admin']['newerversionavailable'] = 'Jest dost&#281pna nowa wersja Froxlora';
// ADDED IN FROXLOR 0.9.3
$lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.';
$lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field &quot;%s&quot; changed while editing the settings.<br /><br />This is usually not a big problem but the settings could not be saved because of this.';
// ADDED IN FROXLOR 0.9.3-svn1
$lng['serversettings']['panel_password_min_length']['title'] = 'Minimalna d&#322ugo&#347&#263 has&#322a';
$lng['serversettings']['panel_password_min_length']['description'] = 'Here you can set a minimum length for passwords. \'0\' means: no minimum length required.';
$lng['error']['notrequiredpasswordlength'] = 'The given password is too short. Please enter at least %s characters.';
$lng['serversettings']['system_store_index_file_subs']['title'] = 'Store default index file also to new subfolders';
$lng['serversettings']['system_store_index_file_subs']['description'] = 'If enabled, the default index-file is being stored to every subdomain-path newly created (not if the folder already exists!)';
// ADDED IN FROXLOR 0.9.3-svn2
$lng['serversettings']['adminmail_return']['title'] = 'Reply-To address';
$lng['serversettings']['adminmail_return']['description'] = 'Define an e-mail address as reply-to-address for mails sent by the panel.';
$lng['serversettings']['adminmail_defname'] = 'Panel e-mail sender name';
// ADDED IN FROXLOR 0.9.3-svn3
$lng['dkim']['dkim_algorithm']['title'] = 'Allowed Hash Algorithms';
$lng['dkim']['dkim_algorithm']['description'] = 'Define allowed hash algorithms, chose "All" for all algorithms or one or more from the other available algorithms';
$lng['dkim']['dkim_servicetype'] = 'Service Types';
$lng['dkim']['dkim_keylength']['title'] = 'Key-length';
$lng['dkim']['dkim_keylength']['description'] = 'Attention: If you change this values, you need to delete all the private/public keys in "'.$settings['dkim']['dkim_prefix'].'"';
$lng['dkim']['dkim_notes']['title'] = 'DKIM Notes';
$lng['dkim']['dkim_notes']['description'] = 'Notes that might be of interest to a human, e.g. a URL like http://www.dnswatch.info. No interpretation is made by any program. This tag should be used sparingly due to space limitations in DNS. This is intended for use by administrators, not end users.';
$lng['dkim']['dkim_add_adsp']['title'] = 'Add DKIM ADSP entry';
$lng['dkim']['dkim_add_adsp']['description'] = 'If you don\'t know what this is, leave it "enabled"';
$lng['dkim']['dkim_add_adsppolicy']['title'] = 'ADSP policy';
$lng['dkim']['dkim_add_adsppolicy']['description'] = 'For more information about this setting see <a href="http://wiki.froxlor.org/contrib/dkim-adsp-policies">http://wiki.froxlor.org/contrib/dkim-adsp-policies</a>';
$lng['admin']['cron']['cronsettings'] = 'ustawienia zada&#324 cyklicznych';
$lng['cron']['cronname'] = 'cronjob-name'; $lng['cron']['cronname'] = 'cronjob-name';
$lng['cron']['lastrun'] = 'ostatnio uruchomiony'; $lng['cron']['lastrun'] = 'last run';
$lng['cron']['interval'] = 'interwa&#322'; $lng['cron']['interval'] = 'interval';
$lng['cron']['isactive'] = 'w&#322&#261czony'; $lng['cron']['isactive'] = 'enabled';
$lng['cron']['description'] = 'opis'; $lng['admin']['cron']['add'] = 'Add a new cronjob';
$lng['cron']['description'] = 'description';
$lng['crondesc']['cron_unknown_desc'] = 'no description given'; $lng['crondesc']['cron_unknown_desc'] = 'no description given';
$lng['admin']['cron']['add'] = 'Add cronjob';
$lng['crondesc']['cron_tasks'] = 'przebudowanie plik<69>w konfiguracyjnych'; $lng['crondesc']['cron_tasks'] = 'przebudowanie plik<69>w konfiguracyjnych';
$lng['crondesc']['cron_legacy'] = 'legacy (old) cronjob'; $lng['crondesc']['cron_legacy'] = 'legacy (old) cronjob';
$lng['crondesc']['cron_apsinstaller'] = 'Instalator aplikacji'; $lng['crondesc']['cron_apsinstaller'] = 'Instalator aplikacji';
$lng['crondesc']['cron_autoresponder'] = 'e-mail autoresponder'; $lng['crondesc']['cron_autoresponder'] = 'e-mail autoresponder';
$lng['crondesc']['cron_apsupdater'] = 'Aktualizacja pakiet<65>w instalatora aplikacji'; $lng['crondesc']['cron_apsupdater'] = 'Aktualizacja pakiet<65>w instalatora aplikacji';
$lng['crondesc']['cron_traffic'] = 'obliczanie ruchu'; $lng['crondesc']['cron_traffic'] = 'obliczanie ruchu';
$lng['crondesc']['cron_ticketsreset'] = 'resetowanie licznik<EFBFBD>w zg&#322osze&#324'; $lng['crondesc']['cron_ticketsreset'] = 'resetowanie licznika zg&#322osze&#324';
$lng['crondesc']['cron_ticketarchive'] = 'archiwizowanie starych zg&#322osze&#324'; $lng['crondesc']['cron_ticketarchive'] = 'archiwizowanie starych zg&#322osze&#324';
$lng['cronmgmt']['seconds'] = 'sekund'; $lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
$lng['cronmgmt']['minutes'] = 'minut'; $lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
$lng['cronmgmt']['hours'] = 'godzin'; $lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
$lng['cronmgmt']['days'] = 'dni'; $lng['tasks']['rebuild_webserverconfig'] = 'Rebuilding webserver-configuration';
$lng['cronmgmt']['weeks'] = 'tygodni'; $lng['tasks']['adding_customer'] = 'Adding new customer %loginname%';
$lng['cronmgmt']['months'] = 'miesi&#281cy'; $lng['tasks']['rebuild_bindconfig'] = 'Rebuilding bind-configuration';
$lng['admin']['cronjob_edit'] = 'Edytuj zadania cykliczne'; $lng['tasks']['creating_ftpdir'] = 'Creating directory for new ftp-user';
$lng['cronjob']['cronjobsettings'] = 'Ustawienia zadania cykliczne'; $lng['tasks']['deleting_customerfiles'] = 'Deleting customer-files %loginname%';
$lng['cronjob']['cronjobinterval'] = 'Interwa&#322 uruchomienia'; $lng['tasks']['noneoutstanding'] = 'There are currently no outstanding tasks for Froxlor';
$lng['panel']['options'] = 'opcje'; $lng['ticket']['nonexistingcustomer'] = '(deleted customer)';
$lng['admin']['warning'] = 'WA&#379NE - Przeczytaj to!'; $lng['admin']['ticket_nocustomeraddingavailable'] = 'It\'s not possible to open a new support-ticket currently. You first need to add at least one customer.';
$lng['cron']['changewarning'] = 'Changing these values can have a negative cause to the behavior of Froxlor and its automated tasks.<br /><br />Please, only change values here if you are *damn sure* you know what you are doing.';
$lng['serversettings']['stdsubdomainhost']['title'] = 'Customer standard subdomain'; // ADDED IN FROXLOR 0.9.1
$lng['serversettings']['stdsubdomainhost']['description'] = 'What hostname should be used to create standard subdomains for customer. If empty, the system-hostname is used.';
// ADDED IN FROXLOR 0.9.4-svn1 $lng['admin']['accountdata'] = 'Account Data';
$lng['ftp']['account_edit'] = 'Edytuj konto ftp'; $lng['admin']['contactdata'] = 'Contact Data';
$lng['ftp']['editpassdescription'] = 'Ustal nowe has&#322o lub zostaw puste by nie zmienia&#263.'; $lng['admin']['servicedata'] = 'Service Data';
$lng['customer']['sendinfomail'] = 'Send data via email to me';
$lng['customer']['mysql_add']['infomail_subject'] = '[Froxlor] Nowa baza danych utworzona';
$lng['customer']['mysql_add']['infomail_body']['pma'] = "\nMasz dost&#281p do Twojej bazy danych uzywaj&#261c phpMyAdmina pod adresem {URI}\n";
$lng['customer']['mysql_add']['infomail_body']['main'] = "Witaj {CUST_NAME},\n\nw&#322a&#347nie doda&#322e&#347 now&#261 baz&#281 danych. Przesy&#322amy dane uruchomieniowe:\n\nBaza danych: {DB_NAME}\nHas&#322o: {DB_PASS}\nOpis: {DB_DESC}\n{PMA_URI}\nZ powa&#380aniem, Froxlor";
$lng['error']['domains_cantdeletedomainwithapsinstances'] = 'Nie mo&#380esz usun&#261&#263 domeny, poniewa&#380 jest na niej zainstalowana aplikacja z instalatora aplikacji. W pierwszej kolejno&#347ci odinstaluj t&#261 aplikacj&#281.';
$lng['serversettings']['awstats_path'] = '<27>cie&#380ka do AWStats \'awstats_buildstaticpages.pl\'';
$lng['serversettings']['awstats_conf'] = 'AWStats configuration path';
$lng['error']['overviewsettingoptionisnotavalidfield'] = 'Woops, a field that should be displayed as an option in the settings-overview is not an excepted type. You can blame the developers for this. This should not happen!';
$lng['admin']['configfiles']['compactoverview'] = 'Compact-overview';
$lng['admin']['lastlogin_succ'] = 'Ostatnie logowanie';
$lng['panel']['neverloggedin'] = 'Brak logowania do tej pory';
// ADDED IN FROXLOR 0.9.6-svn1 // ADDED IN FROXLOR 0.9.2
$lng['serversettings']['defaultttl'] = 'TTL domeny dla binda w sekundach (domy&#347lnie \'604800\' = 1 tydzie&#324)';
$lng['ticket']['logicalorder'] = 'Logical order';
$lng['ticket']['orderdesc'] = 'Here you can define your own logical order for the ticket-category. Use 1 - 999, lower numbers are displayed first.';
// ADDED IN FROXLOR 0.9.6-svn3 $lng['admin']['newerversionavailable'] = 'There is a newer version of Froxlor available';
$lng['serversettings']['defaultwebsrverrhandler_enabled'] = 'W&#322&#261czone standardowe strony b&#322&#281d<31>w dla wszystkich klient<6E>w';
$lng['serversettings']['defaultwebsrverrhandler_err401']['title'] = 'Plik/URL dla b&#322&#281du 401';
$lng['serversettings']['defaultwebsrverrhandler_err401']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
$lng['serversettings']['defaultwebsrverrhandler_err403']['title'] = 'Plik/URL dla b&#322&#281du 403';
$lng['serversettings']['defaultwebsrverrhandler_err403']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
$lng['serversettings']['defaultwebsrverrhandler_err404'] = 'Plik/URL dla b&#322&#281du 404';
$lng['serversettings']['defaultwebsrverrhandler_err500']['title'] = 'Plik/URL dla b&#322&#281du 500';
$lng['serversettings']['defaultwebsrverrhandler_err500']['description'] = '<div style="color:red">'.$lng['panel']['not_supported'].'lighttpd</div>';
// ADDED IN FROXLOR 0.9.6-svn4 // ADDED IN FROXLOR 0.9.3
$lng['serversettings']['ticket']['default_priority'] = 'Standardowy priorytet dla zg<7A>osze<7A> pomocy technicznej';
// ADDED IN FROXLOR 0.9.6-svn5 $lng['emails']['noemaildomainaddedyet'] = 'You do not have a (email-)domain in your account yet.';
$lng['serversettings']['mod_fcgid']['defaultini'] = 'Default PHP configuration for new domains'; $lng['error']['hiddenfieldvaluechanged'] = 'The value for the hidden field &quot;%s&quot; changed while editing the settings.<br /><br />This is usually not a big problem but the settings could not be saved because of this.';
// ADDED IN FROXLOR 0.9.6-svn6 ?>
$lng['admin']['ftpserver'] = 'Serwer FTP';
$lng['admin']['ftpserversettings'] = 'Ustawienia Serwera FTP';
$lng['serversettings']['ftpserver']['desc'] = 'Je<4A>li pureftpd jest zaznaczone, plik .ftpquota z quotami u<>ytkownika b<>dzie tworzony i aktualizowany codziennie';
// CHANGED IN FROXLOR 0.9.6-svn6
$lng['serversettings']['ftpprefix']['description'] = 'Which prefix should ftp accounts have?<br/><b>If you change this you also have to change the Quota SQL Query in your FTP Server config file in case you use it!</b> ';
?>

View File

@@ -0,0 +1,958 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Configfiles
* @version $Id$
*/
/*
* This script creates the php.ini's used by mod_suPHP+php-cgi
*/
if(@php_sapi_name() != 'cli'
&& @php_sapi_name() != 'cgi'
&& @php_sapi_name() != 'cgi-fcgi')
{
die('This script only works in the shell.');
}
class nginx
{
private $db = false;
private $logger = false;
private $debugHandler = false;
private $idnaConvert = false;
// protected
protected $settings = array();
protected $nginx_data = array();
protected $needed_htpasswds = array();
protected $auth_backend_loaded = false;
protected $htpasswds_data = array();
protected $known_htpasswdsfilenames = array();
protected $mod_accesslog_loaded = "0";
protected $vhost_root_autoindex = false;
protected $known_vhostfilenames = array();
public function __construct($db, $logger, $debugHandler, $idnaConvert, $settings)
{
$this->db = $db;
$this->logger = $logger;
$this->debugHandler = $debugHandler;
$this->idnaConvert = $idnaConvert;
$this->settings = $settings;
}
protected function getDB()
{
return $this->db;
}
public function reload()
{
fwrite($this->debugHandler, ' nginx::reload: reloading nginx' . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'reloading nginx');
safe_exec($this->settings['system']['apachereload_command']);
/**
* nginx does not auto-spawn fcgi-processes
*/
fwrite($this->debugHandler, ' nginx::reload: spwaning fcgi processes' . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'spwaning fcgi processes for nginx');
safe_exec('/etc/init.d/php-fcgi restart');
}
public function createVirtualHosts()
{
}
public function createFileDirOptions()
{
}
/**
* define a default ErrorDocument-statement, bug #unknown-yet
*/
private function _createStandardErrorHandler()
{
if($this->settings['defaultwebsrverrhandler']['enabled'] == '1'
&& ($this->settings['defaultwebsrverrhandler']['err401'] != ''
|| $this->settings['defaultwebsrverrhandler']['err403'] != ''
|| $this->settings['defaultwebsrverrhandler']['err404'] != ''
|| $this->settings['defaultwebsrverrhandler']['err500'] != '')
) {
$vhosts_folder = '';
if(is_dir($this->settings['system']['apacheconf_vhost']))
{
$vhosts_folder = makeCorrectDir($this->settings['system']['apacheconf_vhost']);
} else {
$vhosts_folder = makeCorrectDir(dirname($this->settings['system']['apacheconf_vhost']));
}
$vhosts_filename = makeCorrectFile($vhosts_folder . '/05_froxlor_default_errorhandler.conf');
if(!isset($this->nginx_data[$vhosts_filename]))
{
$this->vnginx_data[$vhosts_filename] = '';
}
if($this->settings['defaultwebsrverrhandler']['err401'] != '')
{
$this->nginx_data[$vhosts_filename].= 'error_page 401 ' . $this->settings['defaultwebsrverrhandler']['err401'] . ';' . "\n";
}
if($this->settings['defaultwebsrverrhandler']['err403'] != '')
{
$this->nginx_data[$vhosts_filename].= 'error_page 403 ' . $this->settings['defaultwebsrverrhandler']['err403'] . ';' . "\n";
}
if($this->settings['defaultwebsrverrhandler']['err404'] != '')
{
$this->nginx_data[$vhosts_filename].= 'error_page 404 ' . $this->settings['defaultwebsrverrhandler']['err404'] . ';' . "\n";
}
if($this->settings['defaultwebsrverrhandler']['err500'] != '')
{
$this->nginx_data[$vhosts_filename].= 'error_page 500 ' . $this->settings['defaultwebsrverrhandler']['err500'] . ';' . "\n";
}
}
}
public function createIpPort()
{
$query = "SELECT * FROM `" . TABLE_PANEL_IPSANDPORTS . "` ORDER BY `ip` ASC, `port` ASC";
$result_ipsandports = $this->db->query($query);
while($row_ipsandports = $this->db->fetch_array($result_ipsandports))
{
if(filter_var($row_ipsandports['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
{
$ip = '[' . $row_ipsandports['ip'] . ']';
$port = $row_ipsandports['port'];
}
else
{
$ip = $row_ipsandports['ip'];
$port = $row_ipsandports['port'];
}
fwrite($this->debugHandler, ' nginx::createIpPort: creating ip/port settings for ' . $ip . ":" . $port . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, 'creating ip/port settings for ' . $ip . ":" . $port);
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/10_froxlor_ipandport_' . trim(str_replace(':', '.', $row_ipsandports['ip']), '.') . '.' . $row_ipsandports['port'] . '.conf');
if(!isset($this->nginx_data[$vhost_filename]))
{
$this->nginx_data[$vhost_filename] = '';
}
$this->nginx_data[$vhost_filename].= 'server { ' . "\n";
/**
* this HAS to be set for the default host in nginx or else no vhost will work
*/
$this->nginx_data[$vhost_filename].= "\t". 'listen ' . $ip . ':' . $port . ' default;' . "\n";
if($row_ipsandports['vhostcontainer'] == '1')
{
$this->nginx_data[$vhost_filename].= "\t".'# Froxlor default vhost' . "\n";
$this->nginx_data[$vhost_filename].= "\t".'server_name ' . $this->settings['system']['hostname'] . ';' . "\n";
}
$this->nginx_data[$vhost_filename].= "\t".'access_log /var/log/nginx/access.log;' . "\n";
if($row_ipsandports['vhostcontainer'] == '1')
{
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__))));
$this->nginx_data[$vhost_filename].= "\t".'root '.$mypath.';'."\n";
$this->nginx_data[$vhost_filename].= "\t".'location / {'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'index index.php index.html index.htm;'."\n";
$this->nginx_data[$vhost_filename].= "\t".'}'."\n";
if($row_ipsandports['specialsettings'] != '')
{
$this->nginx_data[$vhost_filename].= $row_ipsandports['specialsettings'] . "\n";
}
}
/**
* SSL config options
*/
if($row_ipsandports['ssl'] == '1')
{
if($row_ipsandports['ssl_cert_file'] == '')
{
$row_ipsandports['ssl_cert_file'] = $this->settings['system']['ssl_cert_file'];
}
if($row_ipsandports['ssl_key_file'] == '')
{
$row_ipsandports['ssl_key_file'] = $this->settings['system']['ssl_key_file'];
}
if($row_ipsandports['ssl_ca_file'] == '')
{
$row_ipsandports['ssl_ca_file'] = $this->settings['system']['ssl_ca_file'];
}
if($row_ipsandports['ssl_cert_file'] != '')
{
$this->nginx_data[$vhost_filename].= "\t" . 'ssl on;' . "\n";
$this->nginx_data[$vhost_filename].= "\t" . 'ssl_certificate ' . makeCorrectFile($row_ipsandports['ssl_cert_file']) . ';' . "\n";
$this->nginx_data[$vhost_filename].= "\t" . 'ssl_certificate_key ' .makeCorrectFile($row_ipsandports['ssl_key_file']) . ';' . "\n";
if($row_ipsandports['ssl_ca_file'] != '')
{
$this->lighttpd_data[$vhost_filename].= 'ssl_client_certificate ' . makeCorrectFile($row_ipsandports['ssl_ca_file']) . ';' . "\n";
}
}
}
$this->nginx_data[$vhost_filename].= "\t".'location ~ \.php$ {'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_index index.php;'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root' . '$fastcgi_script_name;'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_pass 127.0.0.1:8888;'."\n";
$this->nginx_data[$vhost_filename].= "\t".'}'."\n";
$this->nginx_data[$vhost_filename].= '}' . "\n\n";
// End of Froxlor server{}-part
$this->createNginxHosts($row_ipsandports['ip'], $row_ipsandports['port'], $row_ipsandports['ssl'], $vhost_filename);
}
/**
* standard error pages
*/
$this->_createStandardErrorHandler();
}
protected function createNginxHosts($ip, $port, $ssl, $vhost_filename)
{
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `ip`='" . $ip . "' AND `port`='" . $port . "'";
$ipandport = $this->db->query_first($query);
if($ssl == '0')
{
$query2 = "SELECT `d`.*, `pd`.`domain` AS `parentdomain`, `c`.`loginname`, `c`.`guid`, `c`.`email`, `c`.`documentroot` AS `customerroot`, `c`.`deactivated`, `c`.`phpenabled` AS `phpenabled` FROM `" . TABLE_PANEL_DOMAINS . "` `d` LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`) LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `pd` ON (`pd`.`id` = `d`.`parentdomainid`) WHERE `d`.`ipandport`='" . $ipandport['id'] . "' AND `d`.`aliasdomain` IS NULL ORDER BY `d`.`iswildcarddomain`, `d`.`domain` ASC";
}
else
{
$query2 = "SELECT `d`.*, `pd`.`domain` AS `parentdomain`, `c`.`loginname`, `c`.`guid`, `c`.`email`, `c`.`documentroot` AS `customerroot`, `c`.`deactivated`, `c`.`phpenabled` AS `phpenabled` FROM `" . TABLE_PANEL_DOMAINS . "` `d` LEFT JOIN `" . TABLE_PANEL_CUSTOMERS . "` `c` USING(`customerid`) LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` `pd` ON (`pd`.`id` = `d`.`parentdomainid`) WHERE `d`.`ssl_ipandport`='" . $ipandport['id'] . "' AND `d`.`aliasdomain` IS NULL ORDER BY `d`.`iswildcarddomain`, `d`.`domain` ASC";
}
$included_vhosts = array();
$result_domains = $this->db->query($query2);
while($domain = $this->db->fetch_array($result_domains))
{
if (is_dir($this->settings['system']['apacheconf_vhost']))
{
safe_exec('mkdir -p '.escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
$vhost_filename = $this->getVhostFilename($domain);
}
if(!isset($this->nginx_data[$vhost_filename]))
{
$this->nginx_data[$vhost_filename] = '';
}
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ipandport'] . "'";
$ipandport = $this->db->query_first($query);
$domain['ip'] = $ipandport['ip'];
$domain['port'] = $ipandport['port'];
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
if( (!empty($this->nginx_data[$vhost_filename]) && !is_dir($this->settings['system']['apacheconf_vhost']))
|| is_dir($this->settings['system']['apacheconf_vhost']))
{
if($ssl == '1')
{
$ssl_vhost = true;
$ips_and_ports_index = 'ssl_ipandport';
}
else
{
$ssl_vhost = false;
$ips_and_ports_index = 'ipandport';
}
$this->nginx_data[$vhost_filename].= $this->getVhostContent($domain, $ssl_vhost);
$this->nginx_data[$vhost_filename].= isset($this->needed_htpasswds[$domain[$ips_and_ports_index]]) ? $this->needed_htpasswds[$domain[$ips_and_ports_index]] . "\n" : '';
}
}
}
protected function getVhostFilename($domain, $ssl_vhost = false)
{
if((int)$domain['parentdomainid'] == 0
&& isCustomerStdSubdomain((int)$domain['id']) == false
&& ((int)$domain['ismainbutsubto'] == 0
|| domainMainToSubExists($domain['ismainbutsubto']) == false)
) {
$vhost_no = '22';
}
elseif((int)$domain['parentdomainid'] == 0
&& isCustomerStdSubdomain((int)$domain['id']) == false
&& (int)$domain['ismainbutsubto'] > 0
) {
$vhost_no = '21';
}
else
{
$vhost_no = '20';
}
if($ssl_vhost === true)
{
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/'.$vhost_no.'_froxlor_ssl_vhost_' . $domain['domain'] . '.conf');
}
else
{
$vhost_filename = makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/'.$vhost_no.'_froxlor_normal_vhost_' . $domain['domain'] . '.conf');
}
return $vhost_filename;
}
protected function getVhostContent($domain, $ssl_vhost = false)
{
if($ssl_vhost === true
&& $domain['ssl'] != '1')
{
return '';
}
if($ssl_vhost === true
&& $domain['ssl'] == '1')
{
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ssl_ipandport'] . "'";
}
else
{
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `id`='" . $domain['ipandport'] . "'";
}
$ipandport = $this->db->query_first($query);
$domain['ip'] = $ipandport['ip'];
$domain['port'] = $ipandport['port'];
$domain['ssl_cert_file'] = $ipandport['ssl_cert_file'];
if(filter_var($domain['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
{
$ipport = '[' . $domain['ip'] . ']:' . $domain['port'];
}
else
{
$ipport = $domain['ip'] . ':' . $domain['port'];
}
$vhost_content = '';
$vhost_content.= 'server { ' . "\n";
$vhost_content.= "\t" . 'listen ' . $ipport . ';' . "\n";
$vhost_content.= $this->getServerNames($domain);
if(preg_match('/^https?\:\/\//', $domain['documentroot']))
{
$vhost_content.= "\t".'rewrite ^(.*) '.$this->idnaConvert->encode($domain['documentroot']).'$1 permanent;'."\n";
}
else
{
mkDirWithCorrectOwnership($domain['customerroot'], $domain['documentroot'], $domain['guid'], $domain['guid'], true);
$vhost_content.= $this->getLogFiles($domain);
$vhost_content.= $this->getWebroot($domain, $ssl_vhost);
$vhost_content.= $this->create_pathOptions($domain);
//$vhost_content.= $this->create_htaccess($domain);
$vhost_content.= $this->composePhpOptions($domain);
$vhost_content.= $this->getStats($domain);
if ($domain['specialsettings'] != "") {
$vhost_content.= $domain['specialsettings'] . "\n";
}
}
$vhost_content.= '}' . "\n\n";
return $vhost_content;
}
protected function create_pathOptions($domain)
{
$has_location = false;
$query = "SELECT * FROM " . TABLE_PANEL_HTACCESS . " WHERE `path` LIKE '" . $domain['documentroot'] . "%'";
$result = $this->db->query($query);
$path_options = '';
$htpasswds = $this->getHtpasswds($domain);
while($row = $this->db->fetch_array($result))
{
if(!empty($row['error404path']))
{
$path_options.= "\t".'error_page 404 ' . $row['error404path'] . ';' . "\n";
}
if(!empty($row['error403path']))
{
$path_options.= "\t".'error_page 403 ' . $row['error403path'] . ';' . "\n";
}
if(!empty($row['error500path']))
{
$path_options.= "\t".'error_page 502 503 504 ' . $row['error500path'] . ';' . "\n";
}
if($row['options_indexes'] != '0')
{
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
mkDirWithCorrectOwnership($domain['documentroot'], $row['path'], $domain['guid'], $domain['guid']);
if (trim($path) == '/') {
$this->vhost_root_autoindex = true;
}
else
{
$path_options.= "\t".'location ' . $path . ' {' . "\n";
$path_options.= "\t\t" . 'autoindex on;' . "\n";
// check if we have a htpasswd for this path
// (damn nginx does not like more than one
// 'location'-part with the same path)
if(count($htpasswds) > 0)
{
foreach($htpasswds as $idx => $single)
{
if($path == $single['path'])
{
$path_options.= "\t\t" . 'auth_basic "Restricted Area";' . "\n";
$path_options.= "\t\t" . 'auth_basic_user_file ' . $single['usrf'] . ';'."\n";
// remove already used entries so we do not have doubles
unset($htpasswds[$idx]);
}
}
}
$path_options.= "\t".'}' . "\n";
$this->vhost_root_autoindex = false;
}
}
/**
* Perl suport
* required the fastCGI wrapper to be running to receive the CGI requests.
*/
if(customerHasPerlEnabled($domain['customerid'])
&& $row['options_cgi'] != '0')
{
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
mkDirWithCorrectOwnership($domain['documentroot'], $row['path'], $domain['guid'], $domain['guid']);
// We need to remove the last slash, otherwise the regex wouldn't work
if($row['path'] != $domain['documentroot']) {
$path = substr($path, 0, -1);
}
$path_options.= "\t" . 'location ~ \(.pl|.cgi)$ {' . "\n";
$path_options.= "\t\t" . 'gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped' . "\n";
$path_options.= "\t\t" . 'fastcgi_pass '. $this->settings['system']['perl_server'] . ';' . "\n";
$path_options.= "\t\t" . 'fastcgi_index index.cgi;' . "\n";
$path_options.= "\t\t" . 'include /etc/nginx/fastcgi_params;'."\n";
$path_options.= "\t" . '}' . "\n";
}
}
/*
* now the rest of the htpasswds
*/
if(count($htpasswds) > 0)
{
foreach($htpasswds as $idx => $single)
{
$path_options.= "\t" . 'location ' . $single['path'] . ' {' . "\n";
$path_options.= "\t\t" . 'auth_basic "Restricted Area";' . "\n";
$path_options.= "\t\t" . 'auth_basic_user_file ' . $single['usrf'] . ';'."\n";
$path_options.= "\t".'}' . "\n";
}
}
return $path_options;
}
protected function getHtpasswds($domain)
{
$query = "SELECT * FROM " . TABLE_PANEL_HTPASSWDS . " WHERE `customerid`='" . $domain['customerid'] . "'";
$result = $this->db->query($query);
$result = array();
$x = 0;
while($row_htpasswds = $this->db->fetch_array($result))
{
if(count($row_htpasswds['htpasswds']) > 0)
{
$htpasswd_filename = makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $row_htpasswds['customerid'] . '-' . md5($row_htpasswds['path']) . '.htpasswd');
if(!isset($this->htpasswds_data[$htpasswd_filename]))
{
$this->htpasswds_data[$htpasswd_filename] = '';
}
foreach($row['htpasswds'] as $row_htpasswd)
{
$this->htpasswds_data[$htpasswd_filename].= $row_htpasswd['username'] . ':' . $row_htpasswd['password'] . "\n";
}
$path = makeCorrectDir(substr($row['path'], strlen($domain['documentroot']) - 1));
$result[$x]['path'] = $path;
$result[$x]['root'] = makeCorrectDir($domain['documentroot']);
$result[$x]['usrf'] = $htpasswd_filename;
$x++;
}
}
return $result;
}
protected function composePhpOptions($domain)
{
$phpopts = '';
if($domain['phpenabled'] == '1')
{
$phpopts = "\t".'location ~ \.php$ {'."\n";
$phpopts.= "\t\t".'fastcgi_index index.php;'."\n";
$phpopts.= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
$phpopts.= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root' . '$fastcgi_script_name;'."\n";
$phpopts.= "\t\t".'fastcgi_pass 127.0.0.1:8888;'."\n";
$phpopts.= "\t".'}'."\n";
}
return $phpopts;
}
protected function getWebroot($domain, $ssl)
{
$webroot_text = '';
if($domain['deactivated'] == '1'
&& $this->settings['system']['deactivateddocroot'] != '')
{
$webroot_text.= "\t".'# Using docroot for deactivated users...' . "\n";
$webroot_text.= "\t".'root '.$this->settings['system']['deactivateddocroot'].';'."\n";
}
else
{
$webroot_text.= "\t".'root '.makeCorrectDir($domain['documentroot']).';'."\n";
}
$webroot_text.= "\t".'location / {'."\n";
$webroot_text.= "\t\t".'index index.php index.html index.htm;'."\n";
if($this->vhost_root_autoindex) {
$webroot_text.= "\t\t".'autoindex on;'."\n";
$this->vhost_root_autoindex = false;
}
$webroot_text.= "\t".'}'."\n";
return $webroot_text;
}
protected function getStats($domain)
{
$stats_text = '';
if($domain['speciallogfile'] == '1'
&& $this->settings['system']['mod_log_sql'] != '1')
{
if($domain['parentdomainid'] == '0')
{
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
$stats_text.= "\tt" . '}' . "\n";
}
else
{
$stats_text.= "\t" . 'location /webalizer {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
}
}
else
{
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
$stats_text.= "\tt" . '}' . "\n";
}
else
{
$stats_text.= "\t" . 'location /webalizer {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['parentdomain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
}
}
}
else
{
if($domain['customerroot'] != $domain['documentroot'])
{
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
$stats_text.= "\tt" . '}' . "\n";
}
else
{
$stats_text.= "\t" . 'location /webalizer {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
}
}else
{
//link the awstats icons for use in the static pages.
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
$stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
$stats_text.= "\tt" . '}' . "\n";
}
}
}
return $stats_text;
}
/**
* @TODO mod_log_sql
*/
protected function getLogFiles($domain)
{
$logfiles_text = '';
if($domain['speciallogfile'] == '1'
&& $this->settings['system']['mod_log_sql'] != '1')
{
if($domain['parentdomainid'] == '0')
{
$speciallogfile = '-' . $domain['domain'];
}
else
{
$speciallogfile = '-' . $domain['parentdomain'];
}
}
else
{
$speciallogfile = '';
}
// The normal access/error - logging is enabled
$error_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-error.log');
// Create the logfile if it does not exist (fixes #46)
touch($error_log);
chown($error_log, $this->settings['system']['httpuser']);
chgrp($error_log, $this->settings['system']['httpgroup']);
$access_log = makeCorrectFile($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log');
// Create the logfile if it does not exist (fixes #46)
touch($access_log);
chown($access_log, $this->settings['system']['httpuser']);
chgrp($access_log, $this->settings['system']['httpgroup']);
$logfiles_text.= "\t".'access_log ' . $access_log . ' combined;' . "\n";
$logfiles_text.= "\t".'error_log ' . $error_log . ' error;' . "\n";
if($this->settings['system']['awstats_enabled'] == '1')
{
if((int)$domain['parentdomainid'] == 0)
{
// prepare the aliases and subdomains for stats config files
$server_alias = '';
$alias_domains = $this->db->query('SELECT `domain`, `iswildcarddomain`, `wwwserveralias` FROM `' . TABLE_PANEL_DOMAINS . '`
WHERE `aliasdomain`=\'' . $domain['id'] . '\'
OR `parentdomainid` =\''. $domain['id']. '\'');
while(($alias_domain = $this->db->fetch_array($alias_domains)) !== false)
{
$server_alias.= ' ' . $alias_domain['domain'] . ' ';
if($alias_domain['iswildcarddomain'] == '1')
{
$server_alias.= '*.' . $domain['domain'];
}
else
{
if($alias_domain['wwwserveralias'] == '1')
{
$server_alias.= 'www.' . $alias_domain['domain'];
}
else
{
$server_alias.= '';
}
}
}
if($domain['iswildcarddomain'] == '1')
{
$alias = '*.' . $domain['domain'];
}
else
{
if($domain['wwwserveralias'] == '1')
{
$alias = 'www.' . $domain['domain'];
}
else
{
$alias = '';
}
}
// After inserting the AWStats information,
// be sure to build the awstats conf file as well
// and chown it using $awstats_params, #258
$awstats_params = array(
'loginname' => $domain['loginname'],
'guid' => $domain['guid'],
'documentroot' => $domain['documentroot']
);
createAWStatsConf($this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log', $domain['domain'], $alias . $server_alias, $domain['customerroot'], $awstats_params);
}
}
return $logfiles_text;
}
public function createOwnVhostStarter()
{
}
protected function getServerNames($domain)
{
$server_alias = '';
if($domain['iswildcarddomain'] == '1')
{
$server_alias = '*.' . $domain['domain'];
}
else
{
if($domain['wwwserveralias'] == '1')
{
$server_alias = 'www.' . $domain['domain'];
}
else
{
$server_alias = '';
}
}
$alias_domains = $this->db->query('SELECT `domain`, `iswildcarddomain`, `wwwserveralias` FROM `' . TABLE_PANEL_DOMAINS . '` WHERE `aliasdomain`=\'' . $domain['id'] . '\'');
while(($alias_domain = $this->db->fetch_array($alias_domains)) !== false)
{
$server_alias.= ' ' . $alias_domain['domain'];
if($alias_domain['iswildcarddomain'] == '1')
{
$server_alias.= ' *.' . $alias_domain['domain'];
}
else
{
if($alias_domain['wwwserveralias'] == '1')
{
$server_alias.= ' www.' . $alias_domain['domain'];
}
}
}
$servernames_text = "\t".'server_name '.$domain['domain'];
if(trim($server_alias) != '')
{
$servernames_text.= ' '.$server_alias;
}
$servernames_text.= ';' . "\n";
return $servernames_text;
}
public function writeConfigs()
{
fwrite($this->debugHandler, ' nginx::writeConfigs: rebuilding ' . $this->settings['system']['apacheconf_vhost'] . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, "rebuilding " . $this->settings['system']['apacheconf_vhost']);
if(!isConfigDir($this->settings['system']['apacheconf_vhost']))
{
// Save one big file
$vhosts_file = '';
// sort by filename so the order is:
// 1. subdomains
// 2. subdomains as main-domains
// 3. main-domains
ksort($this->nginx_data);
foreach($this->nginx_data as $vhosts_filename => $vhost_content)
{
$vhosts_file.= $vhost_content . "\n\n";
}
$vhosts_filename = $this->settings['system']['apacheconf_vhost'];
// Apply header
$vhosts_file = '# ' . basename($vhosts_filename) . "\n" . '# Created ' . date('d.m.Y H:i') . "\n" . '# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.' . "\n" . "\n" . $vhosts_file;
$vhosts_file_handler = fopen($vhosts_filename, 'w');
fwrite($vhosts_file_handler, $vhosts_file);
fclose($vhosts_file_handler);
}
else
{
if(!file_exists($this->settings['system']['apacheconf_vhost']))
{
fwrite($this->debugHandler, ' nginx::writeConfigs: mkdir ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])) . "\n");
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'mkdir ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
safe_exec('mkdir -p ' . escapeshellarg(makeCorrectDir($this->settings['system']['apacheconf_vhost'])));
}
// Write a single file for every vhost
foreach($this->nginx_data as $vhosts_filename => $vhosts_file)
{
$this->known_filenames[] = basename($vhosts_filename);
// Apply header
$vhosts_file = '# ' . basename($vhosts_filename) . "\n" . '# Created ' . date('d.m.Y H:i') . "\n" . '# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.' . "\n" . "\n" . $vhosts_file;
if(!empty($vhosts_filename))
{
$vhosts_file_handler = fopen($vhosts_filename, 'w');
fwrite($vhosts_file_handler, $vhosts_file);
fclose($vhosts_file_handler);
}
}
$this->wipeOutOldVhostConfigs();
}
/*
* htaccess stuff
*/
if(count($this->htpasswds_data) > 0)
{
if(!file_exists($this->settings['system']['apacheconf_htpasswddir']))
{
$umask = umask();
umask(0000);
mkdir($this->settings['system']['apacheconf_htpasswddir'], 0751);
umask($umask);
}
elseif(!is_dir($this->settings['system']['apacheconf_htpasswddir']))
{
fwrite($this->debugHandler, ' cron_tasks: WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!' . "\n");
echo 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!';
$this->logger->logAction(CRON_ACTION, LOG_WARNING, 'WARNING!!! ' . $this->settings['system']['apacheconf_htpasswddir'] . ' is not a directory. htpasswd directory protection is disabled!!!');
}
if(is_dir($this->settings['system']['apacheconf_htpasswddir']))
{
foreach($this->htpasswds_data as $htpasswd_filename => $htpasswd_file)
{
$this->known_htpasswdsfilenames[] = basename($htpasswd_filename);
$htpasswd_file_handler = fopen($htpasswd_filename, 'w');
fwrite($htpasswd_file_handler, $htpasswd_file);
fclose($htpasswd_file_handler);
}
$this->wipeOutOldHtpasswdConfigs();
}
}
}
protected function wipeOutOldVhostConfigs()
{
fwrite($this->debugHandler, ' nginx::wipeOutOldVhostConfigs: cleaning ' . $this->settings['system']['apacheconf_vhost'] . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, "cleaning " . $this->settings['system']['apacheconf_vhost']);
if(isConfigDir($this->settings['system']['apacheconf_vhost'], true))
{
$vhost_file_dirhandle = opendir($this->settings['system']['apacheconf_vhost']);
while(false !== ($vhost_filename = readdir($vhost_file_dirhandle)))
{
if($vhost_filename != '.'
&& $vhost_filename != '..'
&& !in_array($vhost_filename, $this->known_filenames)
&& preg_match('/^(05|10|20|21|22|30|50|51)_(froxlor|syscp)_(dirfix|ipandport|normal_vhost|wildcard_vhost|ssl_vhost)_(.+)\.conf$/', $vhost_filename)
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename)))
{
fwrite($this->debugHandler, ' nginx::wipeOutOldVhostConfigs: unlinking ' . $vhost_filename . "\n");
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'unlinking ' . $vhost_filename);
unlink(makeCorrectFile($this->settings['system']['apacheconf_vhost'] . '/' . $vhost_filename));
}
}
}
}
/*
* We remove old htpasswd config files
*/
protected function wipeOutOldHtpasswdConfigs()
{
fwrite($this->debugHandler, ' nginx::wipeOutOldHtpasswdConfigs: cleaning ' . $this->settings['system']['apacheconf_htpasswddir'] . "\n");
$this->logger->logAction(CRON_ACTION, LOG_INFO, "cleaning " . $this->settings['system']['apacheconf_htpasswddir']);
if(isConfigDir($this->settings['system']['apacheconf_htpasswddir'])
&& file_exists($this->settings['system']['apacheconf_htpasswddir'])
&& is_dir($this->settings['system']['apacheconf_htpasswddir']))
{
$htpasswds_file_dirhandle = opendir($this->settings['system']['apacheconf_htpasswddir']);
while(false !== ($htpasswd_filename = readdir($htpasswds_file_dirhandle)))
{
if($htpasswd_filename != '.'
&& $htpasswd_filename != '..'
&& !in_array($htpasswd_filename, $this->known_htpasswdsfilenames)
&& file_exists(makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $htpasswd_filename)))
{
fwrite($this->debugHandler, ' nginx::wipeOutOldHtpasswdConfigs: unlinking ' . $htpasswd_filename . "\n");
$this->logger->logAction(CRON_ACTION, LOG_NOTICE, 'unlinking ' . $htpasswd_filename);
unlink(makeCorrectFile($this->settings['system']['apacheconf_htpasswddir'] . '/' . $htpasswd_filename));
}
}
}
}
}

View File

@@ -25,6 +25,7 @@ require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.10.apache
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.15.apache_fcgid.php')); require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.15.apache_fcgid.php'));
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.20.lighttpd.php')); require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.20.lighttpd.php'));
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.25.lighttpd_fcgid.php')); require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.25.lighttpd_fcgid.php'));
require_once(makeCorrectFile(dirname(__FILE__) . '/cron_tasks.inc.http.30.nginx.php'));
/** /**
* LOOK INTO TASKS TABLE TO SEE IF THERE ARE ANY UNDONE JOBS * LOOK INTO TASKS TABLE TO SEE IF THERE ARE ANY UNDONE JOBS
@@ -117,6 +118,17 @@ while($row = $db->fetch_array($result_tasks))
$configdir.='/*'; $configdir.='/*';
safe_exec('rm -rf '. makeCorrectFile($configdir)); safe_exec('rm -rf '. makeCorrectFile($configdir));
} }
elseif($settings['system']['webserver'] == "nginx")
{
if($settings['system']['mod_fcgid'] == 1)
{
$webserver = new nginx_fcgid($db, $cronlog, $debugHandler, $idna_convert, $settings);
}
else
{
$webserver = new nginx($db, $cronlog, $debugHandler, $idna_convert, $settings);
}
}
} }
if(!isset($webserver)) if(!isset($webserver))
@@ -143,6 +155,10 @@ while($row = $db->fetch_array($result_tasks))
$webserver = new lighttpd($db, $cronlog, $debugHandler, $idna_convert, $settings); $webserver = new lighttpd($db, $cronlog, $debugHandler, $idna_convert, $settings);
} }
} }
elseif($settings['system']['webserver'] == "nginx")
{
$webserver = new nginx($db, $cronlog, $debugHandler, $idna_convert, $settings);
}
} }
if(isset($webserver)) if(isset($webserver))

View File

@@ -0,0 +1,41 @@
#!/bin/bash
BIND=127.0.0.1:8888
USER=www-data
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000
PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL

View File

@@ -0,0 +1,15 @@
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

View File

@@ -0,0 +1,25 @@
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

View File

@@ -0,0 +1,41 @@
#!/bin/bash
BIND=127.0.0.1:8888
USER=nginx
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000
PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL

View File

@@ -0,0 +1,15 @@
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

View File

@@ -0,0 +1,26 @@
user nginx;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

View File

@@ -0,0 +1,41 @@
#!/bin/bash
BIND=127.0.0.1:8888
USER=www-data
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000
PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL

View File

@@ -0,0 +1,15 @@
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

View File

@@ -0,0 +1,26 @@
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}