Apache Web Server#

Config Options#

Simple Static Website (HTTP)#

<VirtualHost *:80>
    # Domain name and alias
    ServerName my.domain
    ServerAlias www.my.domain

    # How to contact the site admin
    ServerAdmin [email protected]

    # Where the website files are
    DocumentRoot /var/www/my.domain

    # Logging
    ErrorLog ${APACHE_LOG_DIR}/my.domain-error.log
    CustomLog ${APACHE_LOG_DIR}/my.domain-access.log combined
</VirtualHost>

Client-side Caching#

    # Client side caching
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access 30 days"
        ExpiresByType image/jpg "access 30 days"
        ExpiresByType image/jpeg "access 30 days"
        ExpiresByType image/gif "access 30 days"
        ExpiresByType image/png "access 30 days"
        ExpiresByType image/svg "access 30 days"
        ExpiresByType image/webp "access 30 days"
        ExpiresByType image/x-icon "access 30 days"
        ExpiresByType text/css "access 30 days"
        ExpiresByType text/javascript "access 30 days"
        ExpiresByType font/woff "access 30 days"
        ExpiresByType font/woff2 "access 30 days"
    </IfModule>

Use a Specific PHP Version#

# Force usage of PHP8.3
<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>