Сайты сервера OS X, мешающие работе Apache по умолчанию
1175
arik-so
У меня был установлен сервер Mac Apache по умолчанию, и все работало нормально. Но мне также понадобился OS X Server для автоматизации модульного тестирования Xcode и службы DNS, поэтому я установил его сегодня.
Однако после установки OS X Server Apache перестал работать. http://127.0.0.1стала недоступной, как это было http://localhost, хотя служба веб-сайтов была активирована в OS X Server.
Проверяя журнал ошибок, я вижу это:
[Fri Aug 22 20:22:38.678378 2014] [ssl:emerg] [pid 636] AH02580: Init: Pass phrase incorrect for key ::1:443:0 [Fri Aug 22 20:22:38.678753 2014] [ssl:emerg] [pid 636] SSL Library Error: error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag [Fri Aug 22 20:22:38.678775 2014] [ssl:emerg] [pid 636] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag [Fri Aug 22 20:22:38.678798 2014] [ssl:emerg] [pid 636] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA) [Fri Aug 22 20:22:38.678817 2014] [ssl:emerg] [pid 636] SSL Library Error: error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib [Fri Aug 22 20:22:38.678831 2014] [ssl:emerg] [pid 636] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error_log for more information [Fri Aug 22 20:22:38.678840 2014] [ssl:emerg] [pid 636] AH02564: Failed to configure encrypted (?) private key ::1:443:0, check /etc/certificates/[...].key.pem AH00016: Configuration Failed
Таким образом, очевидно, что при инициализации mod_sslмодуля произошла ошибка . Теперь дело в по умолчанию httpd.confв /etc/apache2/, mod_sslне был активен в первую очередь (и до сих пор нет, я проверил), так что, по- видимому, OS X Server начинает другой экземпляр Apache, чем обычной.
Проверяя which apachectl, однако, я все еще получаю обычное /usr/sbin/apachectl, но при выполнении /usr/sbin/apachectl restartновой партии тех же сообщений об ошибках появляется в журнале ошибок Apache.
Я пытаюсь деактивировать веб-сайты в OS X Server, а затем запустить apachectl, но затем в OS X Server появляется зеленый свет, поэтому ясно, что OS X Server и apachectl теперь ссылаются на один и тот же экземпляр Apache.
Что меня интересует, так это: Как я могу запустить предыдущую версию Apache для OS X по умолчанию, не удаляя OS X Server?
Я попытался удалить OS X Server, и после этого Apache сразу же снова начал работать, а затем снова остановился после переустановки Server. Большое спасибо заранее.
РЕДАКТИРОВАТЬ: В журнале ошибок там говорится, что пароль для ключа неверен. Тем не менее, нет ни ключевой фразы ни для ключа, ни для сертификата.
1 ответ на вопрос
1
hui xue
Вы можете прочитать исходный код /usr/sbin/apachectl.
apachectl start/restart/stopзвонки launchctl load -w $LAUNCHD_JOB, и работа представляет собой запуск конфигурации Plist/System/Library/LaunchDaemon/org.apache.httpd.plist
Работа вызывает httpd-wrapperс /Library/Server/Web/Config/apache2/httpd_server_app.confфайлом конфигурации.
Поэтому решение состоит в том, чтобы вызывать sudo apachctlбез каких-либо параметров, что вызовет httpdс помощью файла конфигурации по умолчанию ( /etc/apache2/httpd.conf).