|
32 | 32 | ISPConfig 3 installer. |
33 | 33 | */ |
34 | 34 |
|
| 35 | +// Check for existing installation |
| 36 | +//if(is_dir("/usr/local/ispconfig")) die('We will stop here. There is already a ISPConfig installation, use the update script to update this installation.'); |
| 37 | + |
| 38 | + |
35 | 39 | // Include the library with the basic installer functions |
36 | 40 | require_once('lib/install.lib.php'); |
37 | 41 |
|
|
49 | 53 |
|
50 | 54 |
|
51 | 55 |
|
52 | | -echo "This application will install ISPConfig 3 on your server.\n"; |
53 | | - |
54 | | -// $conf["language"] = $inst->request_language(); |
55 | | - |
56 | | -// TODO: all other queries, for testing I will setup everything in $conf |
57 | | - |
58 | | -// Initialize the MySQL server connection |
59 | | -include_once('lib/mysql.lib.php'); |
60 | | -$inst->db = new db(); |
61 | | - |
62 | | -// Create the mysql database |
63 | | -$inst->configure_database(); |
64 | | - |
65 | | -// Configure postfix |
66 | | -$inst->configure_postfix(); |
67 | | - |
68 | | -// Configure saslauthd |
69 | | -swriteln('Configuring SASL'); |
70 | | -$inst->configure_saslauthd(); |
| 56 | +swriteln($inst->lng("This application will install ISPConfig 3 on your server."); |
71 | 57 |
|
| 58 | +// Select the language |
| 59 | +$conf["language"] = $inst->simple_query('Select language',array('en','de'),'en'); |
72 | 60 |
|
73 | | -// Configure PAM |
74 | | -swriteln('Configuring PAM'); |
75 | | -$inst->configure_pam(); |
| 61 | +// Select installation mode |
| 62 | +$install_mode = $inst->simple_query('Installation mode',array('Standard','Expert'),'Standard'); |
76 | 63 |
|
77 | | -// Configure courier |
78 | | -swriteln('Configuring Courier'); |
79 | | -$inst->configure_courier(); |
| 64 | +// Get the hostname |
| 65 | +$tmp_out = array(); |
| 66 | +exec("hostname -f",$tmp_out); |
| 67 | +$conf["hostname"] = $inst->free_query('Full qualified hostname (FQDN) of the server',$tmp_out[0]); |
| 68 | +unset($tmp_out); |
80 | 69 |
|
81 | | -// Configure Spamasassin |
82 | | -swriteln('Configuring Spamassassin'); |
83 | | -$inst->configure_spamassassin(); |
84 | 70 |
|
85 | | -// Configure Amavis |
86 | | -swriteln('Configuring Amavisd'); |
87 | | -$inst->configure_amavis(); |
88 | 71 |
|
89 | | -// Configure Getmail |
90 | | -swriteln('Configuring Getmail'); |
91 | | -$inst->configure_getmail(); |
92 | | - |
93 | | -// Configure Pureftpd |
94 | | -swriteln('Configuring Pureftpd'); |
95 | | -$inst->configure_pureftpd(); |
96 | | - |
97 | | -// Configure MyDNS |
98 | | -swriteln('Configuring MyDNS'); |
99 | | -$inst->configure_mydns(); |
100 | | - |
101 | | -// Configure ISPConfig |
102 | | -swriteln('Installing ISPConfig'); |
103 | | -$inst->install_ispconfig(); |
104 | | - |
105 | | -// Configure ISPConfig |
106 | | -swriteln('Installing Crontab'); |
107 | | -$inst->install_crontab(); |
108 | | - |
109 | | - |
110 | | -/* |
111 | | -Restart services: |
112 | | -
|
113 | | -saslauthd |
114 | | -all courier |
115 | | -apache2 |
116 | | -postfix |
117 | | -amavisd |
118 | | -calmd |
119 | | -spamd |
120 | | -*/ |
| 72 | +// Get MySQL root password |
| 73 | +include_once('lib/mysql.lib.php'); |
| 74 | +$finished = false; |
| 75 | +do { |
| 76 | + $conf["mysql_server_admin_password"] = $inst->free_query('MySQL root password',''); |
| 77 | + // Initialize the MySQL server connection |
| 78 | + $inst->db = new db(); |
| 79 | + if($inst->db->connect() == false) { |
| 80 | + swriteln($inst->db->errorMessage); |
| 81 | + } else { |
| 82 | + $finished = true; |
| 83 | + } |
| 84 | +} while ($finished == false); |
| 85 | + |
| 86 | + |
| 87 | + |
| 88 | +// Begin with standard or expert installation |
| 89 | +if($install_mode == 'Standard') { |
| 90 | + |
| 91 | + // Create the mysql database |
| 92 | + $inst->configure_database(); |
| 93 | + |
| 94 | + // Configure postfix |
| 95 | + $inst->configure_postfix(); |
| 96 | + |
| 97 | + // Configure saslauthd |
| 98 | + swriteln('Configuring SASL'); |
| 99 | + $inst->configure_saslauthd(); |
| 100 | + |
| 101 | + // Configure PAM |
| 102 | + swriteln('Configuring PAM'); |
| 103 | + $inst->configure_pam(); |
| 104 | + |
| 105 | + // Configure courier |
| 106 | + swriteln('Configuring Courier'); |
| 107 | + $inst->configure_courier(); |
| 108 | + |
| 109 | + // Configure Spamasassin |
| 110 | + swriteln('Configuring Spamassassin'); |
| 111 | + $inst->configure_spamassassin(); |
| 112 | + |
| 113 | + // Configure Amavis |
| 114 | + swriteln('Configuring Amavisd'); |
| 115 | + $inst->configure_amavis(); |
| 116 | + |
| 117 | + // Configure Getmail |
| 118 | + swriteln('Configuring Getmail'); |
| 119 | + $inst->configure_getmail(); |
| 120 | + |
| 121 | + |
| 122 | + // Configure Pureftpd |
| 123 | + swriteln('Configuring Pureftpd'); |
| 124 | + $inst->configure_pureftpd(); |
| 125 | + |
| 126 | + // Configure MyDNS |
| 127 | + swriteln('Configuring MyDNS'); |
| 128 | + $inst->configure_mydns(); |
| 129 | + |
| 130 | + // Configure ISPConfig |
| 131 | + swriteln('Installing ISPConfig'); |
| 132 | + $inst->install_ispconfig(); |
| 133 | + |
| 134 | + // Configure ISPConfig |
| 135 | + swriteln('Installing Crontab'); |
| 136 | + $inst->install_crontab(); |
| 137 | + |
| 138 | + swriteln('Restarting services ...'); |
| 139 | + system("/etc/init.d/mysql restart"); |
| 140 | + system("/etc/init.d/postfix restart"); |
| 141 | + system("/etc/init.d/saslauthd restart"); |
| 142 | + system("/etc/init.d/amavis restart"); |
| 143 | + system("/etc/init.d/clamav-daemon restart"); |
| 144 | + system("/etc/init.d/courier-authdaemon restart"); |
| 145 | + system("/etc/init.d/courier-imap restart"); |
| 146 | + system("/etc/init.d/courier-imap-ssl restart"); |
| 147 | + system("/etc/init.d/courier-pop restart"); |
| 148 | + system("/etc/init.d/courier-pop-ssl restart"); |
| 149 | + system("/etc/init.d/apache2 restart"); |
| 150 | + system("/etc/init.d/pure-ftpd-mysql restart"); |
| 151 | + system("/etc/init.d/mydns restart"); |
| 152 | + |
| 153 | +} else { |
| 154 | + |
| 155 | + // Get Server ID |
| 156 | + $conf["server_id"] = $inst->free_query('Unique Numeric ID of the server','1'); |
| 157 | + |
| 158 | + if(strtolower($inst->simple_query('Create Database',array('y','n'),'y')) == 'y') { |
| 159 | + // Create the mysql database |
| 160 | + $inst->configure_database(); |
| 161 | + system("/etc/init.d/mysql restart"); |
| 162 | + } |
| 163 | + |
| 164 | + if(strtolower($inst->simple_query('Configure Mail',array('y','n'),'y')) == 'y') { |
| 165 | + |
| 166 | + // Configure Postfix |
| 167 | + swriteln('Configuring Postfix'); |
| 168 | + $inst->configure_postfix(); |
| 169 | + |
| 170 | + // Configure PAM |
| 171 | + swriteln('Configuring PAM'); |
| 172 | + $inst->configure_pam(); |
| 173 | + |
| 174 | + // Configure courier |
| 175 | + swriteln('Configuring Courier'); |
| 176 | + $inst->configure_courier(); |
| 177 | + |
| 178 | + // Configure Spamasassin |
| 179 | + swriteln('Configuring Spamassassin'); |
| 180 | + $inst->configure_spamassassin(); |
| 181 | + |
| 182 | + // Configure Amavis |
| 183 | + swriteln('Configuring Amavisd'); |
| 184 | + $inst->configure_amavis(); |
| 185 | + |
| 186 | + // Configure Getmail |
| 187 | + swriteln('Configuring Getmail'); |
| 188 | + $inst->configure_getmail(); |
| 189 | + |
| 190 | + system("/etc/init.d/postfix restart"); |
| 191 | + system("/etc/init.d/saslauthd restart"); |
| 192 | + system("/etc/init.d/amavis restart"); |
| 193 | + system("/etc/init.d/clamav-daemon restart"); |
| 194 | + system("/etc/init.d/courier-authdaemon restart"); |
| 195 | + system("/etc/init.d/courier-imap restart"); |
| 196 | + system("/etc/init.d/courier-imap-ssl restart"); |
| 197 | + system("/etc/init.d/courier-pop restart"); |
| 198 | + system("/etc/init.d/courier-pop-ssl restart"); |
| 199 | + } |
| 200 | + |
| 201 | + if(strtolower($inst->simple_query('Configure FTP Server',array('y','n'),'y')) == 'y') { |
| 202 | + // Configure Pureftpd |
| 203 | + swriteln('Configuring Pureftpd'); |
| 204 | + $inst->configure_pureftpd(); |
| 205 | + system("/etc/init.d/pure-ftpd-mysql restart"); |
| 206 | + } |
| 207 | + |
| 208 | + if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') { |
| 209 | + // Configure MyDNS |
| 210 | + swriteln('Configuring MyDNS'); |
| 211 | + $inst->configure_mydns(); |
| 212 | + system("/etc/init.d/mydns restart"); |
| 213 | + } |
| 214 | + |
| 215 | + if(strtolower($inst->simple_query('Install ISPConfig',array('y','n'),'y')) == 'y') { |
| 216 | + // Configure ISPConfig |
| 217 | + swriteln('Installing ISPConfig'); |
| 218 | + $inst->install_ispconfig(); |
| 219 | + |
| 220 | + // Configure ISPConfig |
| 221 | + swriteln('Installing Crontab'); |
| 222 | + $inst->install_crontab(); |
| 223 | + |
| 224 | + system("/etc/init.d/apache2 restart"); |
| 225 | + } |
| 226 | + |
| 227 | + |
| 228 | +} |
121 | 229 |
|
122 | | -swriteln('Restarting services ...'); |
123 | | -system("/etc/init.d/mysql restart"); |
124 | | -system("/etc/init.d/postfix restart"); |
125 | | -system("/etc/init.d/saslauthd restart"); |
126 | | -system("/etc/init.d/amavis restart"); |
127 | | -system("/etc/init.d/clamav-daemon restart"); |
128 | | -system("/etc/init.d/courier-authdaemon restart"); |
129 | | -system("/etc/init.d/courier-imap restart"); |
130 | | -system("/etc/init.d/courier-imap-ssl restart"); |
131 | | -system("/etc/init.d/courier-pop restart"); |
132 | | -system("/etc/init.d/courier-pop-ssl restart"); |
133 | | -system("/etc/init.d/apache2 restart"); |
134 | | -system("/etc/init.d/pure-ftpd-mysql restart"); |
135 | | -system("/etc/init.d/mydns restart"); |
136 | 230 |
|
137 | 231 | echo "Installation finished.\n"; |
138 | 232 |
|
|
0 commit comments