← Back to team overview

enterprise-support team mailing list archive

[Bug 1832182] [NEW] systemd unable to detect running apache if invoked via "apache2ctl graceful"

 

Public bug reported:

When starting or restarting Apache via the /usr/sbin/apache2ctl script,
systemd becomes unaware of the state of Apache, causing "systemctl
status apache2.service" to report "Active: inactive (dead)". Below I
describe the issue and a fix; attached is the output of the diff command
after I fixed it on my own 18.04 LTS system.

Description of issue and impact:

Despite this issue, Apache itself generally runs fine, so this is not an
absolutely critical issue, however as both "systemctl status
apache2.service" and "service apache2 status" become unable to detect
its running state, and as some people may be scripting Apache service
checks using those commands, they may experience server outages when
they migrate from 14.04 LTS to 16.04 LTS or 18.04 LTS, so this could
potentially have serious consequences. I suspect this caused or at least
contributed to at least one outage of a web server I am responsible for,
as the web file backup script was unable to restart the apache process
after stopping it.

This issue affects Ubuntu 16.04 LTS when using "apache2ctl start" or
"apache2ctl graceful", and Ubuntu 18.04 LTS just when using "apache2ctl
graceful".

Fix:

The fix is made somewhat obvious due to the fact that the issue was
fixed for "apache2ctl start" in 18.04 LTS , by replacing the regular
call which resolves to "/usr/sbin/apache2 -k start" with a check for
presence of systemd, followed by invoking "systemctl start
apache2.service" if that check is affirmative, or falling back to the
old start command if that check is negative.

Attached is a diff of the file before and after I copied the fixed
invocation from the "star"t subsection to the "graceful" subsection in
18.04 LTS. A fix for 16.04 LTS would require copying that block both
into the "start" and "graceful" subsections.

Additional information:

lsb_release -rd :

Description:    Ubuntu 18.04.2 LTS
Release:        18.04

apt-cache policy apache2:

apache2:
  Installed: 2.4.29-1ubuntu4.6
  Candidate: 2.4.29-1ubuntu4.6

** Affects: apache2 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: bionic systemd xenial

** Patch added: "diff of /usr/sbin/apache2ctl after correcting issue"
   https://bugs.launchpad.net/bugs/1832182/+attachment/5269883/+files/apache2ctl_diff.txt

-- 
You received this bug notification because you are a member of Ubuntu
Server/Client Support Team, which is subscribed to apache2 in Ubuntu.
Matching subscriptions: Ubuntu Server/Client Support Team
https://bugs.launchpad.net/bugs/1832182

Title:
  systemd unable to detect running apache if invoked via "apache2ctl
  graceful"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1832182/+subscriptions


Follow ups