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

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
ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1';
ALTER TABLE `mail_domain` ADD `dkim_public` MEDIUMTEXT NOT NULL AFTER `domain`;
ALTER TABLE `mail_domain` ADD `dkim_private` MEDIUMTEXT NOT NULL AFTER `domain`;
ALTER TABLE `mail_domain` ADD `dkim` ENUM( 'n', 'y' ) NOT NULL AFTER `domain`;
ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`;
ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`;
\ No newline at end of file
ALTER TABLE `web_backup` CHANGE `backup_type` `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web';
ALTER TABLE `web_database_user` ADD `database_password_mongo` varchar(32) DEFAULT NULL AFTER `database_password`;
ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL;
ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL;
\ No newline at end of file
CREATE TABLE IF NOT EXISTS `sys_cron` (
`name` varchar(50) NOT NULL,
`last_run` datetime NULL DEFAULT NULL,
`next_run` datetime NULL DEFAULT NULL,
`running` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `client` ADD COLUMN `can_use_api` enum('n','y') NOT NULL DEFAULT 'n' AFTER `canceled`;
ALTER TABLE `remote_session` ADD COLUMN `client_login` tinyint(1) unsigned NOT NULL default '0' AFTER `remote_functions`;
......@@ -26,24 +26,24 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-- Includes
--
-- Includes
--
-- iso_country_list.sql
--
--
-- This will create and then populate a MySQL table with a list of the names and
-- ISO 3166 codes for countries in existence as of the date below.
--
--
-- For updates to this file, see http://27.org/isocountrylist/
-- For more about ISO 3166, see http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
--
--
-- Created by getisocountrylist.pl on Sun Nov 2 14:59:20 2003.
-- Wm. Rhodes <iso_country_list@27.org>
--
--
--
--
-- ISPConfig 3
-- DB-Version: 3.0.0.9
--
--
SET FOREIGN_KEY_CHECKS = 0;
......@@ -228,6 +228,7 @@ CREATE TABLE `client` (
`created_at` bigint(20) DEFAULT NULL,
`locked` enum('n','y') NOT NULL DEFAULT 'n',
`canceled` enum('n','y') NOT NULL DEFAULT 'n',
`can_use_api` enum('n','y') NOT NULL DEFAULT 'n',
`tmp_data` mediumblob,
`id_rsa` varchar(2000) NOT NULL DEFAULT '',
`ssh_rsa` varchar(600) NOT NULL DEFAULT '',
......@@ -256,9 +257,9 @@ CREATE TABLE `client_circle` (
-- --------------------------------------------------------
--
--
-- Table structure for table `client_template`
--
--
CREATE TABLE `client_template` (
`template_id` int(11) unsigned NOT NULL auto_increment,
......@@ -266,7 +267,7 @@ CREATE TABLE `client_template` (
`sys_groupid` int(11) unsigned NOT NULL default '0',
`sys_perm_user` varchar(5) default NULL,
`sys_perm_group` varchar(5) default NULL,
`sys_perm_other` varchar(5) default NULL,
`sys_perm_other` varchar(5) default NULL,
`template_name` varchar(64) NOT NULL,
`template_type` varchar(1) NOT NULL default 'm',
`limit_maildomain` int(11) NOT NULL default '-1',
......@@ -347,9 +348,9 @@ CREATE TABLE `country` (
-- --------------------------------------------------------
--
--
-- Table structure for table `cron`
--
--
CREATE TABLE `cron` (
`id` int(11) unsigned NOT NULL auto_increment,
`sys_userid` int(11) unsigned NOT NULL default '0',
......@@ -372,9 +373,9 @@ CREATE TABLE `cron` (
-- --------------------------------------------------------
--
--
-- Table structure for table `directive_snippets`
--
--
CREATE TABLE IF NOT EXISTS `directive_snippets` (
`directive_snippets_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
......@@ -392,9 +393,9 @@ CREATE TABLE IF NOT EXISTS `directive_snippets` (
-- --------------------------------------------------------
--
--
-- Table structure for table `dns_rr`
--
--
CREATE TABLE `dns_rr` (
`id` int(11) unsigned NOT NULL auto_increment,
......@@ -442,9 +443,9 @@ CREATE TABLE `dns_slave` (
-- --------------------------------------------------------
--
--
-- Table structure for table `dns_soa`
--
--
CREATE TABLE `dns_soa` (
`id` int(10) unsigned NOT NULL auto_increment,
......@@ -474,9 +475,9 @@ CREATE TABLE `dns_soa` (
-- --------------------------------------------------------
--
--
-- Table structure for table `dns_template`
--
--
CREATE TABLE `dns_template` (
`template_id` int(11) unsigned NOT NULL auto_increment,
......@@ -510,9 +511,9 @@ CREATE TABLE `domain` (
-- --------------------------------------------------------
--
--
-- Table structure for table `firewall`
--
--
CREATE TABLE `firewall` (
`firewall_id` int(11) unsigned NOT NULL auto_increment,
......@@ -530,9 +531,9 @@ CREATE TABLE `firewall` (
-- --------------------------------------------------------
--
--
-- Table structure for table `ftp_user`
--
--
CREATE TABLE `ftp_user` (
`ftp_user_id` int(11) unsigned NOT NULL auto_increment,
......@@ -624,9 +625,9 @@ CREATE TABLE `iptables` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_access`
--
--
CREATE TABLE `mail_access` (
`access_id` int(11) unsigned NOT NULL auto_increment,
......@@ -646,9 +647,9 @@ CREATE TABLE `mail_access` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_content_filter`
--
--
CREATE TABLE `mail_content_filter` (
`content_filter_id` int(11) unsigned NOT NULL auto_increment,
......@@ -668,9 +669,9 @@ CREATE TABLE `mail_content_filter` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_domain`
--
--
CREATE TABLE `mail_domain` (
`domain_id` int(11) unsigned NOT NULL auto_increment,
......@@ -681,9 +682,6 @@ CREATE TABLE `mail_domain` (
`sys_perm_other` varchar(5) NOT NULL default '',
`server_id` int(11) unsigned NOT NULL default '0',
`domain` varchar(255) NOT NULL default '',
`dkim` ENUM( 'n', 'y' ) NOT NULL default 'n',
`dkim_private` mediumtext NOT NULL default '',
`dkim_public` mediumtext NOT NULL default '',
`active` enum('n','y') NOT NULL,
PRIMARY KEY (`domain_id`),
KEY `server_id` (`server_id`,`domain`),
......@@ -692,9 +690,9 @@ CREATE TABLE `mail_domain` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_forwarding`
--
--
CREATE TABLE `mail_forwarding` (
`forwarding_id` int(11) unsigned NOT NULL auto_increment,
......@@ -715,9 +713,9 @@ CREATE TABLE `mail_forwarding` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_get`
--
--
CREATE TABLE `mail_get` (
`mailget_id` int(11) unsigned NOT NULL auto_increment,
......@@ -781,9 +779,9 @@ CREATE TABLE IF NOT EXISTS `mail_relay_recipient` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_traffic`
--
--
CREATE TABLE `mail_traffic` (
`traffic_id` int(11) unsigned NOT NULL auto_increment,
......@@ -796,9 +794,9 @@ CREATE TABLE `mail_traffic` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_transport`
--
--
CREATE TABLE `mail_transport` (
`transport_id` int(11) unsigned NOT NULL auto_increment,
......@@ -819,9 +817,9 @@ CREATE TABLE `mail_transport` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_user`
--
--
CREATE TABLE `mail_user` (
`mailuser_id` int(11) unsigned NOT NULL auto_increment,
......@@ -865,9 +863,9 @@ CREATE TABLE `mail_user` (
-- --------------------------------------------------------
--
--
-- Table structure for table `mail_user_filter`
--
--
CREATE TABLE `mail_user_filter` (
`filter_id` int(11) unsigned NOT NULL auto_increment,
......@@ -1078,23 +1076,24 @@ CREATE TABLE IF NOT EXISTS `openvz_vm` (
-- --------------------------------------------------------
--
--
-- Table structure for table `remote_session`
--
--
CREATE TABLE `remote_session` (
`remote_session` varchar(64) NOT NULL,
`remote_userid` int(11) unsigned NOT NULL,
`remote_functions` text NOT NULL,
`client_login` tinyint(1) unsigned NOT NULL default '0',
`tstamp` int(10) unsigned NOT NULL,
PRIMARY KEY (`remote_session`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-- --------------------------------------------------------
--
--
-- Table structure for table `remote_user`
--
--
CREATE TABLE `remote_user` (
`remote_userid` int(11) unsigned NOT NULL auto_increment,
......@@ -1111,9 +1110,9 @@ CREATE TABLE `remote_user` (
-- --------------------------------------------------------
--
--
-- Table structure for table `server`
--
--
CREATE TABLE `server` (
`server_id` int(11) unsigned NOT NULL auto_increment,
......@@ -1141,9 +1140,9 @@ CREATE TABLE `server` (
-- --------------------------------------------------------
--
--
-- Table structure for table `server_ip`
--
--
CREATE TABLE `server_ip` (
`server_ip_id` int(11) unsigned NOT NULL auto_increment,
......@@ -1217,9 +1216,9 @@ CREATE TABLE `shell_user` (
-- --------------------------------------------------------
--
--
-- Table structure for table `software_package`
--
--
CREATE TABLE `software_package` (
`package_id` int(11) unsigned NOT NULL auto_increment,
......@@ -1240,9 +1239,9 @@ CREATE TABLE `software_package` (
-- --------------------------------------------------------