servers:nginx_php_php-fpm
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
servers:nginx_php_php-fpm [2024/02/07 14:14] – Sean Rhone | servers:nginx_php_php-fpm [2024/08/13 16:32] (current) – removed Sean Rhone | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Information ====== | ||
- | |||
- | * nginx ((https:// | ||
- | * PHP | ||
- | * PHP-FPM | ||
- | * [[Information: | ||
- | |||
- | ===== Prerequisites ===== | ||
- | |||
- | * [[distros: | ||
- | |||
- | * [[servers: | ||
- | |||
- | ===== Resources ===== | ||
- | |||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | |||
- | ====== Dependencies ====== | ||
- | |||
- | **** | ||
- | |||
- | sudo apt install git nginx-core php-fpm | ||
- | |||
- | ===== PHP Extensions ===== | ||
- | |||
- | ==== Verify Modules ==== | ||
- | |||
- | **** | ||
- | |||
- | php -m | ||
- | |||
- | ====== Firewall ====== | ||
- | |||
- | * 80/tcp is HTTP | ||
- | * 443/tcp is HTTPS | ||
- | * '' | ||
- | |||
- | sudo ufw allow 'Nginx Full' | ||
- | |||
- | ====== Services ====== | ||
- | |||
- | ===== Enable ===== | ||
- | |||
- | **** | ||
- | |||
- | sudo systemctl enable ' | ||
- | |||
- | ====== Permissions ====== | ||
- | |||
- | * :!: TODO: Adapt for Ubuntu if needed | ||
- | |||
- | sudo chown --recursive ' | ||
- | |||
- | ====== Config Defaults ====== | ||
- | |||
- | ===== Backup ===== | ||
- | |||
- | sudo mv '/ | ||
- | |||
- | sudo mv '/ | ||
- | |||
- | sudo unlink '/ | ||
- | |||
- | ===== View ===== | ||
- | |||
- | nano '/ | ||
- | |||
- | nano '/ | ||
- | |||
- | nano '/ | ||
- | |||
- | nano '/ | ||
- | |||
- | nano '/ | ||
- | |||
- | ====== nginx Settings ====== | ||
- | |||
- | ===== Notes ===== | ||
- | |||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | |||
- | ===== HTTPS Redirect ===== | ||
- | |||
- | * This automatically redirects non-HTTPS site links to HTTPS | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | server { | ||
- | listen 80 default_server; | ||
- | listen [::]:80 default_server; | ||
- | |||
- | return 301 https:// | ||
- | }</ | ||
- | |||
- | ===== Non-existent 404 ===== | ||
- | |||
- | * This prevents unconfigured subdomains from loading assets from other sites ((if a site/URL doesn' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | server { | ||
- | listen ' | ||
- | server_name ' | ||
- | |||
- | return ' | ||
- | }</ | ||
- | |||
- | ===== Headers ===== | ||
- | |||
- | * Last updated: 2022/12/16 | ||
- | * Add to individual site configs as an '' | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | add_header Strict-Transport-Security " | ||
- | add_header X-Content-Type-Options " | ||
- | add_header X-Frame-Options " | ||
- | add_header X-XSS-Protection "1; mode=block" | ||
- | add_header Cache-Control " | ||
- | add_header Referrer-Policy " | ||
- | add_header Expect-CT " | ||
- | add_header Feature-Policy " | ||
- | add_header Permissions-Policy " | ||
- | |||
- | ===== nginx ===== | ||
- | |||
- | * Last updated: 2024/02/07 | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | user www-data; | ||
- | worker_processes auto; | ||
- | error_log / | ||
- | pid / | ||
- | |||
- | events { | ||
- | worker_connections 1024; | ||
- | } | ||
- | |||
- | http { | ||
- | |||
- | # Logging | ||
- | access_log | ||
- | |||
- | # Includes | ||
- | 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 on; | ||
- | gzip_vary on; | ||
- | gzip_proxied any; | ||
- | gzip_comp_level 9; | ||
- | gzip_types *; | ||
- | } | ||
- | |||
- | # 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 ====== | ||
- | |||
- | ===== Let's Encrypt ===== | ||
- | |||
- | * See [[Servers: | ||
- | |||
- | ==== Settings ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | < | ||
- | ssl_certificate '/ | ||
- | ssl_trusted_certificate '/ | ||
- | ssl_certificate_key '/ | ||
- | |||
- | ssl_session_timeout ' | ||
- | ssl_session_cache ' | ||
- | ssl_session_tickets ' | ||
- | ssl_buffer_size ' | ||
- | |||
- | ssl_protocols ' | ||
- | ssl_ciphers ' | ||
- | ssl_prefer_server_ciphers ' | ||
- | ssl_ecdh_curve ' | ||
- | |||
- | ssl_stapling ' | ||
- | ssl_stapling_verify ' | ||
- | resolver ' | ||
- | resolver_timeout ' | ||
- | |||
- | # End</ | ||
- | |||
- | ===== Self-signed ===== | ||
- | |||
- | * :!: This likely needs refactored | ||
- | |||
- | ==== Generate Certs ==== | ||
- | |||
- | **** | ||
- | |||
- | sudo openssl ecparam -name secp521r1 -genkey -out '/ | ||
- | |||
- | ==== Settings ==== | ||
- | |||
- | sudo -e '/ | ||
- | |||
- | ssl_certificate '/ | ||
- | ssl_certificate_key '/ | ||
- | | ||
- | ssl_session_timeout 1d; | ||
- | ssl_session_cache shared: | ||
- | ssl_session_tickets off; | ||
- | | ||
- | ssl_protocols TLSv1.3; | ||
- | ssl_ciphers ' | ||
- | ssl_prefer_server_ciphers on; | ||
- | ssl_ecdh_curve secp384r1; | ||
/srv/www/wiki/data/attic/servers/nginx_php_php-fpm.1707333240.txt.gz · Last modified: (external edit)