The server is back up and running, now under FreeBSD 6.2. First things first, I had forgotten how slow compiling packages is. And I’d forgotten about fun with dependencies. Getting the latest and greatest ports collection with
portsnap was easy enough.
The first port I installed was vim and its installation led to a cascade of dozens of other packages that had to be installed first. Did you know that vim depends on the presence of Perl? Then of course it wanted to install GTK+ and that meant X11R6. Then it tried to install a package that has a known vulnerability, so it stopped the presses. (Yes, portaudit is really cool.) I found out that I hadn’t downloaded the latest and greatest index of ports yet, and that there’s a vim-lite package that leaves out all the X windows that’s not really needed when you just want to run vim in a shell.
I was also thrown briefly by the fact that FreeBSD doesn’t even have bash installed out of the box. The default shell under FreeBSD is csh, which is just awful. Fortunately that problem is easy to rectify.
Once I got my shell sorted out, my favorite editor installed, and a user created for myself, I installed the latest and greatest Postfix, Apache, PHP, MySQL, and so on. Installing ports is easy, as is rebuilding and reinstalling them, as I learned with Apache. I rebuilt Apache at least ten times, mainly trying to get suexec to work. I use suexec to enable Movable Type to write files to my Web directory without my having to make the whole thing world writable.
I had some minor mishaps with email. I never mess with my mail configuration, so every time I do anything to it I have to learn everything all over again. I forgot to install procmail, so Postfix couldn’t deliver email to the inboxes on the server. I copied the mail configuration from Fedora Core 4 and had to change up a bunch of stuff to get it to work. Eventually I did get mail working, but it was a chore.
Overall I’m quite happy with FreeBSD so far. I’m running PHP 5 and MySQL 5, two packages I couldn’t even get for Fedora Core 4. I’ve installed all of the Perl modules I’m using by way of the ports collection rather than the wretched CPAN interface. Movable Type seems more brisk than it ever did before, though I have no idea what would have made the difference there. I did have one problem with an old version of the PHP port of Markdown not working with PHP 5, but upgrading to the latest version took care of that.
I’m pretty excited to be running an operating system where I can play with the latest toys and still live within the confines of the operating system’s packaging system. Whether that leads to new, interesting features here remains to be seen.