Redhat "httpd"를 시작할 수 없습니다. "suEXEC" 및 "SELinux" 알림 표시

Redhat "httpd"를 시작할 수 없습니다. "suEXEC" 및 "SELinux" 알림 표시

저는 RHEL 6.5과 Apache를 사용합니다 2.2.15. restart였을 때는 더 이상 시작할 httpd수 없었습니다 httpd. 다음을 표시합니다 /var/log/httpd/error_log.

[Fri Aug 01 18:31:48 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:32:35 2014] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Fri Aug 01 18:32:35 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:42:46 2014] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Fri Aug 01 18:42:46 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:43:15 2014] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Fri Aug 01 18:43:15 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:43:59 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:44:12 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Aug 01 18:45:03 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

실제로 disabled재부팅했습니다 SELinux.
무엇을 해야 할지 말해 주실 수 있나요?

답변1

죄송합니다. 이유를 찾았습니다. 그것은 모두 SSL CERT문제에 관한 것입니다. 위의 이유 때문은 아닙니다 notices.


위의 메시지와는 아무런 관련이 없습니다.
그러므로 그들을 무시하십시오.


어떻게 해야 할까요? Apache 상세 로깅을 활성화하면 실제 작업이 시작됩니다. Apache를 시작할 때 mod_ssl 모듈을 로드하지 못하는 현상을 보여줌으로써 실제로 무슨 일이 일어나고 있는지 보여줍니다. 그러다가 이것이 ssl.conf내부에 SSL 인증서(또는 해당 가상 호스트 파일)가 구성되어 있기 때문이라는 것을 깨달았습니다 .

나는 거기에서 두 가지 실수를 저질렀습니다. 첫째, CERT 관련 파일(.crt/.key/.csr)에 대한 읽기 권한을 부여하지 않았습니다. 그런데 설상가상으로 파일 중 하나에 오류가 발생했습니다.

답변2

Apache Error [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

어느 화창한 아침, Apache(httpd) 서비스가 다운되어 시작되지 않는다는 사실을 발견했습니다. :)

1단계: httpd 서비스 상태 확인:

#/etc/init.d/httpd status

httpd는 죽었으나 pid 파일은 존재합니다

2단계: httpd 프로세스를 검색하고 종료합니다.

#ps -ef | grep httpd

# killall -9 httpd

3단계: httpd 잠금 파일이 있는 경우 삭제합니다.

# rm -f /var/lock/subsys/httpd

4단계: Apache/httpd 서비스 다시 시작

# service httpd restart
Stop httpd    [FAILED]
Start httpd   [FAILED]

추가 발굴이 필요합니다.

5단계: httpd 오류 로그 파일 확인

# grep suexec /var/log/httpd/error_log
[Sun Sep 22 10:32:06 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Sep 22 10:33:51 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Sep 22 10:38:03 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Sep 22 10:45:53 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

6단계: httpd nss 오류 로그 파일 확인

#tail -300 /var/log/httpd/nss_error_log
[Sun Sep 22 04:03:27 2013] [error] Certificate not verified: 'Server-Cert'
[Sun Sep 22 04:03:27 2013] [error] SSL Library Error: -8181 Certificate has expired
[Sun Sep 22 04:03:27 2013] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.

[Sun Sep 22 10:38:03 2013] [error] Certificate not verified: 'Server-Cert'
[Sun Sep 22 10:38:03 2013] [error] SSL Library Error: -8181 Certificate has expired
[Sun Sep 22 10:38:03 2013] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.
[Sun Sep 22 10:45:53 2013] [error] Certificate not verified: 'Server-Cert'
[Sun Sep 22 10:45:53 2013] [error] SSL Library Error: -8181 Certificate has expired
[Sun Sep 22 10:45:53 2013] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.

이 문제의 근본 원인은 nss라는 모듈에 있습니다. mod_nss대안입니다 . 수행하지 않는 mod_ssl작업을 수행하며 병렬로 실행될 수 있습니다 . 자세한 내용은 [mod_nss란 무엇입니까, Mod_NSS 설정 정보, 자세한 내용] 링크를 참조하세요.mod_sslmod_ssl

7단계: httpd conf.d 디렉터리에서 nss.conf 파일 삭제

#cd /etc/httpd/conf.d
#mv nss.conf nss.conf.orig
#mv ssl.conf ssl.conf.orig
#/etc/init.d/httpd start
Start httpd   [OK]

답변3

CentOS 6에서 mod_ssl을 다시 설치 하고 yum erase mod_ssl.yum mod_ssl

답변4

이것은 내 문제를 해결했습니다.

yumpurge () 
{ 
    if [[ $# -eq 0 ]]; then
        echo "usage:
            removes packages including config files
            example:
            $0 ['pkg1 pkg2 pkgn']
            ";
        return 0;
    fi;
    for package in "$*";
    do
        echo "removing config files for $package";
        for file in $(rpm -q --configfiles $package);
        do
            echo "removing $file";
            echo "enter any key to confirm";
            rm -i -f $file;
        done;
        rpm -e $package;
    done
}


yumpurge  mod_ssl   httpd
yum install -y httpd mod_ssl

관련 정보