我将 httpd 更新到了版本 2.4.57。我自己编译了 httpd,当我在环境中启动 httpd 时chroot
,我在日志中收到以下错误消息:
[Thu Jun 22 14:33:27.319378 2023] [slotmem_shm:error] [pid 3591] (13)Permission denied: AH02611: create: apr_shm_create(/log/slotmem-shm-p24af65f1_0.shm) failed
[Thu Jun 22 14:33:27.319470 2023] [proxy_balancer:emerg] [pid 3591] (13)Permission denied: AH01179: balancer slotmem_create failed
[Thu Jun 22 14:33:27.319477 2023] [:emerg] [pid 3591] AH00020: Configuration Failed, exiting
在我的httpd.conf
这部分中,我定义了以下值DefaultRuntimeDir
:
<IfDefine !DEV>
DefaultRuntimeDir /log
</IfDefine>
这是我在该目录上的权利:
drwxrwxrwx 4 web web 4096 Jun 22 13:32 log
我在这里遗漏了什么?
编辑
我试图追踪strace
在启动httpd
(open
和write
事件)期间访问了哪些文件,然后发现了以下行:
6579 open("/dev/shm/ShM.fc123de7H42c92a7", O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW|O_CLOEXEC, 0644) = -1 EACCES (Permission denied)
chroot
检查我的环境中的权限,/dev/shm
我得到这个输出
drwxr-xr-x 2 root root 40 Jun 22 16:58 shm
但我不确定这是否正确或者我可以在这里进行什么更改。