Apache
While I decided against a packaged install for Plone, I did in fact choose to integrate with the Apache instance that is bundled with OS X. I made this decision based on five considerations:
- Unlike Plone, Apache is integrated with the operating system to begin with; I judged working with it to be less risky/costly than working against it, especially on my first time out on OS X.
- The differences between a standard Apache install and OS X's are fairly well documented in the conf files and on the web.
- There was very little I wanted to do that could not be done from the GUI.
- The Apache GUI gives the client a chance to get their hands on their website in a tangible fashion. It is part of the Server Admin utility.[5]
- I mean, c'mon, candy is yummy.
The one thing I couldn't do from Server Admin was RewriteRules. You can configure Alias and Redirect directives from there, but to implement RewriteRules (which are what I am used to) you have to edit the conf files by hand. Apache keeps a separate conf file for each virtual host that you configure through the GUI. This means that you don't have to touch httpd.conf, so your customizations are pretty well-isolated.
This is the point at which I decided to tap the Apple Consultant Network. I had researched enough to feel fairly comfortable that Server Admin was not going to overwrite my manual changes, but I didn't find anything directly applicable on the web, and I wanted a little more assurance for such a weak link in the chain.
I found a local company on consultants.apple.com and ended up hearing back from both principals within 5 minutes of calling their Help Desk, after hours even! I made a local business connection, and they answered my question for free! (They have an "under 15 minutes" policy.) In fact, for the next job I would seriously consider simply outsourcing sysadmin to these guys. Not sure how well this represents the rest of the Network, but these Mac guys do tend to be zealots, no?
One other note here: Server Admin complains if a website does not have a DocumentRoot (which it calls a "Web folder"). For this reason I created a dummy directory at /usr/local/zope/htdocs/. I put a README in there explaining its purpose, and left it at that.
Another slight advantage to using the bundled Apache install was that it is preconfigured to start automatically on boot-up. However, I had to manually configure Zope to do the same.
Notes
[5] You can find this program at Applications > Server > Server Admin
How do you set plone to respond to port 80 on Mac OS 10.4.3 Server
I have a Mac OS X 10.4.3 Server web site called "sitename.department.wisc.edu". Plone responds to the same name at port 8200 (http://sitename.department.wisc.edu:8200). I have read through the docs etc but it is not clear to me how to get my plone site to remap to port 80 i.e. (http://sitename.department.wisc.edu) it seems that I should be able to setup something in the Web Server Admin GUI. And then edit the httpd.conf. It is not clear to me how to do this with Mac OS X Server. Simply changing the port number does not work. I have installed using the standard Mac Plone installer. This works fine except getting apache to see it. Other docs either skip other this part or are for a different distribution. I should mention that I have two other virtual web sites (site2, site3)running on the same box. The GUI Admin allowed me to setup these two other sites with different names on the same port 80. i.e. multiple dns names point to the same box and port, apache directs them appropriately. Thanks!