It has been a while since I have dealt with any x86 based Unix. I chose FreeBSD over Linux because a) I think it's easier to get working and maintain, b) I didn't want to deal with the "which distribution" turf wars, and c) I wanted to piss off the local Linux zealot. The machine might be used as an example for later installation and justification of a source code manager, wiki, and possibly a report archival and translation system.
I started off with FreeBSD 5.4, following a year old guide I created from vast Internet resources. Here is what I learned:
- Install minimal with one package: cvsup.
- When partitioning: 256MB for /, 3GB for /usr, 512MB for /tmp, /var and swap space, 3GB for /home, and the rest dedicated to /data was more than sufficient.
- I started with packages (probably a mistake), which forces multiple CD swaps.
- Later installations were done through FTP.
- Recompiling a custom kernel was far too easy, took a while but it was dead simple.
- Apache 1.3 was required for the PHP 5 package.
- The delivered http.conf in the package is missing an important line. If you get a Invalid command 'LoadModule' syntax error in your log, insert AddModule mod_so.c after ClearModuleList (mod_so is usually compiled into Apache, evidently the ClearModuleList removes that support). Thanks to Eli the Bearded for the fix to that.
- I got Apache working but later find that the PHP 5 package does not include the extensions. The "ports" have full support, the "packages" do not.
- Today I am going to reinstall everything and strictly use "ports" instead of "packages"; a pain in the ass but I have most of it down to a science.
What a bitch.
I'm not complaining though. Operating system installs from DOS to VSE/ESA and VM/ESA on IBM mainframes to OS/2 to Windows 3.1 through 2003 to Unix all have these quirks that make you want to simply go postal on the world.