Applicable to:
- Plesk for Linux
Symptoms
- A website or webmail periodically shows the Plesk default or Plesk login page, Apache test page or old website content.
-
Pages of the website may not load with the error:
PLESK_INFO: 404 Not Found
PLESK_INFO: 403 Forbidden
- This may happen after changing the document root for the domain at Domains > example.com > Hosting & DNS tab > Hosting Settings.
-
One of the error messages below may appear in domain's log at Plesk > Domains > example.com > Dashboard tab > Logs:
CONFIG_TEXT: AH01276: Cannot serve directory /var/www/vhosts/example.com/httpdocs/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm,index.shtml) found, and server-generated directory index forbidden by Options directive
CONFIG_TEXT: [error] 22517#0: *36460 openat() "/var/www/vhosts/example.com/httpdocs/index.html" failed (2: No such file or directory), client:
Cause
Apache (sub-)process is stuck.
It can be an old subprocess:
# ps uaxf | grep [a]pache
root 723810 0.0 0.5 194584 144184 ? Ss Apr07 3:06 /usr/sbin/apache2 -k start
www-data 723811 0.0 0.5 193308 140564 ? Sl May10 36:00 \_ /usr/sbin/apache2 -k start
www-data 723812 0.0 0.5 194484 140108 ? S 10:39 0:00 \_ /usr/sbin/apache2 -k start
www-data 725215 13.1 0.6 2128208 158620 ? Sl 10:47 0:55 \_ /usr/sbin/apache2 -k start
or two main processes running simultaneously:
# netstat -tulnp | grep ':80\>'
tcp6 0 0 :::80 :::* LISTEN 1696/apache2
tcp6 0 0 :::80 :::* LISTEN 615/apache2
# netstat -tulnp | grep ':443\>'
tcp6 0 0 :::443 :::* LISTEN 1696/apache2
tcp6 0 0 :::443 :::* LISTEN 615/apache2
Probably, this is Apache bug #63169 which based on the comments will be fixed in the Apache version 2.4.49.
Resolution
- Log in to Plesk.
- Go to Tools & Settings > Services Management.
-
Click the
button next to Web Server (Apache) to restart the Apache service.
If this does not help, kill the stuck Apache processes manually using the command-line instructions below.
- Connect to your Plesk server via SSH.
-
Stop Apache service:
# systemctl stop httpd
-
Check if there are any hung processes with the command:
# ps uaxf | grep httpd
If the output is non-empty:
CONFIG_TEXT: root 8637 0.0 0.4 97512 8440 ? Ssl Sep07 0:55 /usr/sbin/httpd -DFOREGROUND
apache 8927 0.0 0.2 98504 5236 ? S Sep07 0:00 \_ /usr/sbin/httpd -DFOREGROUND
apache 8928 0.0 0.3 99680 5588 ? S Sep07 0:46 \_ /usr/sbin/httpd -DFOREGROUNDkill these processes using their PID:
# kill -9 8637 8927 8928
-
Start Apache service:
# systemctl start httpd
- Connect to your Plesk server via SSH.
-
Stop Apache service:
# systemctl stop apache2
-
Check if there are any hung processes with the command:
# ps uaxf | grep [a]pache
If the output is non-empty:
CONFIG_TEXT: root 8637 0.0 0.2 287780 46124 ? Ss Jun26 0:55 /usr/sbin/apache2 -k start
www-data 8927 0.0 0.2 286504 43968 ? S Jun26 0:00 /usr/sbin/apache2 -k start
www-data 8928 0.0 0.2 287696 44424 ? S Jun26 0:46 /usr/sbin/apache2 -k startkill these processes using their PID:
# kill -9 8637 8927 8928
-
Start Apache service:
# systemctl start apache2
Comments
Please sign in to leave a comment.