|
@ -119,6 +119,7 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
&'a self,
|
|
|
&'a self,
|
|
|
host_name: &'static str,
|
|
|
host_name: &'static str,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
|
|
|
additional_config: &'a str,
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
let user_name = self.policy.user_name_for_host(host_name);
|
|
|
let user_name = self.policy.user_name_for_host(host_name);
|
|
|
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
|
|
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
|
@ -126,7 +127,13 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
self.get_php_fpm_pool(&user_name),
|
|
|
self.get_php_fpm_pool(&user_name),
|
|
|
self.get_nginx_acme_server(
|
|
|
self.get_nginx_acme_server(
|
|
|
host_name,
|
|
|
host_name,
|
|
|
NginxServer::new_php(host_name, socket.into(), root_dir, self.command_runner),
|
|
|
|
|
|
|
|
|
NginxServer::new_php(
|
|
|
|
|
|
host_name,
|
|
|
|
|
|
socket.into(),
|
|
|
|
|
|
root_dir,
|
|
|
|
|
|
self.command_runner,
|
|
|
|
|
|
additional_config,
|
|
|
|
|
|
),
|
|
|
),
|
|
|
),
|
|
|
]))
|
|
|
]))
|
|
|
}
|
|
|
}
|
|
@ -136,29 +143,15 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
host_name: &'static str,
|
|
|
host_name: &'static str,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
let user_name = self.policy.user_name_for_host(host_name);
|
|
|
|
|
|
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
|
|
|
|
|
Box::new(ListAction::new(vec![
|
|
|
|
|
|
self.get_php_fpm_pool(&user_name),
|
|
|
|
|
|
self.get_nginx_acme_server(
|
|
|
|
|
|
host_name,
|
|
|
|
|
|
NginxServer::new(
|
|
|
|
|
|
host_name,
|
|
|
|
|
|
server_config(
|
|
|
|
|
|
|
|
|
self.serve_php(
|
|
|
host_name,
|
|
|
host_name,
|
|
|
&format!(
|
|
|
|
|
|
"{}
|
|
|
|
|
|
|
|
|
root_dir,
|
|
|
|
|
|
"
|
|
|
location / {{
|
|
|
location / {{
|
|
|
try_files $uri $uri/ /index.php?$args;
|
|
|
try_files $uri $uri/ /index.php?$args;
|
|
|
}}
|
|
|
}}
|
|
|
",
|
|
|
",
|
|
|
php_server_config_snippet(socket.into(), root_dir)
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
self.command_runner,
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
]))
|
|
|
|
|
|
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
pub fn serve_dokuwiki<'a>(
|
|
|
pub fn serve_dokuwiki<'a>(
|
|
@ -205,18 +198,10 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
host_name: &'static str,
|
|
|
host_name: &'static str,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
root_dir: Cow<'a, str>,
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
) -> Box<dyn Action + 'a> {
|
|
|
let user_name = self.policy.user_name_for_host(host_name);
|
|
|
|
|
|
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
|
|
|
|
|
Box::new(ListAction::new(vec![
|
|
|
|
|
|
self.get_php_fpm_pool(&user_name),
|
|
|
|
|
|
self.get_nginx_acme_server(
|
|
|
|
|
|
host_name,
|
|
|
|
|
|
NginxServer::new(
|
|
|
|
|
|
|
|
|
self.serve_php(
|
|
|
host_name,
|
|
|
host_name,
|
|
|
server_config(
|
|
|
|
|
|
host_name,
|
|
|
|
|
|
&format!(
|
|
|
|
|
|
"{}
|
|
|
|
|
|
|
|
|
root_dir,
|
|
|
|
|
|
"
|
|
|
client_max_body_size 500M;
|
|
|
client_max_body_size 500M;
|
|
|
|
|
|
|
|
|
# Disable gzip to avoid the removal of the ETag header
|
|
|
# Disable gzip to avoid the removal of the ETag header
|
|
@ -229,17 +214,17 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
error_page 403 /core/templates/403.php;
|
|
|
error_page 403 /core/templates/403.php;
|
|
|
error_page 404 /core/templates/404.php;
|
|
|
error_page 404 /core/templates/404.php;
|
|
|
|
|
|
|
|
|
location = /robots.txt {{
|
|
|
|
|
|
|
|
|
location = /robots.txt {
|
|
|
allow all;
|
|
|
allow all;
|
|
|
log_not_found off;
|
|
|
log_not_found off;
|
|
|
access_log off;
|
|
|
access_log off;
|
|
|
}}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
location ~ ^/(?:\\.htaccess|data|config|db_structure\\.xml|README) {{
|
|
|
|
|
|
|
|
|
location ~ ^/(?:\\.htaccess|data|config|db_structure\\.xml|README) {
|
|
|
deny all;
|
|
|
deny all;
|
|
|
}}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
location / {{
|
|
|
|
|
|
|
|
|
location / {
|
|
|
# The following 2 rules are only needed with webfinger
|
|
|
# The following 2 rules are only needed with webfinger
|
|
|
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
|
|
|
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
|
|
|
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
|
|
|
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
|
|
@ -250,28 +235,22 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin |
|
|
rewrite ^(/core/doc/[^\\/]+/)$ $1/index.html;
|
|
|
rewrite ^(/core/doc/[^\\/]+/)$ $1/index.html;
|
|
|
|
|
|
|
|
|
try_files $uri $uri/ /index.php;
|
|
|
try_files $uri $uri/ /index.php;
|
|
|
}}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
# Adding the cache control header for js and css files
|
|
|
# Adding the cache control header for js and css files
|
|
|
# Make sure it is BELOW the location ~ \\.php(?:$|/) {{ block
|
|
|
|
|
|
location ~* \\.(?:css|js)$ {{
|
|
|
|
|
|
|
|
|
# Make sure it is BELOW the location ~ \\.php(?:$|/) { block
|
|
|
|
|
|
location ~* \\.(?:css|js)$ {
|
|
|
add_header Cache-Control \"public, max-age=7200\";
|
|
|
add_header Cache-Control \"public, max-age=7200\";
|
|
|
# Optional: Don't log access to assets
|
|
|
# Optional: Don't log access to assets
|
|
|
access_log off;
|
|
|
access_log off;
|
|
|
}}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
# Optional: Don't log access to other assets
|
|
|
# Optional: Don't log access to other assets
|
|
|
location ~* \\.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {{
|
|
|
|
|
|
|
|
|
location ~* \\.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
|
|
|
access_log off;
|
|
|
access_log off;
|
|
|
}}
|
|
|
|
|
|
|
|
|
}
|
|
|
",
|
|
|
",
|
|
|
php_server_config_snippet(socket.into(), root_dir)
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
self.command_runner,
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
]))
|
|
|
|
|
|
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
pub fn serve_redir<'a>(
|
|
|
pub fn serve_redir<'a>(
|
|
|