Apache не остановится / стартует изящно

CentOs 6 64bit работает под управлением Apache 2.2.15-29.el6.centos. Когда я пытаюсь остановить / запустить или перезапустить httpd, появляется сообщение об ошибке. Хвост журнала ошибок находится ниже. Я также заметил, что файл httpd.pid не создается, даже если он настроен в основном файле conf.

Если я установлю selinux на permissive, он будет работать нормально. Я не хочу запускать его с отключенным selinux. Если я удалю файл SSL_Mutex, он запустится.

HTTPD работал нормально, пока я не попытался добавить конфигурацию ssl. Я скопировал файл ssl.conf с рабочего сервера в папку conf.d. Я также скопировал папку sslcert в папку conf. Он содержит сертификаты, ключ, CSR и файл паролей. Я думаю, что проблема связана с контекстом selinux для папки sslcert, которая была скопирована, но я не уверен и не уверен, как это исправить.

Ниже приведен контекст безопасности для папки sslcert после выполнения restorecon -R sslcert
ls -Z

-rw-r--r--. root root system_u:object_r:httpd_config_t:s0 httpd.conf
-rw-r--r--. root root system_u:object_r:httpd_config_t:s0 magic
**drwxr-xr-x. root root system_u:object_r:httpd_config_t:s0 sslcert**

tail -f /var/log/httpd/error_log

[Thu Oct 17 13:33:19 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Oct 17 13:33:20 2013] [notice] Digest: generating secret for digest authentication ...
[Thu Oct 17 13:33:20 2013] [notice] Digest: done
[Thu Oct 17 13:33:20 2013] [warn] pid file /etc/httpd/logs/ssl.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Oct 17 13:33:20 2013] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations
[Thu Oct 17 21:04:48 2013] [notice] caught SIGTERM, shutting down
[Thu Oct 17 21:06:42 2013] [notice] **SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0**
[Thu Oct 17 21:06:42 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Oct 17 21:06:42 2013] [error] (17)File exists: Cannot create SSLMutex with file `/etc/httpd/logs/ssl_mutex'

Я также видел упоминание о возможных проблемах с семафорами. Ниже выводятся текущие семафоры, и apache в данный момент не работает.

ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root       600        1
0x00000000 65537      root       600        1

Наконец selinux сообщает о следующей ошибке.

`sealert -a /var/log/audit/audit.log`  
0% donetype=AVC msg=audit(1382034755.118:420400): avc:  denied  { write } for  pid=3393 comm="httpd" name="ssl_mutex" dev=dm-0 ino=9513484 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_log_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

100% doneERROR: failed to read complete file, 1044649 bytes read out of total 1043317 bytes (/var/log/audit/audit.log)
found 1 alerts in /var/log/audit/audit.log
--------------------------------------------------------------------------------

SELinux is preventing /usr/sbin/httpd from remove_name access on the directory ssl_mutex.

2 ответа

Решение

Подобная проблема появилась раньше:

http://www.redhat.com/archives/fedora-selinux-list/2004-December/msg00067.html

Проверьте, чтобы ssl mutex config был таким же, как в ssl.conf по умолчанию.

Надеюсь, поможет.

Если я установлю selinux на permissive, он будет работать нормально. Я не хочу запускать его с отключенным selinux. Если я удалю файл SSL_Mutex, он запустится.

добавить "rm -fv /path/to/apache/ssl_mutex_file" в сценарий инициализации httpd?

[Чт, 17 октября 21:06:42 2013] [error] (17) Файл существует: невозможно создать SSLMutex с файлом `/etc/httpd/logs/ssl_mutex'

отчасти хакерский, но должен работать. я обычно отключаю selinux на не общих серверах.

Другие вопросы по тегам