What tools do you use for web self-hosting?
April 26, 2005 10:51 AM   Subscribe

I'm getting sick of the limitations of my web hosting provider, so I'm striking out on my own. I think I've got the hardware, OS (some linux flavor) and webserver (Apache) figured out, but what about apps? I'm looking for good, free webmail and photo-gallery software, and any other tips....

Webmail: There are four of us using email on my current domain. Currently my hosting provider gives me Horde, which I like. But are there better apps out there?

Photos: I'm currently thinking of Gallery for photo hosting.

Any tips on those two apps, or any other apps that you've found useful, would be appreciated.

Sorry if this is a double post -- it seems like this would have been covered before, but I poked around a bit and didn't find anything.
posted by gurple to Computers & Internet (10 answers total)
 
SquirrelMail isn't shabby for a webmail app. It's PHP based, but I guess life isn't perfect.
posted by cmonkey at 10:59 AM on April 26, 2005


cmonkey: Bah. PHP, and SqMail, are both great.

Gurple -- Welcome to the adventure of System Administration in Linux. I would personally reccomend a Red-hat based distribution such as Fedora, CentOS, or one of the other RHEL clones, or -possibly- debian (but debian has always confused me) because of their great package management tools.

Just briefly; in Linux, unlike windows, instead of putting a CD in the drive and installing software (which you can still do, but why?), you download packages off of the package repositories and install them. In Redhat-based distributions, you use a tool called RPM, and it's partners yum and up2date to keep your computer current and install new packages; Debian uses apt-get. These packages install pre-compiled binaries onto your computer. As you get good, you'll find you can re-install and rebuild packages that are specialized for your computer, but that's a pretty advanced thing to do.

Software, if it doesn't come in a precompiled binary for your distribution, will come in a tarball -- .tar.gz -- and this means if it's an application, it needs to be compiled, or if it's a webapp, it just needs to be copied in the right place. Tarballs are exactly like zip files, you just unpack them with tar -xzf tarball.tar.gz instead of running winzip.

You're going to need a couple of categories of software. First, you'll need apache, php, and MySQL. The base install of CentOS include those, but MySQL has been updated since so be sure to run 'yum update'. Maintianing and adminstering a PHP/MySQL server is pretty darned easy.
To host your own email server, you need to know a lot about DNS to keep your email from bouncing from hosts with anal-retentive spam checks. You're also going to need to know a lot about system administration to configure everything correctly. Sorry, that's just the way it is ... it's a pain in the ass to run a mail server properly. I'd really really really suggest that you have someone else host it for you. No, really. Unless you really like learning experiences.

Webapps will just come as tarballs and you unpack them and copy them into your /var/www/html directory somewhere.
posted by SpecialK at 11:31 AM on April 26, 2005


For the foundations, you might want to consider, to make your life an awful lot easier in general, ApacheFriends' XAMPP which is a 'prebuilt' stack of all the useful stuff you need for self-hosting. It has virtually everything you'd want -- it was originally an Apache/MySQL/PHP bundle but now has grown to include SSL, FTP, and about a billion other things. It's very neat. There are Linux bundles and Java bundles.

Going up the 'solution stack' a bit, you might want to explore Midgard which is a pretty popular open source Content Management framework ... although I haven't had much experience with it.

WordPress is a very easy to install and use PHP-based weblog system.

Also another little gem if you're looking at setting up an online shop is osCommerce. osCommerce is a mature, PHP-based ecommerce system with over 1400 live sites around the world. It has a built-in installer so it's incredibly easy to install and use -- 15 minutes I kid you not. Bad news: the project appears to have stalled and the code base has frozen on 2.2ms2. Good news: there are some really hot forks of the code base including CRE Loaded 6.1 by Chain Reaction Web who even sell books on their version. The CRE Loaded version has some wizzy stuff like skinning and a very powerful admin tool that allows you to configure pages and content without knowing a line of PHP -- very impressive work.
posted by kiwi.es at 11:51 AM on April 26, 2005


InsideSystems Mail is a fairly slick little PHP based IMAP mail client. If you're on FreeBSD, it's in the ports collection under the name 'ismail'.

*I'm biased, as I'm one of the officers of InsideSystems.
posted by mosch at 12:00 PM on April 26, 2005


Response by poster: Hey, thanks for the suggestions! kiwi and specialk, you guys both mentioned MySQL -- I work for Oracle and could probably manage to get a stray copy of Oracle's 10g db to find its way to my machine. That would give me a ton of db capability that I'm familiar with... but it sounds like a lot of these apps are written with the idea of putting MySQL under the hood. Are they DB-agnostic, or should I must stick with MySQL and put a lid on my database snootiness?

I've worked with systems before that use sendmail for outbound email, and it seems to love to go down silently. Is there anything out there that automates sendmail management? Is that kind of thing included in these kinds of email packages?
posted by gurple at 12:04 PM on April 26, 2005


Most well-written apps will NOT require MySQL, but will have hooks into the main (usually Free) database systems out there (so, usually a flatfile database or bdb; MySQL; SQLite; PostgreSQL; etc). I think most have hooks for Oracle too, but I'm not sure. If you have experience with a heavy-duty RDBMS and Oracle won't fit, you might want to go with Postgres given the option, as it can do more than MySQL.

However, there are certainly some popular apps which go the easy route and only support MySQL, and MySQL does have a whole lot of community support (yay PHPMyAdmin!), so it's not the end of the world if you decide to go with it instead of Postgres or Oracle.

Gallery is the de facto standard among web photo galleries; I'll be installing it myself soon, in lieu of a more stripped-down alternative I used when I had a chrooted Apache (don't ask).

Horde is really nice if your server is fairly modern, it has TONS of stuff, is popular, and is fairly well engineered. SquirrelMail also works well if you want something lighter (I've used both so this is from experience).

I would recommend AGAINST using vanilla sendmail, and say you should go with postfix or qmail instead, as both are easier to manage and ostensibly more secure. Sendmail has a reputation for being really, really crufty and a pain in the ass to administrate (as you seem to realize) and there's really no reason to use it over the above-mentioned packages, that I'm aware of.

Courier-IMAP is a good IMAP server (POP3 is just absolute crap) but I don't think I've ever used anything else, so I can't really compare it.
posted by cyrusdogstar at 12:34 PM on April 26, 2005


Small note: I say 'if your server is fairly modern' for Horde, because it ate lots of RAM and was quite sluggish on my servers (Pentium I 166 and Pentium II 400, with between 64 and 128 megs of RAM on either). I've since gone over to just using mail clients + IMAP + authenticated SMTP, for various reasons.
posted by cyrusdogstar at 12:36 PM on April 26, 2005


I wasn't sure of your technical details re: email, but it's a pain in the ass to get an email server working properly on a home or small office (where you don't own the IP) in these days of spam/DNS protection. I'm running postfix with dovecot for Imap and PHP, cyrus-SASL, all of it managed with maildirs and MySQL for accounts. Pain. In. The. Ass.
posted by SpecialK at 1:51 PM on April 26, 2005


Gallery is shite. Use Slooze instead.

Although I suppose it depends on your style. I like Slooze because it's simple and well-written, so I can and do extend the crap out of it to make it do the things I want it to. Gallery is all hand-holdy and wizard-y. Plus those little arrows they use for navigation are damn ugly.

I'd concur with SpecialK that setting up an email server, even when you do control your own IP, is a pain in the ass. It's worth it though. Server-side spam filtering via DSPAM makes spam seem like a bad dream from the past.
posted by breath at 2:28 PM on April 26, 2005


I see where breath is coming from re: Gallery, although Gallery v2.0 is soon to be released and is much better. I've been using the nightlies for about 3 months and I like it a lot.
posted by mkdg at 11:19 PM on April 26, 2005


« Older Laptop freezes when unplugged. Why?   |   How did I get dermatographia? Newer »
This thread is closed to new comments.