Using MoinMoin Wiki on Mac OS X can be a little bit more elegant by using the Mac OS X launchd service. I wanted to start the MoinMoin standalone wiki server on my Mac only if I needed it – meaning I only want to start MoinMoin if I access a wiki page through my browser. So here lauchd comes in action. Detailled information on launchd and it’s PLIST-Format is given at the Apple website .It’s a service which combines standard UNIX services like crond, inetd and the init loading mechianism.
So how to achieve the automatic on-demand start-up of MoinMoin.
Open a console (Terminal) and create a launchd .plist File in one of the launchd startup directories:
sudo vim /Library/LaunchAgents/in.moinmoin.wikiserver.plist
The content of this file should be (assuming you extracted the MoinMoin archive to /Applications/moin):
<?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>Label</key> <string>in.moinmoin.wikiserver</string> <key>ProgramArguments</key> <array> <string>/Applications/moin/wikiserver.py</string> </array> <key>Sockets</key> <dict> <key>MoinMoin</key> <dict> <key>SockFamily</key> <string>IPv4</string> <key>SockServiceName</key> <string>8080</string> </dict> </dict> <key>RunAtLoad</key> <false/> <key>OnDemand</key> <true/> <key>LaunchOnlyOnce</key> <true/> </dict> </plist>
If you want to launch your configuration now (at next system startup it’s done automatically) just enter:
launchctl load /Library/LaunchAgents/in.moinmoin.wikiserver.plist