servers:bsd:freenginx_php_php-fpm
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| servers:bsd:freenginx_php_php-fpm [2024/11/30 08:53] – WIP Sean Rhone | servers:bsd:freenginx_php_php-fpm [2026/08/08 00:05] (current) – [Prerequisites] Sean Rhone | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Information ====== | ====== Information ====== | ||
| - | * freenginx ((https:// | + | * freenginx ((https:// |
| - | * PHP | + | * PHP ((https:// |
| * PHP-FPM | * PHP-FPM | ||
| * [[Information: | * [[Information: | ||
| Line 8: | Line 8: | ||
| ===== Prerequisites ===== | ===== Prerequisites ===== | ||
| - | * [[bsd: | + | * [[bsd: |
| - | + | ||
| - | ===== Resources ===== | + | |
| - | + | ||
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * [[https:// | + | |
| - | * https:// | + | |
| - | * https:// | + | |
| - | * https:// | + | |
| - | * https:// | + | |
| - | * https:// | + | |
| ====== Dependencies ====== | ====== Dependencies ====== | ||
| - | su -l | + | su - |
| - | + | ||
| - | pkg install freenginx php84 | + | |
| - | ===== PHP Extensions ===== | + | pkg install freenginx-devel php85 |
| - | ==== Verify Modules | + | ====== Information ====== |
| - | **** | + | nginx -v |
| php -m | php -m | ||
| Line 38: | Line 24: | ||
| ====== Firewall ====== | ====== Firewall ====== | ||
| - | * 80/tcp is HTTP | ||
| - | * 443/tcp is HTTPS | ||
| * TODO | * TODO | ||
| - | |||
| - | sudo firewall-cmd --add-service=' | ||
| - | |||
| ====== Services ====== | ====== Services ====== | ||
| Line 49: | Line 30: | ||
| ===== Enable ===== | ===== Enable ===== | ||
| - | su -l | + | su - |
| sysrc nginx_enable=" | sysrc nginx_enable=" | ||
| Line 55: | Line 36: | ||
| sysrc php_fpm_enable=" | sysrc php_fpm_enable=" | ||
| - | ====== Config Defaults ====== | + | ===== Start ===== |
| - | ===== Backup ===== | + | su - |
| - | | + | |
| - | | + | |
| - | sudo mv '/ | + | ==== Stop ==== |
| - | | + | |
| - | ===== View ===== | + | service ' |
| - | | + | |
| - | nano '/ | + | ====== Disable Defaults ====== |
| - | nano '/ | + | ===== freenginx ===== |
| - | | + | |
| - | nano '/ | + | |
| + | |||
| + | ===== PHP-FPM ===== | ||
| + | |||
| + | su - | ||
| + | |||
| + | rm -fv '/ | ||
| + | |||
| + | ===== Check Defaults ===== | ||
| + | |||
| + | ==== nginx ==== | ||
| + | |||
| + | ee '/ | ||
| + | |||
| + | ==== PHP ==== | ||
| + | |||
| + | * TODO: Other paths | ||
| + | |||
| + | ee '/ | ||
| + | |||
| + | | ||
| + | |||
| + | ee '/ | ||
| + | |||
| + | nano '/ | ||
| + | |||
| + | nano '/ | ||
| ====== nginx Settings ====== | ====== nginx Settings ====== | ||
| Line 85: | Line 92: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| - | ===== Defaults | + | ===== Folders |
| - | ==== vhosts.d ==== | + | su - |
| - | **** | + | |
| - | + | ||
| - | sudo mkdir -p '/etc/nginx/ | + | |
| ===== HTTPS Redirect ===== | ===== HTTPS Redirect ===== | ||
| Line 99: | Line 104: | ||
| * This automatically redirects non-HTTPS site links to HTTPS | * This automatically redirects non-HTTPS site links to HTTPS | ||
| - | | + | |
| + | |||
| + | ee '/usr/local/etc/freenginx/ | ||
| < | < | ||
| server { | server { | ||
| - | | + | listen ' |
| - | listen ' | + | |
| - | | + | return ' |
| - | }</ | + | } |
| + | |||
| + | # End</ | ||
| ===== Non-existent 404 ===== | ===== Non-existent 404 ===== | ||
| Line 113: | Line 122: | ||
| * This prevents unconfigured subdomains from loading assets from other sites ((if a site/URL doesn' | * This prevents unconfigured subdomains from loading assets from other sites ((if a site/URL doesn' | ||
| - | | + | |
| + | |||
| + | ee '/usr/local/etc/freenginx/ | ||
| < | < | ||
| server { | server { | ||
| - | | + | listen ' |
| - | http2 ' | + | http2 ' |
| - | server_name ' | + | |
| - | | + | return ' |
| - | }</ | + | } |
| + | |||
| + | # End</ | ||
| ===== Headers ===== | ===== Headers ===== | ||
| - | | + | |
| - | * Add to individual site configs as an '' | + | |
| - | | + | |
| < | < | ||
| - | add_header Strict-Transport-Security | + | add_header |
| - | add_header X-Content-Type-Options | + | add_header |
| - | add_header X-Frame-Options | + | add_header |
| - | add_header X-XSS-Protection | + | add_header |
| - | add_header Cache-Control | + | add_header |
| - | add_header Referrer-Policy | + | add_header |
| - | add_header Expect-CT | + | add_header |
| - | add_header Permissions-Policy | + | add_header |
| + | |||
| + | # End</ | ||
| ===== nginx ===== | ===== nginx ===== | ||
| - | | + | |
| - | | + | |
| < | < | ||
| - | user nginx; | + | worker_processes |
| - | worker_processes | + | #error_log |
| - | error_log / | + | error_log '/dev/null'; |
| - | pid /run/nginx.pid; | + | |
| - | + | ||
| - | include / | + | |
| events { | events { | ||
| - | | + | |
| + | worker_connections | ||
| } | } | ||
| http { | http { | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | | ||
| - | # Logging | + | include |
| - | log_format | + | include |
| - | '$status $body_bytes_sent " | + | include |
| - | '" | + | |
| - | access_log | + | sendfile ' |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| - | # Includes | + | gzip 'on'; |
| - | include / | + | |
| - | include / | + | |
| - | include / | + | |
| - | default_type application/ | + | |
| - | + | ||
| - | # Config | + | |
| - | sendfile on; | + | |
| - | tcp_nopush on; | + | |
| - | tcp_nodelay on; | + | |
| - | keepalive_timeout 65; | + | |
| - | types_hash_max_size 4096; | + | |
| - | + | ||
| - | # gzip | + | |
| - | | + | |
| - | gzip_vary on; | + | |
| - | gzip_proxied any; | + | |
| - | gzip_comp_level 9; | + | |
| - | gzip_types *; | + | |
| } | } | ||
| # End</ | # End</ | ||
| - | |||
| - | ==== CSP Headers ==== | ||
| - | |||
| - | * The empty CSP allows all and can be useful for new site bring-ups, and should be placed in site-specific configs underneath the '' | ||
| - | |||
| - | < | ||
| - | |||
| - | < | ||
| ====== SSL Certs ====== | ====== SSL Certs ====== | ||
| Line 203: | Line 202: | ||
| ===== Let's Encrypt ===== | ===== Let's Encrypt ===== | ||
| - | * See [[servers;linux;nginx;lets_encrypt|Let' | + | * See [[servers:bsd:nginx:lets_encrypt|Let' |
| - | | + | |
| + | |||
| + | ee '/usr/local/etc/freenginx/ | ||
| < | < | ||
| - | ssl_certificate '/ | + | ssl_certificate '/usr/local/ |
| - | ssl_trusted_certificate '/ | + | ssl_trusted_certificate '/usr/local/ |
| - | ssl_certificate_key '/ | + | ssl_certificate_key '/usr/local/ |
| ssl_session_timeout ' | ssl_session_timeout ' | ||
| Line 217: | Line 218: | ||
| ssl_buffer_size ' | ssl_buffer_size ' | ||
| - | ssl_protocols ' | + | ssl_protocols |
| ssl_ciphers ' | ssl_ciphers ' | ||
| ssl_prefer_server_ciphers ' | ssl_prefer_server_ciphers ' | ||
| - | ssl_ecdh_curve ' | + | ssl_ecdh_curve ' |
| - | + | ||
| - | ssl_stapling ' | + | |
| - | ssl_stapling_verify 'on'; | + | |
| # End</ | # End</ | ||
| + | |||
| + | ====== Resources ====== | ||
| + | |||
| + | * [[https:// | ||
/usr/local/www/wiki/data/attic/servers/bsd/freenginx_php_php-fpm.1732974828.txt.gz · Last modified: by Sean Rhone
