Plone 4 is an open source content management system (CMS). It’s an elegant, extensible solution for document and content control. Large companies, including Apple, use Plone. I’m evaluating CMS solutions and was pleased to find that Plone has a Mac OS X installer.

I tried to install the OS X installer and chose the local installation option. The installation process never completed. About halfway through the installation process I received the following error message:

Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Copying buildout skeleton
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Fixing up bin/buildout
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Running buildout; this takes a while...
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Buildout returned an error code: 1; Aborting.
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Buildout failed. Unable to continue
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: Installation has failed.
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: See the detailed installation log at /tmp/install.log
Nov 8 14:13:34 bibracte installd[71515]: ./postinstall: to determine the cause.

The /tmp/install.log file indicated that the Zope 2.12.10 Python distribution was missing.

Detailed installation log
Starting at Mon Nov 8 14:13:34 EST 2010
Creating directory '/Applications/Plone/zinstance/parts'.
Creating directory '/Applications/Plone/zinstance/develop-eggs'.
Couldn't find index page for 'Zope2' (maybe misspelled?)
Getting distribution for 'Zope2==2.12.10'.
While:
Installing.
Getting section instance.
Initializing section instance.
Installing recipe plone.recipe.zope2instance.
Getting distribution for 'Zope2==2.12.10'.
Error: Couldn't find a distribution for 'Zope2==2.12.10'.

Quick search for solutions did not return an easy way to install Zope 2.12.10, except by using MacPorts (which requires XCode and XWindows). One article that mentioned possibly using the unified Linux installer. I created a Ubuntu virtual machine (VM) using Parallels for the Linux Plone version and downloaded the unified installer for Linux. Surprise! The readme file for the Linux installer indicated that it could also be used with Mac OS X.

I followed the command line instructions (copied and pasted code) to install and configure Plone. I reviewed the config file Plone/zinstance/buildout.cfg and it looked okay so I did not run the buildout process. Ran the command to start Plone: /Plone/zinstance/bin/plonectl start and received an error message:

bibracte:PLone-4.0.1-UnifiedInstaller $ /Plone/zinstance/bin/plonectl start
instance: . . Traceback (most recent call last):
File "/Plone/buildout-cache/eggs/zdaemon-2.0.4-py2.6.egg/zdaemon/zdrun.py", line 745, in
main()
File "/Plone/buildout-cache/eggs/zdaemon-2.0.4-py2.6.egg/zdaemon/zdrun.py", line 742, in main
d.main(args)
File "/Plone/buildout-cache/eggs/zdaemon-2.0.4-py2.6.egg/zdaemon/zdrun.py", line 241, in main
self.run()
File "/Plone/buildout-cache/eggs/zdaemon-2.0.4-py2.6.egg/zdaemon/zdrun.py", line 245, in run
self.opensocket()
File "/Plone/buildout-cache/eggs/zdaemon-2.0.4-py2.6.egg/zdaemon/zdrun.py", line 267, in opensocket
sock.bind(tempname)
File "", line 1, in bind
socket.error: [Errno 22] Invalid argument
. . . . . . . . .
daemon manager not running

The above error message (“socket.error”) indicated that maybe something was wrong with the network settings in the Plone config files. I went through the config file (mentioned earlier) and through the zdrun.py file and did not find anything wrong. The instructions that I followed from the included Readme.html file did not indicate that a web server should be started with Plone. Mac OS X Server has a built-in web service, which was started and properly configured. I only wanted to run Plone on localhost.

On a hunch, a quick web search turned up other installation instructions on Red Turtle for OS X that included and different start instructions. Running these commands finally got Plone up:

  • Run the buildout: ./bin/buildout
  • Start Plone: ./bin/instance fg
  • Then type this URL in your browser: http://localhost:8080

Related Images: