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 10:03] – 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 mv '/ | ||
| - | |||
| - |   sudo mv '/ | ||
| - | |||
| - | ===== View ===== | ||
| - | |||
| - |   nano '/ | ||
| - | |||
| - |   nano '/ | ||
| - | |||
| - |   nano '/ | ||
| - | |||
| - |   nano '/ | ||
| - | |||
| - |   nano '/ | ||
| - | |||
| - | ====== nginx Settings ====== | ||
| - | |||
| - | ===== Notes ===== | ||
| - | |||
| - |   * '' | ||
| - |   * '' | ||
| - |   * '' | ||
| - | |||
| - | ===== Defaults ===== | ||
| - | |||
| - | ==== vhosts.d ==== | ||
| - | |||
| - | **** | ||
| - | |||
| - |   sudo mkdir -p '/ | ||
| - | |||
| - | ===== 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 on site-by-site basis 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: 2023/09/12 | ||
| - | |||
| - |   sudo -e '/ | ||
| - | |||
| - | < | ||
| - | user nginx; | ||
| - | worker_processes auto; | ||
| - | error_log / | ||
| - | pid / | ||
| - | |||
| - | include / | ||
| - | |||
| - | events { | ||
| - | worker_connections 1024; | ||
| - | } | ||
| - | |||
| - | http { | ||
| - | |||
| - | # Logging | ||
| - |     log_format  | ||
| - |                       ' | ||
| - |                       '" | ||
| - | |||
| - |     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; | ||
/usr/local/www/wiki/data/attic/servers/nginx_php_php-fpm.1707318195.txt.gz · Last modified:  (external edit)
                
                