Panel/website.conf
copilot-swe-agent[bot] 5f93c6728e Add password reset feature and server management pages
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2025-10-22 14:38:22 +00:00

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>