March 2008


Painfull testing, it could be better.

Currently supporting 2 OS X versions is a pain even without the PowerPC and Intel differences. Everytime I need to reboot my desktop from a different disk to test the setup and any changes. Luckily because of my virtual setup on the server I can access most of my stuff like email and blogs from everywhere without to much hassle but my iTunes library won’t. But I’m working on other stuff as well besides this project (one of them being a redesign of this site) and I can only do that from one of the OS’s as the test machine is also my desktop machine. I currently have two Mac mini’s, one G4 that is my production server and I use it to try out the PowerPC stuff and an Intel mini that is my primary desktop and test machine.

There are few possible solutions to ease my pain and give me greater flexibility and faster response time to changes and issues:

  • Get another primary Desktop!
    • Another mini would do it for me but it what would be the gain besides having another one. No performance increase, just another box.
    • An iMac would be nice but I already got a perfectly good display (23″ Cinema Display) wich would be a waste of money.
    • I would love to get a 8 core Mac Pro (basic setup) but it’s still expensive. Perhaps a second hand is a viable option.

    By the way, I don’t want a laptop. I don’t want to work everywhere. I’ve tried it and it is not my thing to work on the couch while watching a movie.

  • Virtualization!

    This would be the perfect solution but currently unobtainable due to licensing issues. Even if I will be running everything on a Mac it still isn’t allowed to run OS X workstation in a VM solution. Server is allowed in the near future but that would defy the purpose of using a workstation version instead of a server to do a server task. There are hacks that enable to run OS X in a VM solution but they all run on a host using Linux or Windows. I haven’t seen any hack that runs a guest OS X in a VM on a OS X host OS.

    If this would be possible (even unoffically) I would really love it as it would make my work a lot easier. I can imagine buying a 8 core Mac Pro and run a complete virtual server park on the single Mac and be able to test everything. I could even try out load balancing and fail overs.

    It would be great to be able to make a snapshot (instead of a disk image, which is slow and takes up a lot of disk space) and try something like an update and reverse it in case of problems or errors.

These are some the things I’ve been thinking to improve my situation but maybe I’m overlooking something obvious. I would love to hear about your ideas or suggestions as I haven’t decided on any of them yet.

Roundcube releases 0.1 a stable version

The developers at Roundcube finally decided to release version 0.1 as a stable release. I’ve been using the release candidates without problems for many months. A new thing I discovered is the installer pages which help you to setup your PHP and Apache settings to make it work correctly. Another new thing is the inclusion of TinyMCE to allow you to create HTML mail.

If you want to you can download the new version and start installing/upgrading. Download it from here.

Postfix updated and tested to 2.5.1

Postfix 2.5.1 had been released for a few weeks but I just got around to test it on both Tiger and Leopard. Both OS X version do not cause any problems. I did found out one error in the previous blogpost on the Leopard install instructions concerning the SASL include path which might have also caused the issues with 2.5.0. I’ve updated that post to reflect the changes. It will compile on Tiger without any changes.

The bugfixes introduced in 2.5.1 are:

  • The Postfix 2.5 “postfix upgrade-configuration” command now works even with Postfix 2.4 or earlier versions of the postfix command, instead of producing a main.cf file with an empty “data_directory” parameter value.
  • When installing Postfix 2.5.0 without upgrading from an existing master.cf file, the new master.cf file had an incorrect process limit for the proxywrite service. This service is used only by the obscure “smtp_sasl_auth_cache_name” and “lmtp_sasl_auth_cache_name” configuration parameters.
  • Someone needed multi-line support for header/body Milter replies.
  • The LDAP client’s TLS support was broken in several ways.

Win a hosted Mac mini and a Macbook Air

I don’t usually do this but I think I can get away with this as I consider it relevant to a lot of people reading this site. Even if they are hosting from home like I do. There is a contest going on at MacMiniColo (the hosting company that specialises in hosting mac mini’s). They will give away a year free hosting, including the mini and a Macbook Air for the best idea that you have in using a Mac server. Check the site for details.

If you are entering let me know. I’m not entering as I guess my use is a bit too obvious! Good luck with your entry!!!

Quick update on installing the mailserver on Leopard

I’m still very busy and I haven’t had time to rewrite the documentation to reflect all the changes needed to install the mailserver components on a Leopard based Mac.

But here is a quick instruction set on how to get every item compiled on Leopard. Use the documentation set for all the other instructions, here are only the differences in use for Leopard.

As a first you don’t need to install SASL anymore, it all works without it.

Postfix:
make -f Makefile.init makefiles \
CFLAGS=’-arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk’ \
CCARGS=’-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/usr/include/sasl \
-DHAS_PCRE -I/usr/local/include \
-DHAS_SSL -I/usr/include/openssl \
-DHAS_MYSQL -I/usr/local/mysql/include/mysql’ \
AUXLIBS=’-L/usr/lib -lldap -lsasl2 -L/usr/lib -llber -L/usr/local/lib \
-L/usr/local/lib -lpcre \
-lssl -L/usr/local/mysql/lib/mysql \
-lmysqlclient -lz -lm’

Courier Auth:
export MACOSX_DEPLOYMENT_TARGET=10.5
./configure --with-authmysql \
--without-authpam \
--with-mysql-libs=/usr/local/mysql/lib/mysql \
--with-mysql-includes=/usr/local/mysql/include/mysql

Courier Imap:
./configure --prefix=/usr/local \
--with-authpwd=YES \
--without-authcram \
COURIERAUTHCONFIG=/usr/local/bin/courierauthconfig

Create the vmail user:
sudo dscl . -create /Users/_vmail
sudo dscl . -create /Users/_vmail UserShell /usr/bin/false
sudo dscl . -create /Users/_vmail UniqueID 102
sudo dscl . -create /Users/_vmail PrimaryGroupID 102
sudo dscl . -create /Users/_vmail NFSHomeDirectory /var/empty
sudo dscl . -passwd /Users/_vmail ”

Create the dspam user:
sudo dscl . -create /Users/_dspam
sudo dscl . -create /Users/_dspam UserShell /usr/bin/false
sudo dscl . -create /Users/_dspam UniqueID 101
sudo dscl . -create /Users/_dspam PrimaryGroupID 101
sudo dscl . -create /Users/_dspam NFSHomeDirectory /usr/local/var/dspam
sudo dscl . -passwd /Users/_dspam ”

DSpam:
/configure --enable-daemon \
--with-storage-driver=mysql_drv \
--with-mysql-includes=/usr/local/mysql/include/mysql \
--with-mysql-libraries=/usr/local/mysql/lib/mysql \
--enable-preferences-extension \
--with-dspam-home-owner=_dspam \
--with-dspam-home-group=_postfix \
--with-dspam-home=/usr/local/var/dspam \
--enable-long-usernames \
--with-dspam-group=postfix \
--enable-mysql4-initialization \
--enable-domain-scale \
--enable-virtual-users \
--enable-debug \
--enable-verbose-debug

Maildrop:
sudo chown _vmail maildroprc

maildrop unix – n n – - pipe
flags=DRhu user=_vmail argv=/usr/local/bin/maildrop /etc/maildroprc -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop} ${sender}

Some of the changes are minor but they are required. I’m still testing most of the setup, sorry that it takes so much time to update the documentation. If someone knows a way to edit WordPress pages offline in an easy way I would like to hear about it.