Difference between revisions of "KB00005:Web Server Configuration"
From PartKeepr Wiki
(→nginx) |
|||
Line 8: | Line 8: | ||
* [https://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html mod_rewrite] enabled | * [https://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html mod_rewrite] enabled | ||
* Must be able to parse the [https://httpd.apache.org/docs/2.4/howto/htaccess.html .htaccess file]. Ensure that [https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride AllowOverride] is at least set to '''Indexes''', '''FileInfo''' and '''Options''', however, if you encounter problems, use '''All'. | * Must be able to parse the [https://httpd.apache.org/docs/2.4/howto/htaccess.html .htaccess file]. Ensure that [https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride AllowOverride] is at least set to '''Indexes''', '''FileInfo''' and '''Options''', however, if you encounter problems, use '''All'. | ||
+ | |||
+ | On Debian-Based systems, you can usually activate mod_rewrite using: | ||
+ | <pre> | ||
+ | a2enmod rewrite | ||
+ | </pre> | ||
= nginx = | = nginx = |
Revision as of 08:02, 12 December 2016
PartKeepr requires special configuration in some cases.
Apache
Apache requires the following settings:
- AcceptPathInfo set to ON
- mod_rewrite enabled
- Must be able to parse the .htaccess file. Ensure that AllowOverride is at least set to Indexes, FileInfo and Options, however, if you encounter problems, use All'.
On Debian-Based systems, you can usually activate mod_rewrite using:
a2enmod rewrite
nginx
You need to configure nginx so that it passes the path_info to PHP, that is, everything which is added after a PHP script (like setup.php/test). Also make sure you set your root directory to your PartKeepr web/ directory.
server { # Listening port and host address listen 80; server_name partkeepr.example.com; # Default index pages index app.php index.html # Default character set charset utf-8; # Turn off access.log writes access_log off; log_not_found off; # Send file is an optimization, but does not work # across unix sockets which I use for php fpm so is best # used for local static content onlya sendfile off; # Root for / project root /var/www/partkeepr/web/; # Setup rewrite helper rewrite ^/setup/webserver-test$ /setup/tests/webservercheck.json; # Handle main / location to symfony app.php controller location / { try_files $uri $uri/ /app.php?$query_string; } # Handle /setup location to symfony setup.php controller location /setup { try_files $uri $uri/ /setup.php?$query_string; } # Handle all locations *.php files via PHP-FPM unix socket location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; #fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass unix://var/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } # Deny .ht* access location ~ /\.ht { deny all; } }