Tuesday, June 19, 2012

Use FileMaker Web Publishing in Apache

I've been tasked with nice-ifying the configuration and setup of the systems at work. They store a huge amount (244 GiB) of protein analysis data in a FileMaker database and have PHP scripts accessing the data through the FileMaker XML HTTP API. The problem is that the PHP scripts are running on Apache (as is an SVN repo), but FileMaker wants to publish its API only through IIS. Having spent more than a minute wrestling with configuring IIS, I want it out of my life ASAP. But that can't be done unless scripts have a way of talking XML to FileMaker on port 80. All hope seemed lost.

I thought about reverse proxying requests to FileMaker, since it exposes part of its API on a separate port (16020), but not all of the required functionality can be reverse proxied so easily. I could reverse proxy all of the FileMaker paths on IIS, but that doesn't help get rid of IIS and only makes things more complicated.

The answer came from this blog post from 2009 about this very same issue. I couldn't quite get things to work by following his directions and dug into the FileMaker web server config files.

The IIS module provided by FileMaker was nothing more than the generic IIS-to-Tomcat connector. There isn't anything IIS-specific about Tomcat, and the filter does nothing but point IIS towards a Jakarta config. That being the case, I read the Apache httpd docs and configured Apache the same way as IIS. Rather than replicating the Jakarta files, as the 2009 blog post did, I simply pointed Apache at them, leaving me with this configuration:

This was more hours of agony than it had any right to be, so I hope I can spare you, dear reader, some of the pain I felt.

No comments:

Post a Comment