Difference between revisions of "KB00005:Web Server Configuration"
From PartKeepr Wiki
(→nginx) |
|||
Line 14: | Line 14: | ||
<pre> | <pre> | ||
− | # | + | 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 / { | location / { | ||
− | + | try_files $uri $uri/ /app.php?$query_string; | |
− | try_files $uri /app.php$ | ||
} | } | ||
− | # | + | # Handle /setup location to symfony setup.php controller |
− | + | location /setup { | |
+ | try_files $uri $uri/ /setup.php?$query_string; | ||
+ | } | ||
− | location ~ ^ | + | # Handle all locations *.php files via PHP-FPM unix socket |
− | fastcgi_pass unix:/var/run/php5-fpm.sock; | + | 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; | include fastcgi_params; | ||
− | + | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
− | + | fastcgi_intercept_errors off; | |
− | + | fastcgi_buffer_size 16k; | |
− | + | fastcgi_buffers 4 16k; | |
− | |||
− | |||
− | |||
− | fastcgi_param | ||
− | |||
} | } | ||
− | # | + | |
− | location ~ | + | # Deny .ht* access |
− | + | location ~ /\.ht { | |
− | + | deny all; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
+ | } | ||
+ | |||
</pre> | </pre> | ||
[[Category:Knowledge Base]] | [[Category:Knowledge Base]] |
Revision as of 20:16, 9 February 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'.
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; } }