From 8a072e707ee4e5bbf0ac3b77eb426428f2d6b308 Mon Sep 17 00:00:00 2001
From: wyrie <wyrie@ispconfig3>
Date: Wed, 20 Jan 2010 08:24:27 -0500
Subject: [PATCH] Fixed: FS#1034 - Gentoo portage sync too frequent
---
server/plugins-available/apache2_plugin.inc.php | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index d782b57..6e6e0fd 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -83,7 +83,7 @@
if(!is_dir($data["new"]["document_root"]."/ssl")) exec("mkdir -p ".$data["new"]["document_root"]."/ssl");
$ssl_dir = $data["new"]["document_root"]."/ssl";
- $domain = $data["new"]["domain"];
+ $domain = $data["new"]["ssl_domain"];
$key_file = $ssl_dir.'/'.$domain.".key.org";
$key_file2 = $ssl_dir.'/'.$domain.".key";
$csr_file = $ssl_dir.'/'.$domain.".csr";
@@ -106,7 +106,7 @@
$ssl_cnf = " RANDFILE = $rand_file
[ req ]
- default_bits = 1024
+ default_bits = 2048
default_keyfile = keyfile.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
@@ -137,15 +137,15 @@
$crt_file = escapeshellcmd($crt_file);
if(is_file($ssl_cnf_file)){
- exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 1024 && openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file && openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file && openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
+ exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 2048 && openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file && openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file && openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
$app->log("Creating SSL Cert for: $domain",LOGLEVEL_DEBUG);
}
exec("chmod 400 $key_file2");
@unlink($config_file);
@unlink($rand_file);
- $ssl_request = file_get_contents($csr_file);
- $ssl_cert = file_get_contents($crt_file);
+ $ssl_request = $app->db->quote(file_get_contents($csr_file));
+ $ssl_cert = $app->db->quote(file_get_contents($crt_file));
/* Update the DB of the (local) Server */
$app->db->query("UPDATE web_domain SET ssl_request = '$ssl_request', ssl_cert = '$ssl_cert' WHERE domain = '".$data["new"]["domain"]."'");
$app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data["new"]["domain"]."'");
@@ -538,6 +538,10 @@
$this->_exec("chmod 777 ".escapeshellcmd($data["new"]["document_root"]."/tmp"));
}
+ // Change the owner of the error log to the owner of the website
+ if(!@is_file($data["new"]["document_root"]."/log/error.log")) exec('touch '.escapeshellcmd($data["new"]["document_root"])."/log/error.log");
+ $this->_exec("chown $username:$groupname ".escapeshellcmd($data["new"]["document_root"])."/log/error.log");
+
// Create the vhost config file
$app->load('tpl');
@@ -550,6 +554,7 @@
$vhost_data["web_document_root_www"] = $web_config["website_basedir"]."/".$data["new"]["domain"]."/web";
$vhost_data["web_basedir"] = $web_config["website_basedir"];
$vhost_data["security_level"] = $web_config["security_level"];
+ $vhost_data["allow_override"] = ($data["new"]["allow_override"] == '')?'All':$data["new"]["allow_override"];
// Check if a SSL cert exists
$ssl_dir = $data["new"]["document_root"]."/ssl";
@@ -575,6 +580,10 @@
$rewrite_rules = array();
if($data["new"]["redirect_type"] != '') {
if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
+ if($data["new"]["redirect_type"] == 'no' && substr($data["new"]["redirect_path"],0,4) != 'http') {
+ $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".realpath($data["new"]["redirect_path"]).'/';
+ }
+
$rewrite_rules[] = array( 'rewrite_domain' => $data["new"]["domain"],
'rewrite_type' => ($data["new"]["redirect_type"] == 'no')?'':'['.$data["new"]["redirect_type"].']',
'rewrite_target' => $data["new"]["redirect_path"]);
@@ -622,6 +631,9 @@
// Rewriting
if($alias["redirect_type"] != '') {
if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
+ if($data["new"]["redirect_type"] == 'no' && substr($data["new"]["redirect_path"],0,4) != 'http') {
+ $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".realpath($data["new"]["redirect_path"]).'/';
+ }
$rewrite_rules[] = array( 'rewrite_domain' => $alias["domain"],
'rewrite_type' => ($alias["redirect_type"] == 'no')?'':'['.$alias["redirect_type"].']',
'rewrite_target' => $alias["redirect_path"]);
@@ -799,9 +811,9 @@
//* Create .htaccess and .htpasswd file for website statistics
if(!is_file($data["new"]["document_root"].'/web/stats/.htaccess') or $data["old"]["document_root"] != $data["new"]["document_root"]) {
if(!is_dir($data["new"]["document_root"].'/web/stats')) mkdir($data["new"]["document_root"].'/web/stats');
- $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data["new"]["document_root"]."/.htpasswd_stats\n<limit GET PUT POST>\nrequire valid-user\n</limit>";
+ $ht_file = "AuthType Basic\nAuthName \"Members Only\"\nAuthUserFile ".$data["new"]["document_root"]."/.htpasswd_stats\nrequire valid-user";
file_put_contents($data["new"]["document_root"].'/web/stats/.htaccess',$ht_file);
- chmod($data["new"]["document_root"].'/web/stats/.htaccess',0664);
+ chmod($data["new"]["document_root"].'/web/stats/.htaccess',0755);
unset($ht_file);
}
@@ -809,7 +821,7 @@
if(trim($data["new"]["stats_password"]) != '') {
$htp_file = 'admin:'.trim($data["new"]["stats_password"]);
file_put_contents($data["new"]["document_root"].'/.htpasswd_stats',$htp_file);
- chmod($data["new"]["document_root"].'/.htpasswd_stats',0664);
+ chmod($data["new"]["document_root"].'/.htpasswd_stats',0755);
unset($htp_file);
}
}
--
Gitblit v1.9.1