서비스 httpd가 시작되지 않습니다. fcgid가 공유 메모리를 생성할 수 없습니다.

서비스 httpd가 시작되지 않습니다. fcgid가 공유 메모리를 생성할 수 없습니다.

이유는 잘 모르겠지만 httpd 서비스를 시작하려고 하면 시작되지 않습니다.

서버 구성:

OS: CentOS 5.10
PHP: 5.5.7
Apache: 2.2.3

무슨 일이 일어나고 있는지 알아낸 방법은 다음과 같습니다.

$ sudo service httpd start
Starting httpd:                                            [  OK  ]
$ sudo service httpd status
httpd dead but subsys locked

그래서 httpd용 subsys 파일을 삭제하고 다시 시도했지만 또 실패했습니다.

fcgid를 추가하는 과정은 다음과 같습니다.

  1. 소스에서 mod_fcgid를 빌드하여 /etc/httpd/modules 디렉토리에 넣었습니다.

  2. LoadModule fcgid_module modules/mod_fcgid.so모듈 목록에 추가했습니다.

  3. LoadModule cgi_module modules/mod_cgi.so필요없을 것 같아서 댓글을 달았습니다 .

  4. PHP용 래퍼 스크립트를 만들어 /var/www/cgi-bin에 배치했습니다.

  5. 래퍼를 가리키는 PHP용 핸들러를 만들었습니다.

  6. 그런 다음 httpd 서비스를 시작하려고 합니다.

다음은 /var/log/httpd/error_log에 발생한 오류입니다.

[Mon Dec 16 12:18:26 2013] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Mon Dec 16 12:18:26 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Dec 16 12:18:26 2013] [notice] SSL FIPS mode disabled
[Mon Dec 16 12:18:26 2013] [notice] Digest: generating secret for digest authentication ...
[Mon Dec 16 12:18:26 2013] [notice] Digest: done
[Mon Dec 16 12:18:26 2013] [emerg] (17)File exists: mod_fcgid: Can't create shared memory for size 1200712 bytes

"파일 종료"라는 메시지가 표시되지만 이름에 "fcgi"가 포함된 추가 파일을 모든 곳에서 검색했지만 아무 것도 찾을 수 없습니다.

이것이 권한 문제인지, 아니면 SELinux 관련 문제인지, 아니면 suEXEC인지 잘 모르겠습니다.

어디서부터 검색을 시작해야 할지 모르기 때문에 조언을 주시면 감사하겠습니다.


다시 시도했는데 이번에는 오류가 약간 달랐습니다.

[Mon Dec 16 12:50:23 2013] [emerg] (13)Permission denied: mod_fcgid: Can't create shared memory for size 1200712 bytes

어떤 폴더나 파일의 소유권을 변경해야 하는지 잘 모르겠습니다.


SELinux를 로 설정 permissive하면 프로세스가 문제 없이 시작될 수 있습니다. 하지만 SELinux를 그대로 두고 싶지는 않습니다. Apache, fcgid, PHP가 SELinux에서 함께 작동하도록 허용하는 방법에 대해 또 다른 질문을 할게요.

답변1

부품을 테스트하려면 SELinux비활성화하고 그것이 문제의 원인인지 확인하십시오.

[alexus@XXXXXXXXXX ~]$ getenforce 
Enforcing
[alexus@XXXXXXXXXX ~]$ sudo setenforce 0
[alexus@XXXXXXXXXX ~]$ getenforce 
Permissive
[alexus@XXXXXXXXXX ~]$ 

그리고 혹시 chroot로 실행 중이신가요? FreeBSD 시절에도 비슷한 문제가 있었지만 그것은 감옥/chroot와 관련이 있었습니다.

관련 정보