Debug Apache on a FileMaker Server

Since FileMaker Server version 13, FMS has used its own Apache configuration files on macOS instead of just adding includes to the OS configuration files. Because of this, the technique I mentioned here no longer works for newer systems. This new arrangement has reduced issues for FileMaker Server’s web connectivity.

But updates or other changes can still cause the httpd process to fail to start up, and all you’ll see is something like this in the system log:

Jan 18 13:13:14 myservername com.apple.xpc.launchd[1] (com.filemaker.httpd.start[574]): Service exited with abnormal code: 1

If you check on the startup process, you’ll eventually end up at the script at /Library/FileMaker Server/HTTPServer/bin/httpdctl. We can use that to determine the needed environment variables and the command to run.

First, you’ll want to be in the Terminal as root, so type:

sudo -s

Then paste the following into your Terminal window:

HTTPD_CONF=httpd.conf
HTTP_ROOT="/Library/FileMaker Server/HTTPServer"
SERVER_NAME=$(hostname)
export HTTP_ROOT
export SERVER_NAME

Now we can start up Apache using the same command as FMS, except that we’ll increase the logging level:

/usr/sbin/httpd -e debug -k start -D FILEMAKER -f "$HTTP_ROOT/conf/$HTTPD_CONF"

On a server recently, I got the output below. The first part was all normal, but near the end I got some useful output:

[Wed Jan 18 13:14:42.113842 2017] [so:debug] [pid 593] mod_so.c(266): AH01575: loaded module access_compat_module from /usr/libexec/apache2/mod_access_compat.so
[Wed Jan 18 13:14:42.114604 2017] [so:debug] [pid 593] mod_so.c(266): AH01575: loaded module alias_module from /usr/libexec/apache2/mod_alias.so
...snip...
[Wed Jan 18 13:14:42.135377 2017] [so:debug] [pid 593] mod_so.c(266): AH01575: loaded module version_module from /usr/libexec/apache2/mod_version.so
AH00526: Syntax error on line 78 of /Library/FileMaker Server/HTTPServer/conf/extra/httpd-ssl.conf:
Setting Compression mode unsupported; not implemented by the SSL library

Line 78 of httpd-ssl.conf had this in it:

SSLCompression off

So now I finally know what the issue is: due to a security issue, SSL compression in Apache was completely removed by an OS update, so I need to disable or remove line 78. At this point, Apache would now start normally, and the issue was resolved.

For another server recently, the execution of httpd ran cleanly, but still exited when done. In this case, the copies of the SSL files that FileMaker makes in /Library/FileMaker Server/HTTPServer/conf were stale. I removed the .pem and .key file and restarted Apache with fmsadmin command:

fmsadmin start httpserver

Simon

Leave a Reply