X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=doc%2FServer-configuration.md;h=81cc1a725cf26c5fbf3fa4999e9d0b1ae7b40ffa;hb=807cade64c571929dc19afe3d44787c5abe84f57;hp=fd98a6084d8f8049d9268a04d2284dabdfffe4f2;hpb=5409ade28c5f0acf99dbadd4d95e6f8efda5d395;p=github%2Fshaarli%2FShaarli.git diff --git a/doc/Server-configuration.md b/doc/Server-configuration.md index fd98a608..81cc1a72 100644 --- a/doc/Server-configuration.md +++ b/doc/Server-configuration.md @@ -102,6 +102,14 @@ See [Server-side TLS](https://wiki.mozilla.org/Security/Server_Side_TLS#Apache) ``` +### .htaccess + +Shaarli use `.htaccess` Apache files to deny access to files that shouldn't be directly accessed (datastore, config, etc.). You need the directive `AllowOverride All` in your virtual host configuration for them to work. + +**Warning**: If you use Apache 2.2 or lower, you need [mod_version](https://httpd.apache.org/docs/current/mod/mod_version.html) to be installed and enabled.[](.html) + +Apache module `mod_rewrite` **must** be enabled to use the REST API. URL rewriting rules for the Slim microframework are stated in the root `.htaccess` file. + ## LightHttpd ## Nginx @@ -136,7 +144,7 @@ On a development server: - files may be located in a user's home directory - in this case, make sure both Nginx and PHP-FPM are running as the local user/group! -For all following examples, a development configuration will be used: +For all following configuration examples, this user/group pair will be used: - `user:group = john:users`, which corresponds to the following service configuration: @@ -160,6 +168,32 @@ http { } ``` +### (Optional) Increase the maximum file upload size +Some bookmark dumps generated by web browsers can be _huge_ due to the presence of Base64-encoded images and favicons, as well as extra verbosity when nesting links in (sub-)folders. + +To increase upload size, you will need to modify both nginx and PHP configuration: + +```nginx +# /etc/nginx/nginx.conf + +http { + [...][](.html) + + client_max_body_size 10m; + + [...][](.html) +} +``` + +```ini +# /etc/php5/fpm/php.ini + +[...][](.html) +post_max_size = 10M +[...][](.html) +upload_max_filesize = 10M +``` + ### Minimal _WARNING: Use for development only!_ @@ -186,11 +220,14 @@ http { error_log /var/log/nginx/error.log; location /shaarli/ { + try_files $uri /shaarli/index.php$is_args$args; access_log /var/log/nginx/shaarli.access.log; error_log /var/log/nginx/shaarli.error.log; } location ~ (index)\.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; @@ -229,6 +266,10 @@ location ~ ~$ { ```nginx # /etc/nginx/php.conf location ~ (index)\.php$ { + # Slim - split URL path into (script_filename, path_info) + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + # filter and proxy PHP requests to PHP-FPM fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; @@ -267,10 +308,18 @@ http { server_name my.first.domain.org; location /shaarli/ { + # Slim - rewrite URLs + try_files $uri /shaarli/index.php$is_args$args; + access_log /var/log/nginx/shaarli.access.log; error_log /var/log/nginx/shaarli.error.log; } + location = /shaarli/favicon.ico { + # serve the Shaarli favicon from its custom location + alias /var/www/shaarli/images/favicon.ico; + } + include deny.conf; include static_assets.conf; include php.conf; @@ -324,25 +373,21 @@ http { ssl_certificate_key /home/john/ssl/localhost.key; location /shaarli/ { + # Slim - rewrite URLs + try_files $uri /index.php$is_args$args; + access_log /var/log/nginx/shaarli.access.log; error_log /var/log/nginx/shaarli.error.log; } + location = /shaarli/favicon.ico { + # serve the Shaarli favicon from its custom location + alias /var/www/shaarli/images/favicon.ico; + } + include deny.conf; include static_assets.conf; include php.conf; } } ``` - -## Restricting search engines and web crawler traffic - -Creating a `robots.txt` witht he following contents at the root of your Shaarli installation will prevent "honest" web crawlers from indexing each and every link and Daily page from a Shaarli instance, thus getting rid of a certain amount of unsollicited network traffic. - -``` -User-agent: * -Disallow: / -``` - -See: http://www.robotstxt.org/, http://www.robotstxt.org/robotstxt.html, http://www.robotstxt.org/meta.html -