Bug 54719 - httpd should check for and eventually create pid file directory
Summary: httpd should check for and eventually create pid file directory
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.2.24
Hardware: All All
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
Keywords: MassUpdate, PatchAvailable
Depends on:
Reported: 2013-03-18 12:53 UTC by Petr Sumbera
Modified: 2018-11-07 21:09 UTC (History)
0 users

Possible fix. (981 bytes, patch)
2013-04-03 11:16 UTC, Petr Sumbera
Details | Diff
new patch (973 bytes, patch)
2013-06-18 14:57 UTC, Petr Sumbera
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Sumbera 2013-03-18 12:53:06 UTC
On Solaris we configure Apache to layout where runtimedir is set to /var/run/apache2/2.2. Httpd itself will report following error when this directory is not available:

[Mon Mar 18 13:19:55 2013] [error] (2)No such file or directory: could not create /var/run/apache2/2.2/httpd.pid
[Mon Mar 18 13:19:55 2013] [error] httpd: could not log pid to file /var/run/apache2/2.2/httpd.pid

We currently create this directory in apachectl. But it would be probably better to allow httpd to create this directory when it's needed. Note that /var/run is cleared after each reboot.
Comment 1 Petr Sumbera 2013-04-03 11:16:03 UTC
Created attachment 30139 [details]
Possible fix.
Comment 2 Petr Sumbera 2013-06-18 14:57:21 UTC
Created attachment 30458 [details]
new patch

There seems to be problem with originally proposed action of creating Pid file directory if it doesn't exist.

Original idea was that this directory (which is by default runtime directory) is used by other components after it's created. But some modules may need to access this directory before Pid file is created.

One example is mod_fcgid shared memory which is created in module init function.

Therefore it seems better to create run time directory at
early stage of httpd start. And since Apache allows to overwrite all run time directory usage (via directives like PidFile, FcgidProcessTableFile, ..) we can do that only when default configuration file is used.
Comment 3 William A. Rowe Jr. 2018-11-07 21:09:46 UTC
Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd.

As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd.

If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question.

If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with.

Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated.