Ubuntu服务器修改Apache配置后OctoberCMS异常,如何恢复?
Hey there! I’ve dealt with this exact scenario a bunch of times—tweaking Apache for a new site and accidentally breaking an existing OctoberCMS installation. Let’s walk through the critical Apache config adjustments to get your October site back up smoothly:
1. Re-enable Required Apache Modules
OctoberCMS relies on a few core Apache modules that might have been disabled or overridden when you modified the config. Run these commands to make sure they’re active:
- Enable URL rewriting (absolute must for October’s routing system):
sudo a2enmod rewrite - Enable HTTP headers handling (for cache control and security headers):
sudo a2enmod headers - Optional but recommended: Enable expires module for static asset caching:
sudo a2enmod expires
After enabling these, restart Apache to apply changes:
sudo systemctl restart apache2
2. Fix the OctoberCMS Virtual Host Configuration
Your new site’s virtual host might have overwritten or conflicted with October’s settings. Open your October site’s virtual host file (usually located at /etc/apache2/sites-available/your-october-site.conf) and verify these key settings:
- Document Root: Make sure it points directly to October’s
publicfolder—this is the entry point for the application. Example:DocumentRoot /var/www/your-october-site/public - Directory Permissions & Overrides: Inside the
<Directory /var/www/your-october-site/public>block, ensure these lines are present:AllowOverride All Require all grantedAllowOverride Alllets October’s default.htaccessfile handle routing rules (if this is set toNone, your site will throw 404s for all non-homepage routes).
3. Ensure .htaccess Rules Are Respected
Double-check that your global Apache config (at /etc/apache2/apache2.conf) isn’t overriding the AllowOverride setting for your web root. Look for a block like this:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All # Make sure this is NOT set to None Require all granted </Directory>
If it’s set to None, change it to All (or at least ensure your October virtual host’s directory block overrides this).
4. Verify File & Directory Permissions
While not strictly an Apache config issue, config changes often mess up file permissions. Ensure the Apache user (www-data) has proper access to your OctoberCMS files:
- Set ownership to the Apache user:
sudo chown -R www-data:www-data /var/www/your-october-site - Set secure base permissions:
sudo find /var/www/your-october-site -type d -exec chmod 755 {} \; sudo find /var/www/your-october-site -type f -exec chmod 644 {} \; - Give write access to critical directories (October needs these to cache and store data):
sudo chmod -R 775 /var/www/your-october-site/storage /var/www/your-october-site/bootstrap/cache
5. Resolve Virtual Host Conflicts
If you added a new virtual host, make sure it doesn’t conflict with your October site:
- Check that no two virtual hosts share the same
ServerNameorServerAlias - If you’re using non-standard ports, ensure Apache is listening on them (check
/etc/apache2/ports.conf) - Disable any unused or conflicting sites with:
sudo a2dissite unwanted-site.conf
Then restart Apache again.
If you’re still seeing issues, check Apache’s error log (/var/log/apache2/error.log)—it’ll usually tell you exactly what’s broken (e.g., rewrite rule failures, permission denied errors).
内容的提问来源于stack exchange,提问作者Ray

