From e253202995d188925fa4e9df4f6dea0523511eae Mon Sep 17 00:00:00 2001
From: oilyflutesalad <oilyflutesalad@ispconfig3>
Date: Mon, 18 Jan 2010 05:56:48 -0500
Subject: [PATCH] Fixed: FS#928 - System Load Averages should no longer show as zero on non-english linux distros
---
install/install.php | 143 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 112 insertions(+), 31 deletions(-)
diff --git a/install/install.php b/install/install.php
index 1764188..80fe681 100644
--- a/install/install.php
+++ b/install/install.php
@@ -53,6 +53,12 @@
//** Include the base class of the installer class
require_once('lib/installer_base.lib.php');
+//** Ensure that current working directory is install directory
+$cur_dir = getcwd();
+if(realpath(dirname(__FILE__)) != $cur_dir) {
+ chdir( realpath(dirname(__FILE__)) );
+}
+
//** Install logfile
define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log');
define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../'));
@@ -89,6 +95,9 @@
die('This software can not be installed on a server wich runs ISPConfig 2.x.');
}
+//** Detect the installed applications
+$inst->find_installed_apps();
+
//** Select the language
$conf['language'] = $inst->simple_query('Select language', array('en','de'), 'en');
@@ -101,6 +110,9 @@
exec('hostname -f', $tmp_out);
$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', $tmp_out[0]);
unset($tmp_out);
+
+// Check if the mysql functions are loaded in PHP
+if(!function_exists('mysql_connect')) die('No PHP mysql functions available. Please ensure that the PHP mysql module is loaded.');
//** Get MySQL root credentials
$finished = false;
@@ -126,7 +138,9 @@
unset($finished);
// Resolve the IP address of the mysql hostname.
-if(!$conf['mysql']['ip'] = gethostbyname($conf['mysql']['host'])) die('Unable to resolve hostname'.$conf['mysql']['host']);
+$tmp = explode(':',$conf['mysql']['host']);
+if(!$conf['mysql']['ip'] = gethostbyname($tmp[0])) die('Unable to resolve hostname'.$tmp[0]);
+unset($tmp);
//** initializing database connection
@@ -156,10 +170,16 @@
//* Configure PAM
swriteln('Configuring PAM');
$inst->configure_pam();
-
- //* Configure courier
- swriteln('Configuring Courier');
- $inst->configure_courier();
+
+ if($conf['dovecot']['installed'] == true) {
+ //* Configure dovecot
+ swriteln('Configuring Dovecot');
+ $inst->configure_dovecot();
+ } else {
+ //* Configure courier
+ swriteln('Configuring Courier');
+ $inst->configure_courier();
+ }
//* Configure Spamasassin
swriteln('Configuring Spamassassin');
@@ -178,14 +198,30 @@
swriteln('Configuring Pureftpd');
$inst->configure_pureftpd();
- //* Configure MyDNS
- swriteln('Configuring MyDNS');
- $inst->configure_mydns();
+ //* Configure DNS
+ if($conf['powerdns']['installed'] == true) {
+ swriteln('Configuring PowerDNS');
+ $inst->configure_powerdns();
+ } elseif($conf['bind']['installed'] == true) {
+ swriteln('Configuring BIND');
+ $inst->configure_bind();
+ } else {
+ swriteln('Configuring MyDNS');
+ $inst->configure_mydns();
+ }
//* Configure Apache
swriteln('Configuring Apache');
$inst->configure_apache();
+ //** Configure vlogger
+ swriteln('Configuring vlogger');
+ $inst->configure_vlogger();
+
+ //** Configure apps vhost
+ swriteln('Configuring Apps vhost');
+ $inst->configure_apps_vhost();
+
//* Configure Firewall
swriteln('Configuring Firewall');
$inst->configure_firewall();
@@ -207,22 +243,32 @@
$inst->install_crontab();
swriteln('Restarting services ...');
- if($conf['mysql']['init_script'] != '' && is_file($conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
- if($conf['postfix']['init_script'] != '' && is_file($conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
- if($conf['saslauthd']['init_script'] != '' && is_file($conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
- if($conf['amavis']['init_script'] != '' && is_file($conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
- if($conf['clamav']['init_script'] != '' && is_file($conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
- if($conf['courier']['courier-authdaemon'] != '' && is_file($conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
- if($conf['courier']['courier-imap'] != '' && is_file($conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
- if($conf['courier']['courier-imap-ssl'] != '' && is_file($conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
- if($conf['courier']['courier-pop'] != '' && is_file($conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
- if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
- if($conf['apache']['init_script'] != '' && is_file($conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
- if($conf['pureftpd']['init_script'] != '' && is_file($conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
- if($conf['mydns']['init_script'] != '' && is_file($conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+ if($conf['mysql']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
+ if($conf['postfix']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
+ if($conf['saslauthd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
+ if($conf['amavis']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
+ if($conf['clamav']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
+ if($conf['courier']['courier-authdaemon'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
+ if($conf['courier']['courier-imap'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
+ if($conf['courier']['courier-imap-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
+ if($conf['courier']['courier-pop'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
+ if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
+ if($conf['dovecot']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
+ if($conf['apache']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
+ if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
+ if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+ if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
+ if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
}else{
-
+
+ //* In expert mode, we select the services in the following steps, only db is always available
+ $conf['services']['mail'] = false;
+ $conf['services']['web'] = false;
+ $conf['services']['dns'] = false;
+ $conf['services']['db'] = true;
+
+
//** Get Server ID
// $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
// Server ID is an autoInc value of the mysql database now
@@ -275,17 +321,29 @@
if(strtolower($inst->simple_query('Configure Mail', array('y','n') ,'y') ) == 'y') {
+ $conf['services']['mail'] = true;
+
//* Configure Postfix
swriteln('Configuring Postfix');
$inst->configure_postfix();
+
+ //* Configure saslauthd
+ swriteln('Configuring SASL');
+ $inst->configure_saslauthd();
//* Configure PAM
swriteln('Configuring PAM');
$inst->configure_pam();
- //* Configure courier
- swriteln('Configuring Courier');
- $inst->configure_courier();
+ if($conf['dovecot']['installed'] == true) {
+ //* Configure dovecot
+ swriteln('Configuring Dovecot');
+ $inst->configure_dovecot();
+ } else {
+ //* Configure courier
+ swriteln('Configuring Courier');
+ $inst->configure_courier();
+ }
//* Configure Spamasassin
swriteln('Configuring Spamassassin');
@@ -308,6 +366,7 @@
if($conf['courier']['courier-imap-ssl'] != '') system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
if($conf['courier']['courier-pop'] != '') system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
if($conf['courier']['courier-pop-ssl'] != '') system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
+ if($conf['dovecot']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
}
//** Configure Jailkit
@@ -323,18 +382,40 @@
if($conf['pureftpd']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
}
- //** Configure MyDNS
+ //** Configure DNS
if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') {
- swriteln('Configuring MyDNS');
- $inst->configure_mydns();
- if($conf['mydns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+ $conf['services']['dns'] = true;
+ //* Configure DNS
+ if($conf['powerdns']['installed'] == true) {
+ swriteln('Configuring PowerDNS');
+ $inst->configure_powerdns();
+ if($conf['powerdns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
+ } elseif($conf['bind']['installed'] == true) {
+ swriteln('Configuring BIND');
+ $inst->configure_bind();
+ if($conf['bind']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
+ } else {
+ swriteln('Configuring MyDNS');
+ $inst->configure_mydns();
+ if($conf['mydns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+ }
+
}
//** Configure Apache
- swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the next option.\n");
+ swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the 'Configure Apache Server' option.\n");
if(strtolower($inst->simple_query('Configure Apache Server',array('y','n'),'y')) == 'y') {
+ $conf['services']['web'] = true;
swriteln('Configuring Apache');
$inst->configure_apache();
+
+ //** Configure vlogger
+ swriteln('Configuring vlogger');
+ $inst->configure_vlogger();
+
+ //** Configure apps vhost
+ swriteln('Configuring Apps vhost');
+ $inst->configure_apps_vhost();
}
//** Configure Firewall
@@ -379,7 +460,7 @@
//* Configure ISPConfig
swriteln('Installing Crontab');
$inst->install_crontab();
- if($conf['apache']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
+ if($conf['apache']['init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
--
Gitblit v1.9.1