0

I've had the default Mac Apache server running and everything was working fine. But I also needed OS X Server for Xcode unit test automation and DNS services, so I installed it today.

Since the installation of OS X Server, however, Apache has stopped working. http://127.0.0.1 has become inaccessible, as has http://localhost, even though the Websites service has been activated in OS X Server.

Checking the error log, I see this:

[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

So apparently, there is an error initializing the mod_ssl module. Now thing is, in the default httpd.conf in /etc/apache2/, mod_ssl wasn't active in the first place (and still isn't, I've checked), so apparently, OS X Server is starting a different instance of Apache than the usual one.

Checking which apachectl, however, I still get the usual /usr/sbin/apachectl, yet when doing a /usr/sbin/apachectl restart, a new batch of the same error messages appears in the Apache error log.

I try deactivating the Websites in OS X Server, and then starting apachectl, but then the green light shows up in OS X Server, so clearly the OS X Server and apachectl are now referring to the same instance of Apache.

What I am wondering is this: How can I run the previous, OS X default version of Apache without uninstalling OS X Server?

I have tried uninstalling OS X Server, and after having done so, Apache immediately started working again, and then it stopped again once I reinstalled Server. Thanks very much in advance.

EDIT: In the error log, there it says that the passphrase for the key is incorrect. However, there is no passphrase either for the key or the certificate.

1 Answer 1

1

You can read the source code of /usr/sbin/apachectl.

apachectl start/restart/stop calls launchctl load -w $LAUNCHD_JOB,and the job is a launch plist config /System/Library/LaunchDaemon/org.apache.httpd.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>EnvironmentVariables</key>
    <dict>
        <key>SERVER_INSTALL_PATH_PREFIX</key>
        <string>/Applications/Server.app/Contents/ServerRoot</string>
        <key>XPC_SERVICES_UNAVAILABLE</key>
        <string>1</string>
    </dict>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/httpd-wrapper</string>
        <string>-D</string>
        <string>FOREGROUND</string>
        <string>-f</string>
        <string>/Library/Server/Web/Config/apache2/httpd_server_app.conf</string>
        <string>-D</string>
        <string>WEBSERVICE_ON</string>
    </array>
</dict>
</plist>

The job calls httpd-wrapper with the /Library/Server/Web/Config/apache2/httpd_server_app.conf config file.

Therefore, the solution is to call sudo apachctl without any parameters, which will call httpd with the default config file (/etc/apache2/httpd.conf).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .