From 3c12a49bd4777caf5aace925ebea2cd2f883e00b Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 20 Sep 2011 10:08:18 -0400
Subject: [PATCH] - Enabled custom nginx directives.
---
interface/web/sites/templates/web_domain_advanced.htm | 2 +-
server/conf/nginx_vhost.conf.master | 19 ++++++-------------
server/plugins-available/nginx_plugin.inc.php | 21 +++++++++++++++------
3 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/interface/web/sites/templates/web_domain_advanced.htm b/interface/web/sites/templates/web_domain_advanced.htm
index 7fb4ac3..92a77c0 100644
--- a/interface/web/sites/templates/web_domain_advanced.htm
+++ b/interface/web/sites/templates/web_domain_advanced.htm
@@ -32,7 +32,7 @@
<label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
<textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
</div>
- <div class="ctrlHolder apache">
+ <div class="ctrlHolder nginx">
<label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
<textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
</div>
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index cc489fc..0f43481 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -24,10 +24,8 @@
rewrite ^/(.+)$ <tmpl_var name='rewrite_target'>$1 <tmpl_var name='rewrite_type'>;
}
</tmpl_loop>
-
- location / {
- index index.html index.php;
- }
+
+ index index.html index.htm index.php index.cgi index.pl index.xhtml;
<tmpl_if name='ssi' op='==' value='y'>
@@ -49,11 +47,6 @@
error_log /var/log/ispconfig/httpd/<tmpl_var name='domain'>/error.log;
- # serve static files directly
- location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
- access_log off;
- }
-
## Disable .htaccess and other hidden files
location ~ /\. {
deny all;
@@ -61,7 +54,7 @@
log_not_found off;
}
- location /favicon.ico {
+ location = /favicon.ico {
log_not_found off;
access_log off;
}
@@ -108,8 +101,8 @@
}
</tmpl_if>
- <tmpl_if name='nginx_directives'>
- <tmpl_var name='nginx_directives'>
- </tmpl_if>
+ <tmpl_loop name="nginx_directives">
+ <tmpl_var name='nginx_directive'>
+ </tmpl_loop>
}
\ No newline at end of file
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index d57469c..f47e179 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -639,9 +639,21 @@
$vhost_data['web_document_root_www'] = $web_config['website_basedir'].'/'.$data['new']['domain'].'/web';
$vhost_data['web_basedir'] = $web_config['website_basedir'];
$vhost_data['ssl_domain'] = $data['new']['ssl_domain'];
- //$vhost_data['has_custom_php_ini'] = $has_custom_php_ini;
- //$vhost_data['custom_php_ini_dir'] = escapeshellcmd($custom_php_ini_dir);
$vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1;
+
+ // Custom nginx directives
+ $final_nginx_directives = array();
+ $nginx_directives = $data['new']['nginx_directives'];
+ // Make sure we only have Unix linebreaks
+ $nginx_directives = str_replace("\r\n", "\n", $nginx_directives);
+ $nginx_directives = str_replace("\r", "\n", $nginx_directives);
+ $nginx_directive_lines = explode("\n", $nginx_directives);
+ if(is_array($nginx_directive_lines) && !empty($nginx_directive_lines)){
+ foreach($nginx_directive_lines as $nginx_directive_line){
+ $final_nginx_directives[] = array('nginx_directive' => $nginx_directive_line);
+ }
+ }
+ $tpl->setLoop('nginx_directives', $final_nginx_directives);
// Check if a SSL cert exists
$ssl_dir = $data['new']['document_root'].'/ssl';
@@ -781,11 +793,8 @@
}
if(count($rewrite_rules) > 0) {
- $tpl->setVar('rewrite_enabled',1);
- } else {
- $tpl->setVar('rewrite_enabled',0);
+ $tpl->setLoop('redirects',$rewrite_rules);
}
- $tpl->setLoop('redirects',$rewrite_rules);
//* Create basic http auth for website statistics
$tpl->setVar('stats_auth_passwd_file', $data['new']['document_root']."/.htpasswd_stats");
--
Gitblit v1.9.1