Plesk 18.0.49 // RHEL // httpd

Issue

  • Jetpack reports that a website is down;
  • httpd will not start at all and is erroring with /etc/httpd/conf.modules.d/00- - proxy.conf: Cannot load modules/mod_proxy_ajp.so
  • Red Hat Enterprise Linux 7.9
  • Plesk Version 18.0.49 Update #2

Diagnosis

I was alerted to an issue with a number of sites by Jetpack.
Checking the server, all was well - but httpd was not running. Attempts to restart failed. There was no nginx installed.

Testing the config resulted in the following:

# httpd -t
httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: 
Syntax error on line 7 of /etc/httpd/conf.modules.d/00-proxy.conf: 
Cannot load modules/mod_proxy_ajp.so into server: 
/etc/httpd/modules/mod_proxy_ajp.so: undefined symbol: ap_proxy_check_connection

(line breaks for readabillity.)

Contents of the file were as follows:

# cat /etc/httpd/conf.modules.d/00-proxy.conf
# This file configures all the proxy modules:
LoadModule proxy_module modules/mod_proxy.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

Errors were consistent and around proxy modules.
Commenting them out meant that Apache would start, but, obviously, content was not delivered in a way that was intended / viable.

Checking the file exists, and then to see its source:

# ls -lha /etc/httpd/modules/mod_proxy_ajp.so
-rwxr-xr-x 1 root root 52K Dec  9 08:57 /etc/httpd/modules/mod_proxy_ajp.so

# rpm -qf /etc/httpd/modules/mod_proxy_ajp.so
httpd-2.4.6-98.el7_9.6.x86_64

Checking the yum.log it was apparent that shortly before the failure report yum had made some updates:

Jan 25 08:57:16 Updated: bind-license.noarch 32:9.11.4-26.P2.el7_9.13
Jan 25 08:57:16 Updated: bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.13
Jan 25 08:57:16 Updated: bind-libs.x86_64 32:9.11.4-26.P2.el7_9.13
Jan 25 08:57:16 Updated: httpd-tools.x86_64 2.4.6-98.el7_9.6                            <--------
Jan 25 08:57:19 Updated: httpd.x86_64 2.4.6-98.el7_9.6                                  <--------
Jan 25 08:57:31 Updated: mod_ssl.x86_64 1:2.4.6-98.el7_9.6
Jan 25 08:57:32 Updated: bind.x86_64 32:9.11.4-26.P2.el7_9.13
Jan 25 08:57:32 Updated: bind-utils.x86_64 32:9.11.4-26.P2.el7_9.13
Jan 25 08:57:33 Updated: kernel-headers.x86_64 3.10.0-1160.83.1.el7
Jan 25 08:58:51 Installed: kernel-devel.x86_64 3.10.0-1160.83.1.el7
Jan 25 08:58:52 Updated: python-perf.x86_64 3.10.0-1160.83.1.el7
Jan 25 08:58:53 Updated: bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.13
Jan 25 08:59:31 Installed: kernel.x86_64 3.10.0-1160.83.1.el7

Which was part of RHBA-2023:0401 - Bug Fix Advisory, out on the 24th (dropping overnight)

Assuming this is an installation or configuration error - I attempt to reinstall:

# plesk installer --select-product-id plesk --select-release-current \
 --install-component Apache

Which has no effect.

This must be down to Plesk's support for the updated packages.

Resolution

The solution is simply to do downgrade.

httpd.x86_64 2.4.6-98.el7_9.6 is not supported by Plesk (at this time, or version 18.0.49 Update 2)

Downgrading can be done as follows - assuming the version installed below is the one you have installed.

# yum downgrade httpd-2.4.6-97.\
el7_9.5 httpd-tools-2.4.6-97.el7_9.5 mod_ssl-2.4.6-97.el7_9.5

Then test your config, all being well, start the service, and test the website.

Link

After having pulled all this together and resolved the issue I THEN find they have just created a page on the same https://support.plesk.com/hc/en-us/articles/9753973381394-Apache-doesn-t-start-on-Plesk-server-after-update-on-RedHat-el7-based-OS

This is a known issue and they are working on it.

Update 27jan23

It would appear that they have updated their advised actions.

At the time the document was 20 minutes old – so they have clearly worked the problem since.

  1. Connect to the server via SSH

  2. Download fixed psa-mod_proxy.rpm attached to this article:

# wget https://plesk.zendesk.com/hc/article_attachments/9768964964882/psa-mod_proxy.rpm
  1. Install downloaded package:
# rpm -Uvh psa-mod_proxy.rpm
  1. Start Apache:
# service httpd start

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: