| | |
| | | |
| | | $config_dir = $conf['dovecot']['config_dir']; |
| | | |
| | | //* Use /etc/dovecot as config dir if exists |
| | | if(is_dir('/etc/dovecot')) $config_dir = '/etc/dovecot'; |
| | | |
| | | //* Configure master.cf and add a line for deliver |
| | | if(is_file($config_dir.'/master.cf')){ |
| | | copy($config_dir.'/master.cf', $config_dir.'/master.cf~2'); |
| | |
| | | $content = rf($conf["postfix"]["config_dir"].'/master.cf'); |
| | | // Only add the content if we had not addded it before |
| | | if(!stristr($content,"dovecot/deliver")) { |
| | | $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'; |
| | | $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DROhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'; |
| | | af($conf["postfix"]["config_dir"].'/master.cf',$deliver_content); |
| | | } |
| | | unset($content); |
| | |
| | | $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content); |
| | | $content = str_replace('{language}', $conf['language'], $content); |
| | | $content = str_replace('{timezone}', $conf['timezone'], $content); |
| | | $content = str_replace('{theme}', $conf['theme'], $content); |
| | | |
| | | wf("$install_dir/interface/lib/$configfile", $content); |
| | | |
| | |
| | | $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content); |
| | | $content = str_replace('{language}', $conf['language'], $content); |
| | | $content = str_replace('{timezone}', $conf['timezone'], $content); |
| | | $content = str_replace('{theme}', $conf['theme'], $content); |
| | | |
| | | wf("$install_dir/server/lib/$configfile", $content); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | //* Make the APS directories group writable |
| | | exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages"); |
| | | exec("chmod -R 770 $install_dir/server/aps_packages"); |
| | | |
| | | //* make sure that the server config file (not the interface one) is only readable by the root user |
| | | exec("chmod 600 $install_dir/server/lib/$configfile"); |
| | | exec("chown root:root $install_dir/server/lib/$configfile"); |
| | | chmod($install_dir.'/server/lib/config.inc.php', 0600); |
| | | chown($install_dir.'/server/lib/config.inc.php', 'root'); |
| | | chgrp($install_dir.'/server/lib/config.inc.php', 'root'); |
| | | |
| | | //* Make sure thet the interface config file is readable by user ispconfig only |
| | | chmod($install_dir.'/interface/lib/config.inc.php', 0600); |
| | | chown($install_dir.'/interface/lib/config.inc.php', 'ispconfig'); |
| | | chgrp($install_dir.'/interface/lib/config.inc.php', 'ispconfig'); |
| | | |
| | | if(@is_file("$install_dir/server/lib/mysql_clientdb.conf")) { |
| | | exec("chmod 600 $install_dir/server/lib/mysql_clientdb.conf"); |
| | | exec("chown root:root $install_dir/server/lib/mysql_clientdb.conf"); |
| | |
| | | $command = "chmod +x $install_dir/server/scripts/*.sh"; |
| | | caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); |
| | | |
| | | if($conf['apache']['installed'] == true){ |
| | | if($conf['apache']['installed'] == true && $this->install_ispconfig_interface == true){ |
| | | //* Copy the ISPConfig vhost for the controlpanel |
| | | // TODO: These are missing! should they be "vhost_dist_*_dir" ? |
| | | $vhost_conf_dir = $conf['apache']['vhost_conf_dir']; |
| | |
| | | |
| | | //copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost"); |
| | | //* and create the symlink |
| | | if($this->install_ispconfig_interface == true && $this->is_update == false) { |
| | | if($this->is_update == false) { |
| | | if(@is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) unlink("$vhost_conf_enabled_dir/ispconfig.vhost"); |
| | | if(!@is_link("$vhost_conf_enabled_dir/000-ispconfig.vhost")) { |
| | | exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/000-ispconfig.vhost"); |
| | |
| | | |
| | | replaceLine('/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter','PHPRC=','PHPRC=/etc/',0,0); |
| | | } |
| | | |
| | | //copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost"); |
| | | //* and create the symlink |
| | | if($this->install_ispconfig_interface == true && $this->is_update == false) { |
| | | if(@is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) unlink("$vhost_conf_enabled_dir/ispconfig.vhost"); |
| | | if(!@is_link("$vhost_conf_enabled_dir/000-ispconfig.vhost")) { |
| | | exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/000-ispconfig.vhost"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if($conf['nginx']['installed'] == true){ |
| | | if($conf['nginx']['installed'] == true && $this->install_ispconfig_interface == true){ |
| | | //* Copy the ISPConfig vhost for the controlpanel |
| | | $vhost_conf_dir = $conf['nginx']['vhost_conf_dir']; |
| | | $vhost_conf_enabled_dir = $conf['nginx']['vhost_conf_enabled_dir']; |
| | |
| | | |
| | | //copy('tpl/nginx_ispconfig.vhost.master', $vhost_conf_dir.'/ispconfig.vhost'); |
| | | //* and create the symlink |
| | | if($this->install_ispconfig_interface == true && $this->is_update == false) { |
| | | if($this->is_update == false) { |
| | | if(@is_link($vhost_conf_enabled_dir.'/ispconfig.vhost')) unlink($vhost_conf_enabled_dir.'/ispconfig.vhost'); |
| | | if(!@is_link($vhost_conf_enabled_dir.'/000-ispconfig.vhost')) { |
| | | symlink($vhost_conf_dir.'/ispconfig.vhost',$vhost_conf_enabled_dir.'/000-ispconfig.vhost'); |
| | |
| | | replaceLine('/etc/sudoers','Defaults requiretty','#Defaults requiretty',0,0); |
| | | |
| | | if(is_dir($install_dir.'/interface/invoices')) { |
| | | chmod($install_dir.'/interface/invoices', 0770); |
| | | chown($install_dir.'/interface/invoices', 'ispconfig'); |
| | | chgrp($install_dir.'/interface/invoices', 'ispconfig'); |
| | | exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices')); |
| | | exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices')); |
| | | } |
| | | |
| | | //* Create the ispconfig auth log file and set uid/gid |
| | | if(!is_file($conf['ispconfig_log_dir'].'/auth.log')) { |
| | | touch($conf['ispconfig_log_dir'].'/auth.log'); |
| | | } |
| | | exec('chown ispconfig:ispconfig '. $conf['ispconfig_log_dir'].'/auth.log'); |
| | | exec('chmod 660 '. $conf['ispconfig_log_dir'].'/auth.log'); |
| | | |
| | | //* Remove Domain module as its functions are available in the client module now |
| | | if(@is_dir('/usr/local/ispconfig/interface/web/domain')) exec('rm -rf /usr/local/ispconfig/interface/web/domain'); |
| | | |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | $content = rf("tpl/mysql_clientdb.conf.master"); |
| | | $content = str_replace('{hostname}',$conf['mysql']['host'],$content); |
| | | $content = str_replace('{username}',$conf['mysql']['admin_user'],$content); |
| | | $content = str_replace('{password}',$conf['mysql']['admin_password'], $content); |
| | | wf("$install_dir/server/lib/mysql_clientdb.conf",$content); |