diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 9e3460d03e3fc56d11963a168e4ac340537afdfd..e1e8ab4fd02a1bb77e259d851d49ea22b1a17253 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -451,7 +451,7 @@ class installer_base { // Executing the postconf commands foreach($postconf_commands as $cmd) { $command = "postconf -e '$cmd'"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } // Append the configuration for amavisd to the master.cf file @@ -484,13 +484,13 @@ class installer_base { global $conf; $command = 'useradd -d '.$conf["dist"]["getmail"]["config_dir"].' getmail'; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); $command = 'chown -R getmail '.$conf["dist"]["getmail"]["config_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); $command = 'chmod -R 700 '.$conf["dist"]["getmail"]["config_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } @@ -535,96 +535,102 @@ class installer_base { } - function configure_apache() { - global $conf; - - // Create the logging directory for the vhost logfiles - exec("mkdir -p /var/log/ispconfig/httpd"); + public function configure_apache() + { + //* Create the logging directory for the vhost logfiles + exec('mkdir -p /var/log/ispconfig/httpd'); } - function install_ispconfig() { - global $conf; - - // Create the ISPConfig installation directory - $command = "mkdir ".$conf["ispconfig_install_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + public function install_ispconfig() + { + $install_dir = $this->conf['ispconfig_install_dir']; + + //* Create the ISPConfig installation directory + $command = "mkdir $install_dir"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // Create a ISPConfig user and group - $command = "groupadd ispconfig"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* Create a ISPConfig user and group + $command = 'groupadd ispconfig'; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - $command = "useradd -g ispconfig -d ".$conf["ispconfig_install_dir"]." ispconfig"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + $command = "useradd -g ispconfig -d $install_dir ispconfig"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // copy the ISPConfig interface part - $command = "cp -rf ../interface ".$conf["ispconfig_install_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* copy the ISPConfig interface part + $command = "cp -rf ../interface $install_dir"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // copy the ISPConfig server part - $command = "cp -rf ../server ".$conf["ispconfig_install_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* copy the ISPConfig server part + $command = "cp -rf ../server $install_dir"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // Create a symlink, so ISPConfig is accessible via web - $command = "ln -s ".$conf["ispconfig_install_dir"]."/interface/web/ /var/www/ispconfig"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* Create a symlink, so ISPConfig is accessible via web + $command = "ln -s $install_dir/interface/web/ /var/www/ispconfig"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // Create the config file for ISPConfig interface + //* Create the config file for ISPConfig interface $configfile = 'config.inc.php'; - if(is_file($conf["ispconfig_install_dir"].'/interface/lib/'.$configfile)) copy($conf["ispconfig_install_dir"].'/interface/lib/'.$configfile,$conf["ispconfig_install_dir"].'/interface/lib/'.$configfile.'~'); - $content = rf("tpl/".$configfile.".master"); - $content = str_replace('{mysql_server_ispconfig_user}',$conf["mysql"]["ispconfig_user"],$content); - $content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql"]["ispconfig_password"],$content); - $content = str_replace('{mysql_server_database}',$conf["mysql"]["database"],$content); - $content = str_replace('{mysql_server_host}',$conf["mysql"]["host"],$content); - wf($conf["ispconfig_install_dir"].'/interface/lib/'.$configfile,$content); + if(is_file($install_dir.'/interface/lib/'.$configfile)){ + copy("$install_dir/interface/lib/$configfile", "$install_dir/interface/lib/$configfile~"); + } + $content = rf("tpl/$configfile.master"); + $content = str_replace('{mysql_server_ispconfig_user}', $this->conf['mysql']['ispconfig_user'], $content); + $content = str_replace('{mysql_server_ispconfig_password}',$this->conf['mysql']['ispconfig_password'], $content); + $content = str_replace('{mysql_server_database}', $this->conf['mysql']['database'], $content); + $content = str_replace('{mysql_server_host}', $this->conf['mysql']['host'], $content); + wf("$install_dir/interface/lib/$configfile", $content); - // Create the config file for ISPConfig server + //* Create the config file for ISPConfig server $configfile = 'config.inc.php'; - if(is_file($conf["ispconfig_install_dir"].'/server/lib/'.$configfile)) copy($conf["ispconfig_install_dir"].'/server/lib/'.$configfile,$conf["ispconfig_install_dir"].'/interface/lib/'.$configfile.'~'); - $content = rf("tpl/".$configfile.".master"); - $content = str_replace('{mysql_server_ispconfig_user}',$conf["mysql"]["ispconfig_user"],$content); - $content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql"]["ispconfig_password"],$content); - $content = str_replace('{mysql_server_database}',$conf["mysql"]["database"],$content); - $content = str_replace('{mysql_server_host}',$conf["mysql"]["host"],$content); - $content = str_replace('{server_id}',$conf["server_id"],$content); - wf($conf["ispconfig_install_dir"].'/server/lib/'.$configfile,$content); + if(is_file($install_dir.'/server/lib/'.$configfile)){ + copy("$install_dir/server/lib/$configfile", "$install_dir/interface/lib/$configfile~"); + } + $content = rf("tpl/$configfile.master"); + $content = str_replace('{mysql_server_ispconfig_user}', $this->conf['mysql']['ispconfig_user'], $content); + $content = str_replace('{mysql_server_ispconfig_password}', $this->conf['mysql']['ispconfig_password'], $content); + $content = str_replace('{mysql_server_database}', $this->conf['mysql']['database'], $content); + $content = str_replace('{mysql_server_host}', $this->conf['mysql']['host'], $content); + $content = str_replace('{server_id}', $this->conf['server_id'], $content); + wf("$install_dir/server/lib/$configfile", $content); - // Chmod the files - $command = "chmod -R 750 ".$conf["ispconfig_install_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* Chmod the files + $command = "chmod -R 750 $install_dir"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // chown the files to the ispconfig user and group - $command = "chown -R ispconfig:ispconfig ".$conf["ispconfig_install_dir"]; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* chown the files to the ispconfig user and group + $command = "chown -R ispconfig:ispconfig $install_dir"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // make sure that the server config file (not the interface one) is only readable by the root user - exec('chmod 600 '.$conf["ispconfig_install_dir"].'/server/lib/'.$configfile); - exec('chown root:root '.$conf["ispconfig_install_dir"].'/server/lib/'.$configfile); + //* 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"); // TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing // and must be fixed as this will allow the apache user to read the ispconfig files. // Later this must run as own apache server or via suexec! + $command = 'adduser www-data ispconfig'; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - $command = "adduser www-data ispconfig"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); - - // Make the shell scripts executable - $command = "chmod +x ".$conf["ispconfig_install_dir"]."/server/scripts/*.sh"; - caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command); + //* Make the shell scripts executable + $command = "chmod +x $install_dir/server/scripts/*.sh"; + caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - // Copy the ISPConfig vhost for the controlpanel - copy('tpl/apache_ispconfig.vhost.master',$conf["dist"]["apache"]["vhost_conf_dir"].'/ispconfig.vhost'); - // and create the symlink - if(!is_link($conf["dist"]["apache"]["vhost_conf_enabled_dir"].'/ispconfig.vhost')) { - exec('ln -s '.$conf["dist"]["apache"]["vhost_conf_dir"].'/ispconfig.vhost '.$conf["dist"]["apache"]["vhost_conf_enabled_dir"].'/ispconfig.vhost'); + //* Copy the ISPConfig vhost for the controlpanel + //TODO These are missing! should they be "vhost_dist_*_dir" ? + $vhost_conf_dir = $this->conf['dist']['apache']['vhost_conf_dir']; + $vhost_conf_enabled_dir = $this->conf['dist']['apache']['vhost_conf_enabled_dir']; + copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost"); + //* and create the symlink + if(!is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) { + exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/ispconfig.vhost"); } - } - function install_crontab() { + public function install_crontab() + { global $conf; // Root Crontab