Commit 992797f7 authored by Marius Cramer's avatar Marius Cramer

Copied files from svn 3.0.5 stable branch (git migration)

parent 7b47c0aa
......@@ -285,7 +285,7 @@ $inst->configure_dbserver();
//if(@is_dir('/etc/Bastille')) {
//* Configure Firewall
swriteln('Configuring Firewall');
$inst->configure_bastille_firewall();
$inst->configure_firewall();
//}
//** Configure ISPConfig
......
......@@ -845,6 +845,7 @@ class installer_dist extends installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf("$install_dir/interface/lib/$configfile", $content);
......@@ -869,6 +870,7 @@ class installer_dist extends installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf("$install_dir/server/lib/$configfile", $content);
......
......@@ -725,6 +725,7 @@ class installer extends installer_base
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
$this->write_config_file("$install_dir/interface/lib/$configfile", $content);
......
......@@ -900,6 +900,7 @@ class installer_dist extends installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf("$install_dir/interface/lib/$configfile", $content);
......@@ -924,6 +925,7 @@ class installer_dist extends installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf("$install_dir/server/lib/$configfile", $content);
......
......@@ -34,6 +34,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
error_reporting(E_ALL|E_STRICT);
define('INSTALLER_RUN', true);
//** The banner on the command line
echo "\n\n".str_repeat('-',80)."\n";
echo " _____ ___________ _____ __ _ ____
......@@ -106,8 +108,9 @@ $inst->find_installed_apps();
$conf['language'] = $inst->simple_query('Select language', array('en','de'), 'en');
$conf['timezone'] = get_system_timezone();
//* Set defaukt theme
//* Set default theme
$conf['theme'] = 'default';
$conf['language_file_import_enabled'] = true;
//** Select installation mode
$install_mode = $inst->simple_query('Installation mode', array('standard','expert'), 'standard');
......@@ -257,17 +260,10 @@ if($install_mode == 'standard') {
$inst->configure_apps_vhost();
//* Configure Firewall
if($conf['ufw']['installed'] == true) {
//* Configure Ubuntu Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Ubuntu Firewall');
$inst->configure_ufw_firewall();
} else {
//* Configure Bastille Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Bastille Firewall');
$inst->configure_bastille_firewall();
}
//* Configure Bastille Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Bastille Firewall');
$inst->configure_firewall();
//* Configure Fail2ban
if($conf['fail2ban']['installed'] == true) {
......@@ -335,7 +331,7 @@ if($install_mode == 'standard') {
if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
//if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null');
if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null');
if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
//if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null');
}else{
//* In expert mode, we select the services in the following steps, only db is always available
......@@ -551,17 +547,18 @@ if($install_mode == 'standard') {
//** Configure Firewall
if(strtolower($inst->simple_query('Configure Firewall Server',array('y','n'),'y')) == 'y') {
if($conf['ufw']['installed'] == true) {
//if($conf['bastille']['installed'] == true) {
//* Configure Bastille Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Bastille Firewall');
$inst->configure_firewall();
/*} elseif($conf['ufw']['installed'] == true) {
//* Configure Ubuntu Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Ubuntu Firewall');
$inst->configure_ufw_firewall();
} else {
//* Configure Bastille Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Bastille Firewall');
$inst->configure_bastille_firewall();
}
*/
}
//** Configure Firewall
......@@ -629,4 +626,4 @@ if($install_mode == 'standard') {
echo "Installation completed.\n";
?>
?>
\ No newline at end of file
......@@ -132,7 +132,7 @@ class installer_base {
if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true;
if(is_installed('squid')) $conf['squid']['installed'] = true;
if(is_installed('nginx')) $conf['nginx']['installed'] = true;
if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true;
// if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true;
if(is_installed('fail2ban-server')) $conf['fail2ban']['installed'] = true;
if(is_installed('vzctl')) $conf['openvz']['installed'] = true;
if(is_dir("/etc/Bastille")) $conf['bastille']['installed'] = true;
......@@ -1365,6 +1365,7 @@ class installer_base {
exec('chown root:root '.$conf["squid"]["config_dir"].'/'.$configfile);
}
/*
public function configure_ufw_firewall()
{
$configfile = 'ufw.conf';
......@@ -1374,8 +1375,9 @@ class installer_base {
exec('chmod 600 /etc/ufw/ufw.conf');
exec('chown root:root /etc/ufw/ufw.conf');
}
*/
public function configure_bastille_firewall() {
public function configure_firewall() {
global $conf;
$dist_init_scripts = $conf['init_scripts'];
......@@ -1691,6 +1693,7 @@ class installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf($install_dir.'/interface/lib/'.$configfile, $content);
......@@ -1715,6 +1718,7 @@ class installer_base {
$content = str_replace('{language}', $conf['language'], $content);
$content = str_replace('{timezone}', $conf['timezone'], $content);
$content = str_replace('{theme}', $conf['theme'], $content);
$content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content);
wf($install_dir.'/server/lib/'.$configfile, $content);
......
......@@ -27,6 +27,15 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//* Installer patch stub class
class installer_patch_update {
protected function onBeforeSQL() {
}
protected function onAfterSQL() {
}
}
//* DB dump function
function prepareDBDump() {
global $conf;
......@@ -151,16 +160,43 @@ function updateDbAndIni() {
$found = true;
while($found == true) {
$next_db_version = intval($current_db_version + 1);
$patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql';
if(is_file($patch_filename)) {
$sql_patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql';
$php_patch_filename = realpath(dirname(__FILE__).'/../').'/patches/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.php';
if(is_file($sql_patch_filename)) {
//* Load php patch file and instantiate object
if(is_file($php_patch_filename)) {
$php_patch_class_name = 'upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT);
include_once($php_patch_filename);
if(class_exists($php_patch_class_name)) {
$php_patch = new $php_patch_class_name;
} else {
swriteln($inst->lng('WARNING: PHP patch file').': '.$php_patch_filename.' '.$inst->lng('contains errors.'));
}
}
//* Exec onBeforeSQL function
if(isset($php_patch) && is_object($php_patch)) {
$php_patch->onBeforeSQL();
swriteln($inst->lng('Executing PHP patch file').': '.$php_patch_filename);
}
//* Load patch file into database
if( !empty($conf["mysql"]["admin_password"]) ) {
system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$patch_filename);
system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename);
} else {
system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$patch_filename);
system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename);
}
swriteln($inst->lng('Loading SQL patch file').': '.$sql_patch_filename);
//* Exec onAfterSQL function
if(isset($php_patch) && is_object($php_patch)) {
$php_patch->onAfterSQL();
}
swriteln($inst->lng('Loading SQL patch file').': '.$patch_filename);
$current_db_version = $next_db_version;
if(isset($php_patch)) unset($php_patch);
} else {
$found = false;
}
......@@ -332,4 +368,6 @@ function updateDbAndIni() {
unset($new_ini);
}
?>
<?php
if(!defined('INSTALLER_RUN')) die('Patch update file access violation.');
/*
Example installer patch update class. the classname must match
the php and the sql patch update filename. The php patches are
only executed when a corresponding sql patch exists.
*/
class upd_0001 extends installer_patch_update {
public function onBeforeSQL() {
// Do something
}
public function onAfterSQL() {
// Do something
}
}
?>
ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1';
ALTER TABLE `web_backup` ADD `filesize` VARCHAR(10) NOT NULL AFTER `filename`;
ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1';
\ No newline at end of file