How do I enable Piped Logs for Apache Web Server

Refers to:

  • Plesk for Linux

Created:

2016-11-16 13:06:51 UTC

Modified:

2016-12-21 19:59:04 UTC

0

Was this article helpful?


Have more questions?

Submit a request

How do I enable Piped Logs for Apache Web Server

Symptoms

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 the Horde web interface

  • Unable to send emails from Horde Webmail

  • Web sites are not opened properly, they can show:

    Unable to connect

    The following errors can be found in /var/log/httpd/error_log :

    [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 start, in /var/log/httpd/error_log the following error can be found:

    Unable to open logs

Cause

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 the article #213393589 for more details on recompiling.

Diagnostics

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.

Resolution

The Piped Logs feature that was implemented in 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 the article #213393589 .

To enable Piped Logs in Plesk 11.5 or newer, go to Tools & Settings > Apache Web Server and select the Piped logs check box.

To enable Piped Logs in earlier versions:

  1. Log in to the server shell.
  2. Issue this command:

    # MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin psa -e "replace into misc (param,val) values ('apache_pipelog', 'true');"
  3. Rebuild the Apache configuration:

    # $PRODUCT_ROOT_D/admin/sbin/websrvmng -v -a
Have more questions? Submit a request
Please sign in to leave a comment.