Skip to content

Commit 20218c0

Browse files
author
mdshort
committed
Updated installer to make it more portable.
1 parent 313e336 commit 20218c0

File tree

10 files changed

+405
-274
lines changed

10 files changed

+405
-274
lines changed
Lines changed: 46 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,67 @@
11
<?php
22

3-
$conf["language"] = "en";
4-
$conf["distname"] = "debian40";
5-
$conf["hostname"] = "server1.example.com"; // Full hostname
6-
$conf["ispconfig_install_dir"] = "/usr/local/ispconfig";
7-
$conf["ispconfig_config_dir"] = "/usr/local/ispconfig";
8-
$conf["server_id"] = 1;
9-
103
/*
114
Distribution specific settings
125
*/
136

14-
$conf["dist_init_scripts"] = "/etc/init.d";
15-
$conf["dist_runlevel"] = "/etc";
16-
$conf["dist_shells"] = "/etc/shells";
17-
$conf["dist_cron_tab"] = "/var/spool/cron/crontabs/root";
7+
// Main
8+
$dist["init_scripts"] = "/etc/init.d";
9+
$dist["runlevel"] = "/etc";
10+
$dist["shells"] = "/etc/shells";
11+
$dist["cron_tab"] = "/var/spool/cron/crontabs/root";
12+
$dist["pam"] = "/etc/pam.d";
13+
14+
// MySQL
15+
$dist["mysql"]["init_script"] = "mysql";
1816

1917
// Apache
20-
$conf["dist_apache_user"] = "www-data";
21-
$conf["dist_apache_group"] = "www-data";
22-
$conf["dist_apache_init_script"] = "apache2";
23-
$conf["dist_apache_version"] = "2.2";
24-
$conf["dist_apache_vhost_conf_dir"] = "/etc/apache2/sites-available";
25-
$conf["dist_apache_vhost_conf_enabled_dir"] = "/etc/apache2/sites-enabled";
18+
$dist["apache"]["user"] = "www-data";
19+
$dist["apache"]["group"] = "www-data";
20+
$dist["apache"]["init_script"] = "apache2";
21+
$dist["apache"]["version"] = "2.2";
22+
$dist["apache"]["vhost_dist_dir"] = "/etc/apache2/sites-available";
23+
$dist["apache"]["vhost_dist_enabled_dir"] = "/etc/apache2/sites-enabled";
2624

2725
// Postfix
28-
$conf["dist_postfix_config_dir"] = "/etc/postfix";
29-
$conf["dist_postfix_username"] = "postfix";
30-
$conf["dist_postfix_groupname"] = "postfix";
31-
$conf["dist_postfix_vmail_userid"] = "5000";
32-
$conf["dist_postfix_vmail_username"] = "vmail";
33-
$conf["dist_postfix_vmail_groupid"] = "5000";
34-
$conf["dist_postfix_vmail_groupname"] = "vmail";
35-
$conf["dist_postfix_vmail_mailbox_base"] = "/home/vmail";
26+
$dist["postfix"]["config_dir"] = "/etc/postfix";
27+
$dist["postfix"]["init_script"] = "postfix";
28+
$dist["postfix"]["user"] = "postfix";
29+
$dist["postfix"]["group"] = "postfix";
30+
$dist["postfix"]["vmail_userid"] = "5000";
31+
$dist["postfix"]["vmail_username"] = "vmail";
32+
$dist["postfix"]["vmail_groupid"] = "5000";
33+
$dist["postfix"]["vmail_groupname"] = "vmail";
34+
$dist["postfix"]["vmail_mailbox_base"] = "/home/vmail";
3635

3736
// Getmail
38-
$conf["dist_getmail_config_dir"] = "/etc/getmail";
39-
$conf["dist_getmail_program"] = "/usr/bin/getmail";
37+
$dist["getmail"]["config_dir"] = "/etc/getmail";
38+
$dist["getmail"]["program"] = "/usr/bin/getmail";
4039

4140
// Courier
42-
$conf["dist_courier_config_dir"] = "/etc/courier";
41+
$dist["courier"]["config_dir"] = "/etc/courier";
42+
$dist["courier"]["courier-authdaemon"] = "courier-authdaemon";
43+
$dist["courier"]["courier-imap"] = "courier-imap";
44+
$dist["courier"]["courier-imap-ssl"] = "courier-imap-ssl";
45+
$dist["courier"]["courier-pop"] = "courier-pop";
46+
$dist["courier"]["courier-pop-ssl"] = "courier-pop-ssl";
47+
48+
// SASL
49+
$dist["saslauthd"]["config"] = "/etc/default/saslauthd";
50+
$dist["saslauthd"]["init_script"] = "saslauthd";
4351

4452
// Amavisd
45-
$conf["dist_amavis_config_dir"] = "/etc/amavis";
53+
$dist["amavis"]["config_dir"] = "/etc/amavis";
54+
$dist["amavis"]["init_script"] = "amavis";
55+
56+
// ClamAV
57+
$dist["clamav"]["init_script"] = "clamav-daemon";
4658

4759
// Pureftpd
48-
$conf["dist_pureftpd_config_dir"] = "/etc/pure-ftpd/db";
60+
$dist["pureftpd"]["config_dir"] = "/etc/pure-ftpd";
61+
$dist["pureftpd"]["init_script"] = "pure-ftpd-mysql";
4962

5063
// MyDNS
51-
$conf["dist_mydns_config_dir"] = "/etc";
52-
53-
/*
54-
MySQL Database settings
55-
*/
56-
$conf["mysql_server_host"] = "localhost";
57-
$conf["mysql_server_ip"] = "127.0.0.1";
58-
$conf["mysql_server_port"] = "3306";
59-
$conf["mysql_server_database"] = "dbispconfig";
60-
$conf["mysql_server_admin_user"] = "root";
61-
$conf["mysql_server_admin_password"] = "";
62-
$conf["mysql_server_ispconfig_user"] = "ispconfig";
63-
$conf["mysql_server_ispconfig_password"] = "5sDrewBhk";
64-
65-
66-
67-
68-
69-
70-
64+
$dist["mydns"]["config_dir"] = "/etc";
65+
$dist["mydns"]["init_script"] = "mydns";
7166

72-
?>
67+
?>

install/dist/conf/gentoo.conf.php

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
3+
/*
4+
Distribution specific settings
5+
*/
6+
7+
// Main
8+
$dist["init_scripts"] = "/etc/init.d";
9+
$dist["runlevel"] = "/etc";
10+
$dist["shells"] = "/etc/shells";
11+
$dist["cron_tab"] = "/var/spool/cron/crontabs/root";
12+
$dist["pam"] = "/etc/pam.d";
13+
14+
// MySQL
15+
$dist["mysql"]["init_script"] = "mysql";
16+
17+
// Apache
18+
$dist["apache"]["user"] = "apache";
19+
$dist["apache"]["group"] = "apache";
20+
$dist["apache"]["init_script"] = "apache2";
21+
$dist["apache"]["version"] = "2.2";
22+
$dist["apache"]["vhost_dist_dir"] = "/etc/apache2/vhosts.d";
23+
$dist["apache"]["vhost_dist_enabled_dir"] = "/etc/apache2/vhosts.d";
24+
25+
// Postfix
26+
$dist["postfix"]["config_dir"] = "/etc/postfix";
27+
$dist["postfix"]["init_script"] = "postfix";
28+
$dist["postfix"]["user"] = "postfix";
29+
$dist["postfix"]["group"] = "postfix";
30+
$dist["postfix"]["vmail_userid"] = "5000";
31+
$dist["postfix"]["vmail_username"] = "vmail";
32+
$dist["postfix"]["vmail_groupid"] = "5000";
33+
$dist["postfix"]["vmail_groupname"] = "vmail";
34+
$dist["postfix"]["vmail_mailbox_base"] = "/home/vmail";
35+
36+
// Getmail
37+
$dist["getmail"]["config_dir"] = "/etc/getmail";
38+
$dist["getmail"]["program"] = "/usr/bin/getmail";
39+
40+
// Courier
41+
$dist["courier"]["config_dir"] = "/etc/courier";
42+
$dist["courier"]["courier-authdaemon"] = "courier-authlib";
43+
$dist["courier"]["courier-imap"] = "courier-imapd";
44+
$dist["courier"]["courier-imap-ssl"] = "courier-imapd-ssl";
45+
$dist["courier"]["courier-pop"] = "courier-pop3d";
46+
$dist["courier"]["courier-pop-ssl"] = "courier-pop3d-ssl";
47+
48+
// SASL
49+
$dist["saslauthd"]["config"] = "/etc/default/saslauthd";
50+
$dist["saslauthd"]["init_script"] = "saslauthd";
51+
52+
// Amavisd
53+
$dist["amavis"]["config_dir"] = "/etc/amavis";
54+
$dist["amavis"]["init_script"] = "amavisd";
55+
56+
// ClamAV
57+
$dist["clamav"]["init_script"] = "clamd";
58+
59+
// Pureftpd
60+
$dist["pureftpd"]["config_dir"] = "/etc/pure-ftpd";
61+
$dist["pureftpd"]["init_script"] = "pure-ftpd";
62+
63+
// MyDNS
64+
$dist["mydns"]["config_dir"] = "/etc";
65+
$dist["mydns"]["init_script"] = "mydns";
66+
67+
?>

install/dist/lib/gentoo.lib.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
class installer extends installer_base {
32+
33+
34+
}
35+
36+
?>

install/install.php

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,15 @@
4242
// Include the base class of the installer class
4343
require_once('lib/installer_base.lib.php');
4444

45+
include_once('options.conf.php');
4546
$distname = get_distname();
4647

4748
// Include the distribution specific installer class library
4849
// and configuration
49-
include_once('dist/lib/'.$distname.'.lib.php');
50-
include_once('dist/conf/'.$distname.'.conf.php');
50+
include_once('dist/lib/'.$conf['distname'].'.lib.php');
51+
include_once('dist/conf/'.$conf['distname'].'.conf.php');
52+
53+
$conf['dist'] = $dist;
5154

5255
$inst = new installer();
5356

@@ -72,15 +75,15 @@
7275
// Get MySQL root password
7376
$finished = false;
7477
do {
75-
$tmp_mysql_server_host = $inst->free_query('MySQL server hostname',$conf["mysql_server_host"]);
76-
$tmp_mysql_server_admin_user = $inst->free_query('MySQL root username',$conf["mysql_server_admin_user"]);
77-
$tmp_mysql_server_admin_password = $inst->free_query('MySQL root password',$conf["mysql_server_admin_password"]);
78+
$tmp_mysql_server_host = $inst->free_query('MySQL server hostname',$conf["mysql"]["host"]);
79+
$tmp_mysql_server_admin_user = $inst->free_query('MySQL root username',$conf["mysql"]["admin_user"]);
80+
$tmp_mysql_server_admin_password = $inst->free_query('MySQL root password',$conf["mysql"]["admin_password"]);
7881

7982
// Initialize the MySQL server connection
8083
if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
81-
$conf["mysql_server_host"] = $tmp_mysql_server_host;
82-
$conf["mysql_server_admin_user"] = $tmp_mysql_server_admin_user;
83-
$conf["mysql_server_admin_password"] = $tmp_mysql_server_admin_password;
84+
$conf["mysql"]["host"] = $tmp_mysql_server_host;
85+
$conf["mysql"]["admin_user"] = $tmp_mysql_server_admin_user;
86+
$conf["mysql"]["admin_password"] = $tmp_mysql_server_admin_password;
8487
$finished = true;
8588
} else {
8689
swriteln($inst->lng("Unable to connect to mysql server").' '.mysql_error());
@@ -147,19 +150,19 @@
147150
$inst->install_crontab();
148151

149152
swriteln('Restarting services ...');
150-
system("/etc/init.d/mysql restart");
151-
system("/etc/init.d/postfix restart");
152-
system("/etc/init.d/saslauthd restart");
153-
system("/etc/init.d/amavis restart");
154-
system("/etc/init.d/clamav-daemon restart");
155-
system("/etc/init.d/courier-authdaemon restart");
156-
system("/etc/init.d/courier-imap restart");
157-
system("/etc/init.d/courier-imap-ssl restart");
158-
system("/etc/init.d/courier-pop restart");
159-
system("/etc/init.d/courier-pop-ssl restart");
160-
system("/etc/init.d/apache2 restart");
161-
system("/etc/init.d/pure-ftpd-mysql restart");
162-
system("/etc/init.d/mydns restart");
153+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['mysql']['init_script'].' restart');
154+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['postfix']['init_script'].' restart');
155+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['saslauthd']['init_script'].' restart');
156+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['amavis']['init_script'].' restart');
157+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['clamav']['init_script'].' restart');
158+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-authdaemon'].' restart');
159+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-imap'].' restart');
160+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-imap-ssl'].' restart');
161+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-pop'].' restart');
162+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-pop-ssl'].' restart');
163+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['apache']['init_script'].' restart');
164+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['pureftpd']['init_script'].' restart');
165+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['mydns']['init_script'].' restart');
163166

164167
} else {
165168

@@ -198,29 +201,29 @@
198201
swriteln('Configuring Getmail');
199202
$inst->configure_getmail();
200203

201-
system("/etc/init.d/postfix restart");
202-
system("/etc/init.d/saslauthd restart");
203-
system("/etc/init.d/amavis restart");
204-
system("/etc/init.d/clamav-daemon restart");
205-
system("/etc/init.d/courier-authdaemon restart");
206-
system("/etc/init.d/courier-imap restart");
207-
system("/etc/init.d/courier-imap-ssl restart");
208-
system("/etc/init.d/courier-pop restart");
209-
system("/etc/init.d/courier-pop-ssl restart");
204+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['postfix']['init_script'].' restart');
205+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['saslauthd']['init_script'].' restart');
206+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['amavis']['init_script'].' restart');
207+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['clamav']['init_script'].' restart');
208+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-authdaemon'].' restart');
209+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-imap'].' restart');
210+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-imap-ssl'].' restart');
211+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-pop'].' restart');
212+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['courier']['courier-pop-ssl'].' restart');
210213
}
211214

212215
if(strtolower($inst->simple_query('Configure FTP Server',array('y','n'),'y')) == 'y') {
213216
// Configure Pureftpd
214217
swriteln('Configuring Pureftpd');
215218
$inst->configure_pureftpd();
216-
system("/etc/init.d/pure-ftpd-mysql restart");
219+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['pureftpd']['init_script'].' restart');
217220
}
218221

219222
if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') {
220223
// Configure MyDNS
221224
swriteln('Configuring MyDNS');
222225
$inst->configure_mydns();
223-
system("/etc/init.d/mydns restart");
226+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['mydns']['init_script'].' restart');
224227
}
225228

226229
if(strtolower($inst->simple_query('Configure Apache Server',array('y','n'),'y')) == 'y') {
@@ -237,8 +240,7 @@
237240
// Configure ISPConfig
238241
swriteln('Installing Crontab');
239242
$inst->install_crontab();
240-
241-
system("/etc/init.d/apache2 restart");
243+
system($conf['dist']["init_scripts"].'/'.$conf['dist']['apache']['init_script'].' restart');
242244
}
243245

244246

@@ -248,4 +250,4 @@
248250
echo "Installation finished.\n";
249251

250252

251-
?>
253+
?>

install/lib/install.lib.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
function get_distname() {
3838

39-
$distname = 'debian40';
39+
$distname = $conf['distname'];
4040

4141
return $distname;
4242
}
@@ -378,4 +378,4 @@ function edit_xinetd_conf($service){
378378

379379

380380

381-
?>
381+
?>

0 commit comments

Comments
 (0)