[Mageia-dev] /run/httpd (maybe others) breaking features

Pascal Terjan pterjan at gmail.com
Thu Jan 24 11:23:51 CET 2013


On Thu, Jan 24, 2013 at 9:24 AM, Colin Guthrie <mageia at colin.guthr.ie> wrote:
> 'Twas brillig, and Pascal Terjan at 24/01/13 01:40 did gyre and gimble:
>> On Thu, Jan 24, 2013 at 12:45 AM, Colin Guthrie <mageia at colin.guthr.ie> wrote:
>>> 'Twas brillig, and Pascal Terjan at 24/01/13 00:24 did gyre and gimble:
>>>> I was looking at perl-Apache2-DebugFilter build failure
>>>>
>>>> In the test it starts an apache which fails as it uses
>>>> http://httpd.apache.org/docs/trunk/rewrite/rewritemap.html#prg which
>>>> uses a mutex stored in /run/httpd/
>>>>
>>>> [Wed Jan 23 23:49:55.962405 2013] [core:emerg] [pid 55277]
>>>> (13)Permission denied: AH00023: Couldn't create the rewrite-map mutex
>>>> (file /run/httpd/rewrite-map.55277)
>>>>
>>>> That directory is now owned by root so it can't be used for anything
>>>> except creating the httpd.pid
>>>>
>>>> $ cat /usr/lib/tmpfiles.d/httpd.conf
>>>> d /run/httpd   755 root root
>>>>
>>>> Fedora uses "d /run/httpd   710 root apache" which doesn't help in
>>>> this case but fixes other problems
>>>>
>>>> In the past (Mageia 1) runtimedir was /var/run directly so it was
>>>> possible to create mutex files there for any user
>>>
>>> Hmm, not sure what you mean here.
>>>
>>> [colin at mga2 ~]$ ls -ld /var/run
>>> drwxr-xr-x 38 root root 4096 Jan 23 04:04 /var/run/
>>>
>>> That dir is also owned by root with 755 perm. It shouldn't make any odds
>>> to permissions.
>>
>> Hmm you are right, I don't know why it got broken then
>>
>> It used to use /var/run/ as runtime dir and it succeeded creating the mutex
>> It now fails to create it in /run/httpd/
>>
>> I don't have more clues :(
>>
>> It may be some change in apache but I couldn't find, I'll try to find
>> out more tomorrow
>
> If this is on the build system, perhaps the tmpfiles stuff isn't run for
> some reason and /run/httpd isnt't created. And then maybe code in apache
> tries to mkdir /run/httpd and that's where the permission denied error
> comes from?
>
> /me is clutching at straws here :)

It seems things are more complicated :)
It used to use ServerRoot + /logs/ (/etc/httpd/logs) which is a
symlink to /var/log/httpd, but seem to now always use /run/httpd, even
when ServerRoot is different.
That's why the tests used to work: they were using a local t/ as
ServerRoot and using t/logs/.

But I am now wondering if the feature in normal usage has ever worked
given that /var/log/httpd permissions are not more open


More information about the Mageia-dev mailing list