April 2008


Installing the basic mailserver on Leopard

We’ll the new server is proving it’s worth. As it is running Leopard I finally had a machine permanently available to test it out in the real world. So I’ve checked and double checked all the install instructions and they all work. Still to do is adding DSPAM and Maildrop but that won’t take that long. When that is done I’ll write some documents on upgrading!

The only problem I haven’t tackled yet is how to start postfix using the new launchctl plist files. I can’t get it to start properly. If someone can show me how it’s done I would greatly appreciate it.

Update: Allright, persistence has paid off. I’d kept googling and searching the Apple support pages and found the answer on how to start postfix using launchd. The documentation has been updated to reflect the new findings.

Migrated to macminicolo!

If you are reading this the page has been fed from the new server at macminicolo.net. I hope you like the new speed. Now this is finished and most of the design has been tweaked I now can spend some time on writing some more documentation again. I hope to get the Leopard specifics for the installation grouped into one place, the aim is to get this done before the end of May.

Migrating the site to macminicolo.net

You all might have noticed the new sponsor banner on the new site for macminicolo.net on the right hand site and wondered why. The thing is I’ve decided to move my server from home to macminicolo.net to keep providing this website and service to the best of my abilities.

It’s not something I decided on a easily, I was always proud to be able to host all the sites with their respective email server from my home using my simple DSL connection. But lately the stability of my DSL connection has gone down. I’ve had two outages this year alone.

I used to have my DSL connection with a small reputable ISP which delivered great service. Whenever you needed assistance you could call the help-desk and someone who actually understood what you where talking about was able to help you and get you going again. But consolidation is the name of the game and large ISP’s are buying the smaller ones and the service deteriorates rapidly. Whenever I call now they tell be to reboot the computer as they assume I’ve got a Windows machine and all the questions are scripted as with any call-center.

I still believe that it is possible to host from home using your DSL line, the outages I had never lasted longer than half a day. Which meant that I would never loose any mail. But too many people are currently depending on my server to be up and running 24/7. If you don’t have that requirement and can live with 99% uptime instead of 99.999% you’ll be fine hosting at home.

Brian Stucky offered me a great deal at macminicolo.net which made the decision to go outdoor a lot easier. In exchange I’m putting a banner on the site to return the favor. I think he is running a great service for us Mac lovers who want to use a mini as their server platform. He’s very quick to respond to any question I had, even the outlandish ones. Besides the standard packages macminicolo offers there is room to customise the offer to your needs. I will keep posting on my experiences with macminicolo but untill now they are excellent… TUAW recently tested macminicolo and they liked it as well.

An additional benefit might be that the site might become a bit more responsive as the bandwidth will be a lot better.

PS. If fiber to my home becomes affordable (which will take a few years) I will reconsider my options again!

Another update on Apache 2.2.8 and mod_ssl

Here is another episode in the problems with the mod_ssl module in Apache on Leopard. But it is a positive one. Because of the latest security update 2008-2 the default Apache install on OS X Leopard is now 2.2.8. This means we can upgrade our version as well and copy the mod_ssl module from the original installation as done previously.

I’ve looked for more workarounds, but they are all a bit drastic or don’t work. The one I haven’t tried yet is upgrading libtool as I’m not sure that would help and not break any other stuff.

You only need to do this if you need mod_ssl, if you can live without it just follow the normal installation instructions.

Starting MySQL on Leopard the new way

We used to use the /etc/hostconfig file for determining which programs should start at boot time on our Mac. Apple however has decided that this will stop in future versions and that they will move over to launchd, it is currently used in Leopard and is the prefered way in controlling your deamons. You can read more about it on the AFP548 site and the manpages for lauchd, launchctl and plist.

To enable it we need to create a .plist file with all the details, as MySQL is a system wide application we need to put it in /System/Library/LaunchDaemons/ and I’m going to call it com.diymacserver.mysql.plist. The content of the file will look like:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
  <key>Label</key>
  <string>com.diymacserver.mysql</string>
  <key>KeepAlive</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/mysql/bin/mysqld</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>UserName</key>
  <string>_mysql</string>
  <key>WorkingDirectory</key>
  <string>/usr/local/mysql</string>
</dict>
</plist>

The label key should be the same as the plist file name without the .plist
The KeepAlive option will restart MySQL when it crashes or is stopped.
The RunAtLoad means it will start at boot time.
The UserName option indicates under which user the program should start.

To load and activate the .plist file and to make sure that it is started after a reboot you’ll need to load the plist file by using the command:

sudo launchctl load /System/Library/LaunchDaemons/com.diymacserver.mysql.plist

You can see if it loaded correctly by using the command:

sudo launchctl list

This will show you all the active plist files.

You can see if everything went correctly by trying to start the mysql instance.

sudo launchctl start com.diymacserver.mysql

To stop the instance you could use:

sudo launchctl stop com.diymacserver.mysql

Bu because of the KeepAlive option it will be restarted.

To stop the script being run at boot time you need to unload the plist file.

sudo launchctl unload /System/Library/LaunchDaemons/com.diymacserver.mysql.plist

Next Page »