๐ Apache
Apache is one of the most widely used web servers. Monitron SaaS works perfectly with Apache 2.4+ when configured correctly.
๐ Prerequisitesโ
- Apache 2.4+ installed
mod_rewriteenabledmod_sslenabled (for HTTPS)- PHP 8.4+ as mod_php or via PHP-FPM
๐ง Enable Required Modulesโ
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod headers
sudo systemctl restart apache2
๐ VirtualHost Configurationโ
Create a new VirtualHost:
sudo nano /etc/apache2/sites-available/monitron.conf
Paste this configuration:
<VirtualHost *:80>
ServerName your-domain.com
Redirect permanent / https://your-domain.com/
</VirtualHost>
<VirtualHost *:443>
ServerName your-domain.com
# โโโ Document Root โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# ๐จ IMPORTANT: Point to the /public directory!
DocumentRoot /var/www/monitron/public
# โโโ SSL Configuration โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem
# โโโ Directory Settings โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
<Directory /var/www/monitron/public>
AllowOverride All
Require all granted
Options -Indexes +FollowSymLinks
# Laravel URL rewriting
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
</Directory>
# โโโ Block Access to Sensitive Files โโโโโโโโโโโโโโโโโโ
<FilesMatch "^\.env">
Require all denied
</FilesMatch>
# โโโ Security Headers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# โโโ Logging โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ErrorLog ${APACHE_LOG_DIR}/monitron-error.log
CustomLog ${APACHE_LOG_DIR}/monitron-access.log combined
# โโโ PHP Timeout for AI requests โโโโโโโโโโโโโโโโโโโโโ
<IfModule mod_php.c>
php_value max_execution_time 120
php_value upload_max_filesize 100M
php_value post_max_size 100M
</IfModule>
</VirtualHost>
๐ง Step-by-Step Setupโ
1. Replace Placeholdersโ
| Placeholder | Replace With |
|---|---|
your-domain.com | Your actual domain |
/var/www/monitron | Your installation path |
| SSL certificate paths | Your actual paths |
2. Enable the Siteโ
# Enable the site
sudo a2ensite monitron.conf
# Disable the default site (optional)
sudo a2dissite 000-default.conf
# Test configuration
sudo apachectl configtest
# Restart Apache
sudo systemctl restart apache2