Назад | Перейти на главную страницу

Apache не останавливается / не запускается корректно

CentOs 6, 64-битный, под управлением 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.

Аналогичная проблема возникала раньше:

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

Убедитесь, что конфигурация ssl mutex такая же, как и в ssl.conf по умолчанию.

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

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

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

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

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