109 lines
3.8 KiB
Text
109 lines
3.8 KiB
Text
<VirtualHost *:80>
|
|
# Website domain configuration for GameServers.World storefront
|
|
ServerName gameservers.world
|
|
ServerAlias www.gameservers.world
|
|
|
|
# Document root points to the _website directory
|
|
DocumentRoot /var/www/GSP/_website
|
|
|
|
# Directory configuration
|
|
<Directory /var/www/GSP/_website>
|
|
Options -Indexes +FollowSymLinks
|
|
AllowOverride All
|
|
Require all granted
|
|
DirectoryIndex index.php index.html
|
|
|
|
# PHP configuration
|
|
<IfModule mod_php7.c>
|
|
php_value upload_max_filesize 50M
|
|
php_value post_max_size 50M
|
|
php_value max_execution_time 180
|
|
php_value max_input_time 180
|
|
php_value session.name "gameservers_website"
|
|
</IfModule>
|
|
</Directory>
|
|
|
|
# Restrict access to sensitive files and directories
|
|
<DirectoryMatch "^/var/www/GSP/_website/(includes|data|tools)">
|
|
Require all denied
|
|
</DirectoryMatch>
|
|
|
|
# Protect sensitive files
|
|
<FilesMatch "^(config\.inc\.php|.*\.log|.*\.md)$">
|
|
Require all denied
|
|
</FilesMatch>
|
|
|
|
# Error and access logs
|
|
ErrorLog ${APACHE_LOG_DIR}/gameservers-website-error.log
|
|
CustomLog ${APACHE_LOG_DIR}/gameservers-website-access.log combined
|
|
|
|
# Security headers
|
|
<IfModule mod_headers.c>
|
|
Header always set X-Content-Type-Options "nosniff"
|
|
Header always set X-Frame-Options "SAMEORIGIN"
|
|
Header always set X-XSS-Protection "1; mode=block"
|
|
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
|
</IfModule>
|
|
|
|
# Compression
|
|
<IfModule mod_deflate.c>
|
|
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
|
|
</IfModule>
|
|
|
|
# Cache static assets
|
|
<IfModule mod_expires.c>
|
|
ExpiresActive On
|
|
ExpiresByType image/jpg "access plus 1 month"
|
|
ExpiresByType image/jpeg "access plus 1 month"
|
|
ExpiresByType image/gif "access plus 1 month"
|
|
ExpiresByType image/png "access plus 1 month"
|
|
ExpiresByType text/css "access plus 1 week"
|
|
ExpiresByType application/javascript "access plus 1 week"
|
|
</IfModule>
|
|
</VirtualHost>
|
|
|
|
# SSL/HTTPS configuration (uncomment and configure after obtaining SSL certificate)
|
|
#<VirtualHost *:443>
|
|
# ServerName gameservers.world
|
|
# ServerAlias www.gameservers.world
|
|
#
|
|
# DocumentRoot /var/www/GSP/_website
|
|
#
|
|
# SSLEngine on
|
|
# SSLCertificateFile /etc/ssl/certs/gameservers.world.crt
|
|
# SSLCertificateKeyFile /etc/ssl/private/gameservers.world.key
|
|
# SSLCertificateChainFile /etc/ssl/certs/ca-bundle.crt
|
|
#
|
|
# <Directory /var/www/GSP/_website>
|
|
# Options -Indexes +FollowSymLinks
|
|
# AllowOverride All
|
|
# Require all granted
|
|
# DirectoryIndex index.php index.html
|
|
# </Directory>
|
|
#
|
|
# <DirectoryMatch "^/var/www/GSP/_website/(includes|data|tools)">
|
|
# Require all denied
|
|
# </DirectoryMatch>
|
|
#
|
|
# <FilesMatch "^(config\.inc\.php|.*\.log|.*\.md)$">
|
|
# Require all denied
|
|
# </FilesMatch>
|
|
#
|
|
# ErrorLog ${APACHE_LOG_DIR}/gameservers-website-ssl-error.log
|
|
# CustomLog ${APACHE_LOG_DIR}/gameservers-website-ssl-access.log combined
|
|
#
|
|
# # Security headers
|
|
# <IfModule mod_headers.c>
|
|
# Header always set X-Content-Type-Options "nosniff"
|
|
# Header always set X-Frame-Options "SAMEORIGIN"
|
|
# Header always set X-XSS-Protection "1; mode=block"
|
|
# Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
|
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
|
# </IfModule>
|
|
#</VirtualHost>
|
|
|
|
# Redirect www to non-www (optional, uncomment if desired)
|
|
#<VirtualHost *:80>
|
|
# ServerName www.gameservers.world
|
|
# Redirect permanent / http://gameservers.world/
|
|
#</VirtualHost>
|