aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/docs/nginx.sample.conf')
-rw-r--r--phpBB/docs/nginx.sample.conf206
1 files changed, 91 insertions, 115 deletions
diff --git a/phpBB/docs/nginx.sample.conf b/phpBB/docs/nginx.sample.conf
index c5a9472a1c..25363ad34d 100644
--- a/phpBB/docs/nginx.sample.conf
+++ b/phpBB/docs/nginx.sample.conf
@@ -1,7 +1,11 @@
# Sample nginx configuration file for phpBB.
-# Global settings have been removed, copy them
-# from your system's nginx.conf.
-# Tested with nginx 0.8.35.
+# Tested with:
+# - nginx 0.8.35
+# - nginx 1.17.7 (mainline)
+#
+# Filename: /etc/nginx/sites-available/example.com.conf
+#
+# Replace example.com with your own domain name.
# If you want to use the X-Accel-Redirect feature,
# add the following to your config.php.
@@ -11,117 +15,89 @@
# See http://wiki.nginx.org/XSendfile for the details
# on X-Accel-Redirect.
-http {
- # Compression - requires gzip and gzip static modules.
- gzip on;
- gzip_static on;
- gzip_vary on;
- gzip_http_version 1.1;
- gzip_min_length 700;
-
- # Compression levels over 6 do not give an appreciable improvement
- # in compression ratio, but take more resources.
- gzip_comp_level 6;
-
- # IE 6 and lower do not support gzip with Vary correctly.
- gzip_disable "msie6";
- # Before nginx 0.7.63:
- #gzip_disable "MSIE [1-6]\.";
-
- # Catch-all server for requests to invalid hosts.
- # Also catches vulnerability scanners probing IP addresses.
- server {
- # default specifies that this block is to be used when
- # no other block matches.
- listen 80 default;
-
- server_name bogus;
- return 444;
- root /var/empty;
- }
-
- # If you have domains with and without www prefix,
- # redirect one to the other.
- server {
- # Default port is 80.
- #listen 80;
-
- server_name myforums.com;
-
- # A trick from http://wiki.nginx.org/Pitfalls#Taxing_Rewrites:
- return 301 http://www.myforums.com$request_uri;
- }
-
- # The actual board domain.
- server {
- #listen 80;
- server_name www.myforums.com;
-
- root /path/to/phpbb;
-
- location / {
- # phpBB uses index.htm
- index index.php index.html index.htm;
- try_files $uri $uri/ @rewriteapp;
- }
-
- location @rewriteapp {
- rewrite ^(.*)$ /app.php/$1 last;
- }
-
- # Deny access to internal phpbb files.
- location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor) {
- deny all;
- # deny was ignored before 0.8.40 for connections over IPv6.
- # Use internal directive to prohibit access on older versions.
- internal;
- }
-
- # Pass the php scripts to fastcgi server specified in upstream declaration.
- location ~ \.php(/|$) {
- # Unmodified fastcgi_params from nginx distribution.
- include fastcgi_params;
- # Necessary for php.
- fastcgi_split_path_info ^(.+\.php)(/.*)$;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
- fastcgi_param DOCUMENT_ROOT $realpath_root;
- try_files $uri $uri/ /app.php$is_args$args;
- fastcgi_pass php;
- }
-
- # Correctly pass scripts for installer
- location /install/ {
- # phpBB uses index.htm
- try_files $uri $uri/ @rewrite_installapp =404;
-
- # Pass the php scripts to fastcgi server specified in upstream declaration.
- location ~ \.php(/|$) {
- # Unmodified fastcgi_params from nginx distribution.
- include fastcgi_params;
- # Necessary for php.
- fastcgi_split_path_info ^(.+\.php)(/.*)$;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
- fastcgi_param DOCUMENT_ROOT $realpath_root;
- try_files $uri $uri/ /install/app.php$is_args$args =404;
- fastcgi_pass php;
- }
- }
-
- location @rewrite_installapp {
- rewrite ^(.*)$ /install/app.php/$1 last;
- }
-
- # Deny access to version control system directories.
- location ~ /\.svn|/\.git {
- deny all;
- internal;
- }
- }
+# Sample FastCGI server configuration.
+# Filename: /etc/nginx/conf.d/php.conf
+#
+# upstream php {
+# server unix:/run/php-fpm/php-fpm.sock;
+# }
+
+# Remove www domain prefix.
+server {
+ listen 80;
+ # IPv6
+ listen [::]:80;
+
+ # Remove www
+ server_name www.example.com;
+ return 301 $scheme://example.com$request_uri;
+}
- # If running php as fastcgi, specify php upstream.
- upstream php {
- server unix:/tmp/php.sock;
- }
+# Board configuration.
+server {
+ listen 80;
+ # IPv6
+ listen [::]:80;
+ server_name example.com;
+ root /path/to/phpbb;
+
+ # phpBB uses index.htm
+ index index.php index.html index.htm;
+
+ # Loggers
+ error_log /var/log/nginx/example.com.error.log warn;
+ access_log /var/log/nginx/example.com.access.log;
+
+ location / {
+ try_files $uri $uri/ @rewriteapp;
+
+ # Pass the php scripts to FastCGI server specified in upstream declaration.
+ location ~ \.php(/|$) {
+ include fastcgi.conf;
+ fastcgi_split_path_info ^(.+\.php)(/.*)$;
+ fastcgi_param PATH_INFO $fastcgi_path_info;
+ fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+ fastcgi_param DOCUMENT_ROOT $realpath_root;
+ try_files $uri $uri/ /app.php$is_args$args;
+ fastcgi_pass php;
+ }
+
+ # Deny access to internal phpbb files.
+ location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor) {
+ deny all;
+ # deny was ignored before 0.8.40 for connections over IPv6.
+ # Use internal directive to prohibit access on older versions.
+ internal;
+ }
+ }
+
+ location @rewriteapp {
+ rewrite ^(.*)$ /app.php/$1 last;
+ }
+
+ # Correctly pass scripts for installer
+ location /install/ {
+ try_files $uri $uri/ @rewrite_installapp =404;
+
+ # Pass the php scripts to fastcgi server specified in upstream declaration.
+ location ~ \.php(/|$) {
+ include fastcgi.conf;
+ fastcgi_split_path_info ^(.+\.php)(/.*)$;
+ fastcgi_param PATH_INFO $fastcgi_path_info;
+ fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+ fastcgi_param DOCUMENT_ROOT $realpath_root;
+ try_files $uri $uri/ /install/app.php$is_args$args =404;
+ fastcgi_pass php;
+ }
+ }
+
+ location @rewrite_installapp {
+ rewrite ^(.*)$ /install/app.php/$1 last;
+ }
+
+ # Deny access to version control system directories.
+ location ~ /\.svn|/\.git {
+ deny all;
+ internal;
+ }
}