Brandon's Blog

3/18/2005

(No Title)

Why I like Slackware or Why Patrick Volkerding Is My Daddy

So, I started this webserver/mailserver/appserver project a while back, Slack 10 and 10.1 as base systems in two separate installation trials.  I started both runs with a vanilla system (basic system utilities, stock kernel, the development/compiler packages, and the standard TCP/IP services).  I left off Apache 1.3 and Sendmail, figuring on upgrading to higher version numbers for various reasons to be described later in this post.  I left off MySQL because I wasn’t sure what would happen there.

First thing I did was compile Apache 2.0.x.  This was pretty easy.  I used Apache 2.0.x instead of Pat’s recommended 1.3.x because I figured my installation of Mono/XSP/mod_mono [the way to get ASP.net to work under Apache…one of the major reasons for starting this project] would require Apache 2.0.  Point 1 for The Man: Apache 1.3 is suitable for mod_mono.

Mono was reluctant to install from source, so I dropped on the binary package painlessly.  mod_mono started serving ASP pages from Linux…hooray!

Now for e-mail.  Recompiled Sendmail 8.13 from source to get SMTP AUTH support (how you keep from setting up an open [spammer-friendly] SMTP relay when you aren’t an ISP issuing IP addresses to clients.  Used Pat’s site.config.mc compile configuration file (That’s another point for Mr. Volkerding), just adding on the recommended options for SMTP AUTH from the README.  Successful compile and painful-but-successful configuration.

Now for the fun part: compiling PHP4.  More ./configure options than I have ever seen anywhere else (including compiling the C standard library from source).  Nasty job, but I had to do it because I was using a custom build of Apache 2.0.  Also, I had a special webmail application that looked like it needed a custom install of PHP.  Ick.

Installed the webmail application, and realized it sucked because it was too powerful.  “Downgraded” eventually to SquirrelMail, which certainly doesn’t suck.  Also doesn’t require anything but vanilla PHP (not even MySQL).

Used Pat’s MySQL (Score another for The Man), because like Bacardi and Cola, it gets the job done.  Set it up, no problem.  Learned the command line tools and got some databases going for phpBB, Wordpress and CMS Made Simple.

Got all that stuff working, used Pat’s config of BIND to be a local caching-only nameserver out of the box (Pat, how I love you.  One more point).  vsftpd is included out of the box as of 10.1, so that’s cool (haven’t bothered setting it up because it’s easy like that).

Pat’s IMAP server is great with no config, runs right out the box.  I “upgraded” the POP3 server from popa3d (Slack POP3 daemon) to ipop3d (the University of Washington POP3 server) because UW’s stuff works better with IMAP than do normal POP3 clients.  For the morbidly curious, IMAP throws a dummy e-mail in everybody’s account, and “dumb” POP servers tend to report this as a legit message to the user.  UW’s server doesn’t do this because UW is actually famous for its IMAP work.  Whatever.


All that being said, what I realize now is that I started out custom compiling almost all of the major components.  Now, I’m left with compiling only a tiny POP server and adding two lines to Pat’s compile config on Sendmail.

This tracks my prior experiences with Slackware quite well.  Basically, what tends to happen is you decide you know better what you need than Pat does.  You do your own thing, which works but isn’t just great.  You then realize that your ideas sucked and that Pat’s default config will do 99.9% of what you were looking for.  This is why I’m still a Slacker even after being impressed by Ubuntu.