From ea82a03050626b7a37037ce95a4e418acc2a2af4 Mon Sep 17 00:00:00 2001
From: Dominik <info@profi-webdesign.net>
Date: Wed, 09 Apr 2014 13:41:26 -0400
Subject: [PATCH] changed default values
---
install/lib/installer_base.lib.php | 132 ++++++++++++++++++++++++++++---------------
1 files changed, 85 insertions(+), 47 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 6e1dfbd..2fa7585 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -474,7 +474,15 @@
$this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage);
}
- $query = "GRANT SELECT, UPDATE ON ".$value['db'].".`aps_instances` TO '".$value['user']."'@'".$host."' ";
+ $query = "GRANT SELECT, UPDATE, DELETE ON ".$value['db'].".`aps_instances` TO '".$value['user']."'@'".$host."' ";
+ if ($verbose){
+ echo $query ."\n";
+ }
+ if(!$this->dbmaster->query($query)) {
+ $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage);
+ }
+
+ $query = "GRANT SELECT, DELETE ON ".$value['db'].".`aps_instances_settings` TO '".$value['user']."'@'".$host."' ";
if ($verbose){
echo $query ."\n";
}
@@ -669,11 +677,11 @@
//* postfix-dkim
$full_file_name=$config_dir.'/tag_as_originating.re';
- if(is_file($full_file_name)) copy($full_file_name, $$full_file_name.'~');
+ if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~');
wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10026');
$full_file_name=$config_dir.'/tag_as_foreign.re';
- if(is_file($full_file_name)) copy($full_file_name, $$full_file_name.'~');
+ if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~');
wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10024');
//* Changing mode and group of the new created config files.
@@ -972,6 +980,7 @@
} else {
copy('tpl/debian_dovecot2.conf.master', $config_dir.'/'.$configfile);
}
+ replaceLine($config_dir.'/'.$configfile, 'postmaster_address = postmaster@example.com', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0);
} else {
if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master')) {
copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master', $config_dir.'/'.$configfile);
@@ -996,6 +1005,9 @@
chmod($config_dir.'/'.$configfile, 0600);
chown($config_dir.'/'.$configfile, 'root');
chgrp($config_dir.'/'.$configfile, 'root');
+
+ // Dovecot shall ignore mounts in website directory
+ exec("doveadm mount add '/var/www/*' ignore");
}
@@ -1040,21 +1052,21 @@
if(is_file($conf['postfix']['config_dir'].'/master.cf')) copy($conf['postfix']['config_dir'].'/master.cf', $conf['postfix']['config_dir'].'/master.cf~');
$content = rf($conf['postfix']['config_dir'].'/master.cf');
// Only add the content if we had not addded it before
- if(!stristr($content, 'amavis')) {
+ if(!preg_match('/^amavis\s+unix\s+/m', $content)) {
unset($content);
$content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master');
af($conf['postfix']['config_dir'].'/master.cf', $content);
$content = rf($conf['postfix']['config_dir'].'/master.cf');
}
- if(!stristr($content, '127.0.0.1:10025')) {
+ if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) {
unset($content);
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis10025.master');
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master');
af($conf['postfix']['config_dir'].'/master.cf', $content);
- $content = rf($conf['postfix']['config_dir'].'/master.cf');
+ $content = rf($conf['postfix']['config_dir'].'/master.cf');
}
- if(!stristr($content, '127.0.0.1:10027')) {
+ if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) {
unset($content);
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis10027.master');
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master');
af($conf['postfix']['config_dir'].'/master.cf', $content);
}
unset($content);
@@ -1063,7 +1075,7 @@
exec('adduser clamav amavis');
// Create the director for DKIM-Keys
- if(!is_dir('/var/lib/amavis/dkim')) mkdir('-p /var/lib/amavis/dkim', 0750);
+ if(!is_dir('/var/lib/amavis/dkim')) mkdir('/var/lib/amavis/dkim', 0750, true);
// get shell-user for amavis
$amavis_user=exec('grep -o "^amavis:\|^vscan:" /etc/passwd');
if(!empty($amavis_user)) {
@@ -1257,14 +1269,28 @@
if(is_file('/etc/apache2/ports.conf')) {
// add a line "Listen 443" to ports conf if line does not exist
replaceLine('/etc/apache2/ports.conf', 'Listen 443', 'Listen 443', 1);
+
+ // Comment out the namevirtualhost lines, as they were added by ispconfig in ispconfig.conf file again
+ replaceLine('/etc/apache2/ports.conf', 'NameVirtualHost *:80', '# NameVirtualHost *:80', 1);
+ replaceLine('/etc/apache2/ports.conf', 'NameVirtualHost *:443', '# NameVirtualHost *:443', 1);
}
if(is_file('/etc/apache2/apache.conf')) {
if(hasLine('/etc/apache2/apache.conf', 'Include sites-enabled/', 1) == false) {
- if(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.conf', 1) == false) {
+ if(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.conf', 1) == false && hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/', 1) == false) {
replaceLine('/etc/apache2/apache.conf', 'Include sites-enabled/', 'Include sites-enabled/', 1, 1);
} elseif(hasLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.vhost', 1) == false) {
- replaceLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.vhost', 'IncludeOptional sites-enabled/*.vhost', 1, 1);
+ replaceLine('/etc/apache2/apache.conf', 'IncludeOptional sites-enabled/*.vhost', 'IncludeOptional sites-enabled/', 1, 1);
+ }
+ }
+ }
+
+ if(is_file('/etc/apache2/apache2.conf')) {
+ if(hasLine('/etc/apache2/apache2.conf', 'Include sites-enabled/', 1) == false && hasLine('/etc/apache2/apache2.conf', 'IncludeOptional sites-enabled/', 1) == false) {
+ if(hasLine('/etc/apache2/apache2.conf', 'Include sites-enabled/*.conf', 1) == true) {
+ replaceLine('/etc/apache2/apache2.conf', 'Include sites-enabled/*.conf', 'Include sites-enabled/', 1, 1);
+ } elseif(hasLine('/etc/apache2/apache2.conf', 'IncludeOptional sites-enabled/*.conf', 1) == true) {
+ replaceLine('/etc/apache2/apache2.conf', 'IncludeOptional sites-enabled/*.conf', 'IncludeOptional sites-enabled/', 1, 1);
}
}
}
@@ -1273,11 +1299,12 @@
$vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
$vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
- // copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
-
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_ispconfig.conf.master', 'tpl/apache_ispconfig.conf.master');
+ $tpl = new tpl('apache_ispconfig.conf.master');
+ $tpl->setVar('apache_version',getapacheversion());
+
$records = $this->db->queryAllRecords('SELECT * FROM '.$conf['mysql']['master_database'].'.server_ip WHERE server_id = '.$conf['server_id']." AND virtualhost = 'y'");
-
+ $ip_addresses = array();
+
if(is_array($records) && count($records) > 0) {
foreach($records as $rec) {
if($rec['ip_type'] == 'IPv6') {
@@ -1290,15 +1317,17 @@
foreach($ports as $port) {
$port = intval($port);
if($port > 0 && $port < 65536 && $ip_address != '') {
- $content .= 'NameVirtualHost '.$ip_address.":".$port."\n";
+ $ip_addresses[] = array('ip_address' => $ip_address, 'port' => $port);
}
}
}
}
}
-
- $content .= "\n";
- wf($vhost_conf_dir.'/ispconfig.conf', $content);
+
+ if(count($ip_addresses) > 0) $tpl->setLoop('ip_adresses',$ip_addresses);
+
+ wf($vhost_conf_dir.'/ispconfig.conf', $tpl->grab());
+ unset($tpl);
if(!@is_link($vhost_conf_enabled_dir.'/000-ispconfig.conf')) {
symlink($vhost_conf_dir.'/ispconfig.conf', $vhost_conf_enabled_dir.'/000-ispconfig.conf');
@@ -1527,7 +1556,8 @@
if(!is_user($apps_vhost_user)) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- $command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
+ //$command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
+ $command = 'usermod -a -G '.$apps_vhost_group.' '.$conf['apache']['user'];
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
if(!@is_dir($install_dir)){
@@ -1542,25 +1572,31 @@
$vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
$vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
$apps_vhost_servername = ($conf['web']['apps_vhost_servername'] == '')?'':'ServerName '.$conf['web']['apps_vhost_servername'];
+
+ //* Get the apps vhost port
+ if($this->is_update == true) {
+ $conf['web']['apps_vhost_port'] = get_apps_vhost_port_number();
+ }
// Dont just copy over the virtualhost template but add some custom settings
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_apps.vhost.master', 'tpl/apache_apps.vhost.master');
-
- $content = str_replace('{apps_vhost_ip}', $conf['web']['apps_vhost_ip'], $content);
- $content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content);
- $content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content);
- $content = str_replace('{website_basedir}', $conf['web']['website_basedir'], $content);
- $content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
+ $tpl = new tpl('apache_apps.vhost.master');
+ $tpl->setVar('apps_vhost_ip',$conf['web']['apps_vhost_ip']);
+ $tpl->setVar('apps_vhost_port',$conf['web']['apps_vhost_port']);
+ $tpl->setVar('apps_vhost_dir',$conf['web']['website_basedir'].'/apps');
+ $tpl->setVar('apps_vhost_basedir',$conf['web']['website_basedir']);
+ $tpl->setVar('apps_vhost_servername',$apps_vhost_servername);
+ $tpl->setVar('apache_version',getapacheversion());
// comment out the listen directive if port is 80 or 443
if($conf['web']['apps_vhost_ip'] == 80 or $conf['web']['apps_vhost_ip'] == 443) {
- $content = str_replace('{vhost_port_listen}', '#', $content);
+ $tpl->setVar('vhost_port_listen','#');
} else {
- $content = str_replace('{vhost_port_listen}', '', $content);
+ $tpl->setVar('vhost_port_listen','');
}
- wf($vhost_conf_dir.'/apps.vhost', $content);
+ wf($vhost_conf_dir.'/apps.vhost', $tpl->grab());
+ unset($tpl);
//copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost");
//* and create the symlink
@@ -1593,7 +1629,8 @@
if(!is_user($apps_vhost_user)) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- $command = 'adduser '.$conf['nginx']['user'].' '.$apps_vhost_group;
+ //$command = 'adduser '.$conf['nginx']['user'].' '.$apps_vhost_group;
+ $command = 'usermod -a -G '.$apps_vhost_group.' '.$conf['nginx']['user'];
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
if(!@is_dir($install_dir)){
@@ -1940,30 +1977,31 @@
$vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
// Dont just copy over the virtualhost template but add some custom settings
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_ispconfig.vhost.master', 'tpl/apache_ispconfig.vhost.master');
- $content = str_replace('{vhost_port}', $conf['apache']['vhost_port'], $content);
+ $tpl = new tpl('apache_ispconfig.vhost.master');
+ $tpl->setVar('vhost_port',$conf['apache']['vhost_port']);
// comment out the listen directive if port is 80 or 443
if($conf['apache']['vhost_port'] == 80 or $conf['apache']['vhost_port'] == 443) {
- $content = str_replace('{vhost_port_listen}', '#', $content);
+ $tpl->setVar('vhost_port_listen','#');
} else {
- $content = str_replace('{vhost_port_listen}', '', $content);
+ $tpl->setVar('vhost_port_listen','');
}
if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key')) {
- $content = str_replace('{ssl_comment}', '', $content);
+ $tpl->setVar('ssl_comment','');
} else {
- $content = str_replace('{ssl_comment}', '#', $content);
+ $tpl->setVar('ssl_comment','#');
}
if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key') && is_file($install_dir.'/interface/ssl/ispserver.bundle')) {
- $content = str_replace('{ssl_bundle_comment}', '', $content);
+ $tpl->setVar('ssl_bundle_comment','');
} else {
- $content = str_replace('{ssl_bundle_comment}', '#', $content);
+ $tpl->setVar('ssl_bundle_comment','#');
}
+
+ $tpl->setVar('apache_version',getapacheversion());
- wf($vhost_conf_dir.'/ispconfig.vhost', $content);
+ wf($vhost_conf_dir.'/ispconfig.vhost', $tpl->grab());
- //copy('tpl/apache_ispconfig.vhost.master', $vhost_conf_dir.'/ispconfig.vhost');
//* and create the symlink
if($this->is_update == false) {
if(@is_link($vhost_conf_enabled_dir.'/ispconfig.vhost')) unlink($vhost_conf_enabled_dir.'/ispconfig.vhost');
@@ -2035,14 +2073,14 @@
}
//* Install the update script
- if(is_file('/usr/local/bin/ispconfig_update_from_svn.sh')) unlink('/usr/local/bin/ispconfig_update_from_svn.sh');
- chown($install_dir.'/server/scripts/update_from_svn.sh', 'root');
- chmod($install_dir.'/server/scripts/update_from_svn.sh', 0700);
+ if(is_file('/usr/local/bin/ispconfig_update_from_dev.sh')) unlink('/usr/local/bin/ispconfig_update_from_dev.sh');
+ chown($install_dir.'/server/scripts/update_from_dev.sh', 'root');
+ chmod($install_dir.'/server/scripts/update_from_dev.sh', 0700);
chown($install_dir.'/server/scripts/update_from_tgz.sh', 'root');
chmod($install_dir.'/server/scripts/update_from_tgz.sh', 0700);
chown($install_dir.'/server/scripts/ispconfig_update.sh', 'root');
chmod($install_dir.'/server/scripts/ispconfig_update.sh', 0700);
- if(!is_link('/usr/local/bin/ispconfig_update_from_svn.sh')) symlink($install_dir.'/server/scripts/ispconfig_update.sh', '/usr/local/bin/ispconfig_update_from_svn.sh');
+ if(!is_link('/usr/local/bin/ispconfig_update_from_dev.sh')) symlink($install_dir.'/server/scripts/ispconfig_update.sh', '/usr/local/bin/ispconfig_update_from_dev.sh');
if(!is_link('/usr/local/bin/ispconfig_update.sh')) symlink($install_dir.'/server/scripts/ispconfig_update.sh', '/usr/local/bin/ispconfig_update.sh');
//* Make the logs readable for the ispconfig user
@@ -2143,7 +2181,7 @@
$root_cron_jobs = array(
"* * * * * ".$install_dir."/server/server.sh 2>&1 > /dev/null | while read line; do echo `/bin/date` \"\$line\" >> ".$conf['ispconfig_log_dir']."/cron.log; done",
- "30 00 * * * ".$install_dir."/server/cron_daily.sh 2>&1 > /dev/null | while read line; do echo `/bin/date` \"\$line\" >> ".$conf['ispconfig_log_dir']."/cron.log; done"
+ "* * * * * ".$install_dir."/server/cron.sh 2>&1 > /dev/null | while read line; do echo `/bin/date` \"\$line\" >> ".$conf['ispconfig_log_dir']."/cron.log; done"
);
if ($conf['nginx']['installed'] == true) {
--
Gitblit v1.9.1