From 4ffb51e51f89a45256836fb55ad1c29f5e06beb2 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Mon, 19 Sep 2011 06:17:52 -0400 Subject: [PATCH] - Added nginx support to the installer. --- install/install.php | 101 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 83 insertions(+), 18 deletions(-) diff --git a/install/install.php b/install/install.php index e2975c9..3417215 100644 --- a/install/install.php +++ b/install/install.php @@ -157,6 +157,16 @@ //* Create the MySQL database $inst->configure_database(); + //* Configure Webserver - Apache or nginx + if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { + $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache','nginx'), 'apache'); + if($http_server_to_use == 'apache'){ + $conf['nginx']['installed'] = false; + } else { + $conf['apache']['installed'] = false; + } + } + //* Insert the Server record into the database $inst->add_database_server_record(); @@ -217,8 +227,16 @@ } //* Configure Apache - swriteln('Configuring Apache'); - $inst->configure_apache(); + if($conf['apache']['installed'] == true){ + swriteln('Configuring Apache'); + $inst->configure_apache(); + } + + //* Configure nginx + if($conf['nginx']['installed'] == true){ + swriteln('Configuring nginx'); + $inst->configure_nginx(); + } //** Configure Vlogger swriteln('Configuring Vlogger'); @@ -248,6 +266,7 @@ $inst->configure_fail2ban(); } + /* if($conf['squid']['installed'] == true) { $conf['services']['proxy'] = true; swriteln('Configuring Squid'); @@ -257,6 +276,7 @@ swriteln('Configuring Nginx'); $inst->configure_nginx(); } + */ //* Configure ISPConfig swriteln('Installing ISPConfig'); @@ -291,7 +311,12 @@ if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart'); - if($conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + //* Reload is enough for nginx + if($conf['nginx']['installed'] == true){ + if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); + if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); + } if($conf['pureftpd']['init_script'] != '' && is_executable($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_executable($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_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); @@ -353,6 +378,16 @@ //* Create the mysql database $inst->configure_database(); + + //* Configure Webserver - Apache or nginx + if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { + $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache','nginx'), 'apache'); + if($http_server_to_use == 'apache'){ + $conf['nginx']['installed'] = false; + } else { + $conf['apache']['installed'] = false; + } + } //* Insert the Server record into the database swriteln('Adding ISPConfig server record to database.'); @@ -449,6 +484,7 @@ } + /* //** Configure Squid if(strtolower($inst->simple_query('Configure Proxy Server', array('y','n'),'y') ) == 'y') { if($conf['squid']['installed'] == true) { @@ -463,21 +499,42 @@ if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script']))system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); } } + */ //** Configure Apache - 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(); + if($conf['apache']['installed'] == true){ + 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 nginx + if($conf['nginx']['installed'] == true){ + swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n"); + if(strtolower($inst->simple_query('Configure nginx Server',array('y','n'),'y')) == 'y') { + $conf['services']['web'] = true; + swriteln('Configuring nginx'); + $inst->configure_nginx(); + + //** Configure Vlogger + //swriteln('Configuring Vlogger'); + //$inst->configure_vlogger(); + + //** Configure apps vhost + swriteln('Configuring Apps vhost'); + $inst->configure_apps_vhost(); + } } //** Configure Firewall @@ -520,7 +577,10 @@ */ //** Customise the port ISPConfig runs on - $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', '8080'); + $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080'); + if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; + if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; + unset($ispconfig_vhost_port); if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface',array('y','n'),'y')) == 'y') { $inst->make_ispconfig_ssl_cert(); @@ -541,7 +601,12 @@ //* Configure ISPConfig swriteln('Installing ISPConfig crontab'); $inst->install_crontab(); - 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['apache']['installed'] == true && $conf['apache']['init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + //* Reload is enough for nginx + if($conf['nginx']['installed'] == true){ + if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); + if($conf['nginx']['init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); + } -- Gitblit v1.9.1