fix: properly configure Apache MPM Prefork with dedicated config file

- Create dedicated apache/mpm_prefork.conf to override default MPM settings
- Mount mpm_prefork.conf to /etc/apache2/mods-available/ to properly apply limits
- Remove MPM config from nextcloud.conf (was being ignored)
- Set ServerLimit and MaxRequestWorkers to 400 (up from 150 default)
- Configure optimized worker settings for better concurrency

This fixes the "server reached MaxRequestWorkers" error that was causing
sync failures and 404 errors by properly overriding Apache's default
configuration file instead of trying to set it in conf-enabled.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
BeauTroll
2026-01-03 04:14:41 +01:00
parent 5d610b9177
commit fc1cac8e5a
3 changed files with 17 additions and 10 deletions

16
apache/mpm_prefork.conf Normal file
View File

@@ -0,0 +1,16 @@
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxRequestWorkers (must be set before MaxRequestWorkers)
# MaxRequestWorkers: maximum number of server processes allowed to start
# MaxConnectionsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
ServerLimit 400
StartServers 10
MinSpareServers 10
MaxSpareServers 20
MaxRequestWorkers 400
MaxConnectionsPerChild 1000
</IfModule>

View File

@@ -19,16 +19,6 @@ KeepAlive On
KeepAliveTimeout 300 KeepAliveTimeout 300
MaxKeepAliveRequests 200 MaxKeepAliveRequests 200
# Configuration MPM Prefork - Augmentation des workers
<IfModule mpm_prefork_module>
ServerLimit 400
StartServers 10
MinSpareServers 10
MaxSpareServers 20
MaxRequestWorkers 400
MaxConnectionsPerChild 1000
</IfModule>
<Directory /var/www/html/> <Directory /var/www/html/>
Options FollowSymLinks MultiViews Options FollowSymLinks MultiViews
AllowOverride All AllowOverride All

View File

@@ -8,6 +8,7 @@ services:
volumes: volumes:
- ./data:/var/www/html - ./data:/var/www/html
- ./apache/nextcloud.conf:/etc/apache2/conf-enabled/nextcloud.conf:ro - ./apache/nextcloud.conf:/etc/apache2/conf-enabled/nextcloud.conf:ro
- ./apache/mpm_prefork.conf:/etc/apache2/mods-available/mpm_prefork.conf:ro
- ./logs/apache:/var/log/apache2 - ./logs/apache:/var/log/apache2
logging: logging:
driver: "json-file" driver: "json-file"