2014-11-09 2 views
1

После обновления до Yosemite я больше не могу использовать свой веб-сервер. Он был настроен на прием SSL-соединений на порт 443, но теперь netstat -a -n говорит, что он даже не прослушивает этот порт. Я посмотрел в /etc/apache2 и заметил, что extra/ был перемещен в original/extra, поэтому я переместил его назад. Была также копия httpd.conf в original/, но временная метка и размер остались неизменными, а diff показал, что он был идентичен моему оригиналу httpd.conf. Единственным другим файлом в /etc/apache2, который имеет новую временную метку, является users/, но ничего в этом каталоге не изменяется.Apache больше не сервер SSL после обновления Yosemite

Все мои файлы сертификатов в ssl/ все еще имеют правильные разрешения. Я ничего не вижу в /var/log/apache2/error_log (кроме обычных сообщений о запуске). На самом деле, даже если я пытаюсь получить доступ к веб-серверу на порту 80, я ничего не получаю ни в error_log, ни в access_log, хотя я неожиданно получаю 403 Forbidden на каждой странице, к которой я пытаюсь получить доступ.

Я читал о проблемах с обновлением Apache Apache с версии 2.2 до 2.4, но мой веб-сервер даже не кажется функциональным до исправления какой-либо ошибки, вызванной этим. В любом случае, я попробовал решение here, но мой файл httpd.conf не содержит никаких строк Order или Allow (а также никаких файлов в extra /), поэтому я не могу попробовать предложенный там ответ.

ответ

4

ОК, это старая тема, но вот ответ.

Я считаю, что вам нужно раскомментировать несколько строк в httpd.conf.

Пробег:

sudo vi /etc/apache2/httpd.conf 

раскомментируйте следующие строки:

#LoadModule ssl_module libexec/apache2/mod_ssl.so 

#Include /private/etc/apache2/extra/httpd-ssl.conf 

Простой Хитрость заключается в том, чтобы найти файл конфигурации с помощью VIM, чтобы найти строки, относящиеся к SSL и отлаживать оттуда.

В VIM, следующие будут найти все экземпляры ... SSL нажмите п, чтобы перейти к следующему найден экземпляр:

?ssl 

После того, как вы внесли изменения, проверить конфигурацию с помощью:

sudo apachectl configtest 

Если все хорошо, запустите:

sudo apachectl restart 

Если вы получите следующее сообщение об ошибке:

SSLCertificateFile: Файл «/private/etc/apache2/server.crt» не существует или пусто

Создать самоподписанный SSL сертификат по умолчанию:

cd /private/etc/apache2 

openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key 

Введите локальный при запросе вашего Распространенное имя.

Затем запустите configtest и, если все хорошо, перезапустите.

Смежные вопросы