Ошеломлен и смущен настройкой Apache с поддержкой SSL
Я потратил несколько часов, пытаясь настроить свой сервер Apache для использования SSL без публичного IP-адреса, только для localhost. Я думаю, что я создал сертификат ОК (для меня это было похоже на ускоренный курс по черной магии), и когда я пытаюсь получить доступ к https://localhost/, браузер говорит "Подключен к localhost..." на строка состояния, но просто продолжает загружаться вечно. Вот фрагмент из error_log
:
[Fri Mar 27 22:03:39 2009] [info] Loading certificate & private key of SSL-aware server
[Fri Mar 27 22:03:39 2009] [info] Configuring server for SSL protocol
[Fri Mar 27 22:03:39 2009] [info] Loading certificate & private key of SSL-aware server
[Fri Mar 27 22:03:40 2009] [info] Configuring server for SSL protocol
там все вроде бы нормально, но, тем временем ssl_engine_log
...
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing OpenSSL library
[Fri Mar 27 22:03:39 2009] [info] Init: Seeding PRNG with 136 bytes of entropy
[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing (virtual) servers for SSL
[Fri Mar 27 22:03:39 2009] [info] mod_ssl/2.0.61 compiled against Server: Apache/2.0.61, Library: OpenSSL/0.9.7i
[Fri Mar 27 22:03:39 2009] [warn] module php5_module is already loaded, skipping
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing OpenSSL library
[Fri Mar 27 22:03:39 2009] [info] Init: Seeding PRNG with 136 bytes of entropy[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Mar 27 22:03:40 2009] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Mar 27 22:03:40 2009] [info] Init: Initializing (virtual) servers for SSL
[Fri Mar 27 22:03:40 2009] [info] mod_ssl/2.0.61 compiled against Server: Apache/2.0.61, Library: OpenSSL/0.9.7i
[Fri Mar 27 22:03:40 2009] [notice] Digest: generating secret for digest authentication ...
[Fri Mar 27 22:03:40 2009] [notice] Digest: done
[Fri Mar 27 22:03:40 2009] [notice] Apache/2.0.61 (Unix) mod_ssl/2.0.61 OpenSSL/0.9.7l DAV/2 PHP/5.2.5 configured -- resuming normal operations
[Fri Mar 27 22:03:40 2009] [info] Server built: Jan 17 2008 17:33:42
[Fri Mar 27 22:03:40 2009] [emerg] (13)Permission denied: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.
[Fri Mar 27 22:03:40 2009] [emerg] (13)Permission denied: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.
... многим больше нравятся эти две последние строки, пока я наконец не остановлю сервер...
[Fri Mar 27 22:03:43 2009] [info] removed PID file /usr/local/apache2/logs/httpd.pid (pid=8786)
[Fri Mar 27 22:03:43 2009] [notice] caught SIGTERM, shutting down
некоторые прибегают к этому permission denied
и apr_proc_mutex_lock
неудача не принесла ничего полезного. Только некоторые результаты, относящиеся к MPM и опциону perchild, но так как они были стары (2002 и 2003 годы), и я не могу сделать какие-либо выводы после их прочтения, я спрашиваю вас, есть ли способ преодолеть эту проблему. Ну, во-первых: в чем собственно проблема? Есть ли какая-либо несовместимость между модулями? Должен ли я что-то перекомпилировать (пожалуйста, Господи, не снова, нет)?
Заранее спасибо.
1 ответ
Просто будьте благодарны, что вы не используете apache 1.3- было намного сложнее запустить SSL на этом!
Для работы mod_ssl необходимо разрешение на запись в пару файлов. Посмотрите на этот параметр и убедитесь, что apache имеет доступ на запись в каталог, в котором находится файл. Например, если говорит (например):
SSLMutex file:/var/run/apache/ssl.mutex
Вы должны подтвердить, что Apache может написать в /var/run/apache
,
Почти все эти ошибки обычно являются ошибкой разрешения в файловой системе.