From 07cdaafc715bf55126959f93bd79b51b3cadddce Mon Sep 17 00:00:00 2001 From: fantu <fantu@ispconfig3> Date: Sun, 30 Nov 2008 16:38:29 -0500 Subject: [PATCH] --- server/plugins-available/apache2_plugin.inc.php | 43 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 34 insertions(+), 9 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index a5f5f42..632fda5 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -107,7 +107,7 @@ O = ".$data['new']['ssl_organisation']." OU = ".$data['new']['ssl_organisation_unit']." CN = $domain - emailAddress = webmatser@".$data['new']['domain']." + emailAddress = webmaster@".$data['new']['domain']." [ req_attributes ] challengePassword = A challenge password"; @@ -191,6 +191,7 @@ $tmp = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$parent_domain_id." AND active = 'y'"); $data["new"] = $tmp; $data["old"] = $tmp; + $this->action = 'update'; } @@ -211,12 +212,27 @@ // Check if the directories are there and create them if nescessary. if(!is_dir($data["new"]["document_root"]."/web")) exec("mkdir -p ".$data["new"]["document_root"]."/web"); - if(!is_dir($data["new"]["document_root"]."/web/error")) exec("mkdir -p ".$data["new"]["document_root"]."/web/error"); + if(!is_dir($data["new"]["document_root"]."/web/error") and $data["new"]["errordocs"]) exec("mkdir -p ".$data["new"]["document_root"]."/web/error"); //if(!is_dir($data["new"]["document_root"]."/log")) exec("mkdir -p ".$data["new"]["document_root"]."/log"); if(!is_dir($data["new"]["document_root"]."/ssl")) exec("mkdir -p ".$data["new"]["document_root"]."/ssl"); if(!is_dir($data["new"]["document_root"]."/cgi-bin")) exec("mkdir -p ".$data["new"]["document_root"]."/cgi-bin"); + if(!is_dir($data["new"]["document_root"]."/tmp")) exec("mkdir -p ".$data["new"]["document_root"]."/tmp"); // Remove the symlink for the site, if site is renamed + if($this->action == 'update' && $data["old"]["domain"] != '' && $data["new"]["domain"] != $data["old"]["domain"]) { + if(is_dir('/var/log/ispconfig/httpd/'.$data["old"]["domain"])) exec('rm -rf /var/log/ispconfig/httpd/'.$data["old"]["domain"]); + if(is_link($data["old"]["document_root"]."/log")) unlink($data["old"]["document_root"]."/log"); + } + + // Create the symlink for the logfiles + if(!is_dir('/var/log/ispconfig/httpd/'.$data["new"]["domain"])) exec('mkdir -p /var/log/ispconfig/httpd/'.$data["new"]["domain"]); + if(!is_link($data["new"]["document_root"]."/log")) { + exec("ln -s /var/log/ispconfig/httpd/".$data["new"]["domain"]." ".$data["new"]["document_root"]."/log"); + $app->log("Creating Symlink: ln -s /var/log/ispconfig/httpd/".$data["new"]["domain"]." ".$data["new"]["document_root"]."/log",LOGLEVEL_DEBUG); + } + /* + // Create the symlink for the logfiles + // This does not work as vlogger can not log trogh symlinks. if($this->action == 'update' && $data["old"]["domain"] != '' && $data["new"]["domain"] != $data["old"]["domain"]) { if(is_dir($data["old"]["document_root"]."/log")) exec('rm -rf '.$data["old"]["document_root"]."/log"); if(is_link('/var/log/ispconfig/httpd/'.$data["old"]["domain"])) unlink('/var/log/ispconfig/httpd/'.$data["old"]["domain"]); @@ -228,6 +244,7 @@ exec("ln -s ".$data["new"]["document_root"]."/log /var/log/ispconfig/httpd/".$data["new"]["domain"]); $app->log("Creating Symlink: ln -s ".$data["new"]["document_root"]."/log /var/log/ispconfig/httpd/".$data["new"]["domain"],LOGLEVEL_DEBUG); } + */ // Get the client ID $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"])); @@ -269,12 +286,14 @@ } - if($this->action == 'insert') { + if($this->action == 'insert' && $data["new"]["type"] == 'vhost') { // Copy the error pages - $error_page_path = escapeshellcmd($data["new"]["document_root"])."/web/error/"; - exec("cp /usr/local/ispconfig/server/conf/error/".substr(escapeshellcmd($conf["language"]),0,2)."/* ".$error_page_path); - exec("chmod -R +r ".$error_page_path); - + if($data["new"]["errordocs"]){ + $error_page_path = escapeshellcmd($data["new"]["document_root"])."/web/error/"; + exec("cp /usr/local/ispconfig/server/conf/error/".substr(escapeshellcmd($conf["language"]),0,2)."/* ".$error_page_path); + exec("chmod -R +r ".$error_page_path); + } + // copy the standard index page exec("cp /usr/local/ispconfig/server/conf/index/standard_index.html_".substr(escapeshellcmd($conf["language"]),0,2)." ".escapeshellcmd($data["new"]["document_root"])."/web/index.html"); exec("chmod +r ".escapeshellcmd($data["new"]["document_root"])."/web/index.html"); @@ -321,6 +340,7 @@ $vhost_data = $data["new"]; $vhost_data["web_document_root"] = $data["new"]["document_root"]."/web"; + $vhost_data["web_document_root_www"] = "/var/www/".$data["new"]["domain"]."/web"; // Check if a SSL cert exists $ssl_dir = $data["new"]["document_root"]."/ssl"; @@ -352,10 +372,14 @@ // get alias domains (co-domains and subdomains) $aliases = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$data["new"]["domain_id"]." AND active = 'y'"); - $server_alias = ''; + if($data["new"]["is_subdomainwww"]){ + $server_alias .= 'www.'.$data["new"]["domain"].' '; + } else { + $server_alias = ''; + } if(is_array($aliases)) { foreach($aliases as $alias) { - $server_alias .= $alias["domain"].' '; + $server_alias .= $alias["domain"].' '; $app->log("Add server alias: $alias[domain]",LOGLEVEL_DEBUG); // Rewriting if($alias["redirect_type"] != '') { @@ -417,6 +441,7 @@ $tpl->setVar('fastcgi_alias',$fastcgi_config["fastcgi_alias"]); $tpl->setVar('fastcgi_starter_path',$fastcgi_starter_path); + $tpl->setVar('fastcgi_starter_script',$fastcgi_config["fastcgi_starter_script"]); } -- Gitblit v1.9.1