Various issues related to Apache and the Horde web interface can occur if more than 300 websites on the server are hosted. For example:
"Login failed" message or a blank page in Horde web interface
Unable to send emails from Horde Webmail
Web sites not opening properly, they can show:
Unable to connect
Following errors can be found in
[Tue Nov 24 21:18:32.639926 2015] [core:error] [pid 2751] (24)Too many open files: AH02179: apr_socket_accept: (client socket)
- Apache does not want to start up.
If you try to host more than 300 websites on the server, Apache may fail to work because of a problem involving the file descriptors limit. By default, Apache can only handle 1024 file descriptors.
Every Virtual Host requires 2 or 4 (if HTTPS is enabled) log files, so with this scheme only around 300 domains can be hosted without an Apache recompilation. See article #260 for more details on recompiling.
Run the following command to see the root of the Apache processes tree:
# ps axf | grep httpd | grep -v grep 2718 ? Ss 0:00 /usr/sbin/httpd 2720 ? S 0:00 \_ /usr/sbin/httpd 2721 ? S 0:03 \_ /usr/sbin/httpd … 3821 ? S 0:00 \_ /usr/sbin/httpd 3901 ? S 0:00 \_ /usr/sbin/httpd
Then check the number of open file descriptors using the root PID (2718):
# ls /proc/2718/fd/ | wc -l 1406
If the returned value is more than 1024, this means that Apache does not have enough file descriptors and may fail to work correctly.
The Piped Logs feature that was implemented in Parallels Plesk 8.2 allows you to host up to 900 domains safely on the default Apache web server. If you have more than 900 domains, you will still have to recompile Apache and certain other system packages as described in article #260.
To enable Piped Logs on Plesk 11.5 or newer, go to Tools & Settings > Apache Web Server and check "Piped logs" checkbox.
To enable Piped Logs on earlier versions:
- Log in to the server shell.
Issue this command:
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e "replace into misc (param,val) values ('apache_pipelog', 'true');"
Rebuild the Apache configuration:
# $PRODUCT_ROOT_D/admin/sbin/websrvmng -v -a