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.
-
Connect to the server via SSH
-
Download fixed psa-mod_proxy.rpm attached to this article:
# wget https://plesk.zendesk.com/hc/article_attachments/9768964964882/psa-mod_proxy.rpm
- Install downloaded package:
# rpm -Uvh psa-mod_proxy.rpm
- Start Apache:
# service httpd start