Distribuution for unix experienced but Linux noob

Hello,

I'm planning to start a Linode 128 account when new ones become available. But I'm not sure which Linux distro to choose.

I've had a unix shell account for the past 11 years on a SunOS cluster, currently running SunOS 5.8 which I think is Solaris 8. I've only been a user on the machines, not at admin, but I have been coding quite a bit in perl and compiled some C code, mostly for perl modules. I've also worked with procmail, some dotfiles, mysql db.

I've also admined a linux-based cobalt Web server in the past for about a year and a half so have some experience with apache config and a few root issues.

I want a linux distro that works well as a server and is as easy as possible to set up as a LAMP box. I'll be doing apache/mod_perl/mysql and probably postgresql down the line. I'm fine compiling that stuff together if need be.

I'm leaning toward Gentoo since one of my friends (who admins FreeBSD and Linux boxes) recommends it and all the compiling could be a good learning experience, and I may need to do lots of compiling anyway to get my LAMP setup just right. I'm also considering Ubuntu because it seems to have many of the advantages of Debian with fewer of the alleged headaches.

Fedora seems too volatile even though I like that is Red Hat related and thus a lot of people online know how to get things installed under it. I have heard Debian can be difficult to keep up to date due to stable-unstable-testign sync issues and backport issues (even though I know apt-get rawks).

My goal is to get my unix account and static Web files migrated and running as quickly as possible, to pick a distro with a large enough user base I can find answers to questions online, to get LAMP set up reasonably easily and to keep the system up to date with a minimum of fuss.

Is Gentoo going to be too much for a Linux noob? Is it tough to make it work with Linode, where you're not physically sitting in front of the box?

Thanks for any help

Ryan

11 Replies

I still think you can't beat Debian stable for most servers. You start with the base install, apt-get the pieces that you need, and then forget about it for three years. Backported security fixes rock.

It sounds like everything you need is in the current stable (woody), unless you need MySQL 4.x. In which case you can go the backport route, which really isn't much trouble at all. You're just not guaranteed to get timely security fixes, so keep an eye on those packages that you do backport. http://www.backports.org

Sarge will become stable at some point soonish (I hope), so you may just want to start there. The main problem with Sarge now is that since it hasn't been handed off to the security team, it's slower to get security fixes than woody or sid.

To give you some perspective, Debian has almost 50% of the distro "market share" out of all the distros deployed under active accounts here at Linode.com; Gentoo has roughly 15%. Ubuntu might be a better choice compared to Debian, since their release cycle is much more frequent. (Ubuntu being Debian based).

The Red Hat/Fedora/CentOS distros have a combined share of roughly 30%.

Having the experience you mentioned in your post under your belt, I don't see any problem in being able to get up to speed very quickly with Linux, especially here at Linode.com which is a mistake-friendly environment – meaning you can deploy multiple distros, experiment, wipe them out and start anew.

-Chris

@ryantate:

Is Gentoo going to be too much for a Linux noob? Is it tough to make it work with Linode, where you're not physically sitting in front of the box?
I have used Gentoo on my Linode for over a year (after previously using Debian) and I am very satisfied with it. Deploying Gentoo on a Linode is just a few mouse clicks. Updating it is no different to working on your home or office machine.

I suggest Debian as it is small (since you just want LAMP) and you can easily apt-get or compile the stuff you need.

If you're going to be working primarily from binary packages, I'd probably go with Debian stable, if you're happy with the fact it's a little out of date.

Personally, I tend to need to custom-compile enough of the system (Getting Apache 1.3, Apache 2, modperl, modphp, and Subversion to all play nicely together with binary packages is a nightmare), which makes a distro which makes heavy use of package management not really worth it for me.

I've had good results with Slackware, though. It's got very basic packaging tools - fine for installing things like wget or lynx, or grabbing security fixes for bits of the system I never touch, like sshd… but stays out of the way and lets me do my own thing with everything else.

Thank you for all the great comments. I am impressed to get so many replies so quickly.

The feedback definitely gives me more confidence about Linode, and I think I'll be OK no matter which distro I choose. As someone else pointed out, it is pretty easy to wipe and start over. And since my data is still being served elsewhere I have the luxury of an extended transition.

Thanks caker for the distro stats. That does lean me toward Ubuntu (Debian) since the distro is widely used and known.

Right now I am poking around on packages.gentoo.org and packages.debian.org and trying to figure out if packages will really save me much time on the LAMP side. Since I'm starting in modperl fresh and with my own code I think I'm going straight to apache2/modperl2 and mysql (yes 4.X, to use Class::DBI with perl > 5.6.1 you need modern DBD::mysql which do not work with pre-4 mysql) so I may end compiling by hand in any case. I did see a nice apache2 mod_perl on gentoo packages.

Thanks again!

rt

@ryantate:

Thank you for all the great comments. I am impressed to get so many replies so quickly.

Right now I am poking around on packages.gentoo.org and packages.debian.org and trying to figure out if packages will really save me much time on the LAMP side. Since I'm starting in modperl fresh and with my own code I think I'm going straight to apache2/modperl2 and mysql (yes 4.X, to use Class::DBI with perl > 5.6.1 you need modern DBD::mysql which do not work with pre-4 mysql) so I may end compiling by hand in any case. I did see a nice apache2 mod_perl on gentoo packages.

Thanks again!

rt

Perl DBI works with mysql 3.

Heres how I compiled the latest version of Apache/PHP for redhat 9.

#!/bin/bash
PREFIX=/www
HTTP_DIR=/root/ftp/httpd-2.0.52
PHP_DIR=/root/ftp/php-4.3.10

http()
{
        rm -r $PREFIX
        cd $HTTP_DIR
        make clean
        CFLAGS="-O2" \
                ./configure --prefix=$PREFIX \
                --enable-so     \
                --enable-cgi    \
                --enable-info   \
                --enable-rewrite        \
                --enable-speling        \
                --enable-usertrack      \
                --enable-deflate \
                --enable-ssl    \
                --enable-mime-magic
        make
        make install
}

php()
{
        cd $PHP_DIR
        make clean
        ./configure \
                --with-apxs2=/$PREFIX/bin/apxs \
                --with-mysql \
                --prefix=/$PREFIX/php \
                --with-config-file-path=/$PREFIX/php \
                --enable-force-cgi-redirect \
                --disable-cgi \
                --with-zlib \
                --with-gettext \
                --with-gdbm
        make
        make install
        cp php.ini-dist /$PREFIX/php/php.ini
}
http;
php;

I'll put in a plug for slackware. It strikes me as a "plain vanilla" distro, so you don't get hung up on all the distro-specific stuff if you're trying to learn linux adminning in general. It's a nice clean distro, and very stable.

Hey GMT, thanks, I misspoke, I was thinking of 3.22.30 which is on the SunOS system, which is positively ancient. The current DBD::mysql probably supports the last or last few in the 3.X line.

Thanks Necro for the Slack vote. I really have no idea how much I'll need package management. I'll probably do the LAMP stuff by hand but package management might be nice for security updates to peripheral packages and so forth.

Yeah, slackware has a 3rd-party network package updater available called 'swaret'. Otherwise the simple package tools can be used to update packages as needed. Or you can do things by hand. :)

Check out www.linux.org or distrowatch.com Those sites have info on the Linux flavors.

If you like RedHat, go with CentOS which is a clone of RedHat Enterprise Linux. Stable and security updates are regular. Their Fedora distro has a short life span, so it doesn't do well for a server. I run CentOS and have been happy. Though I wish Caker would make CentOS 4 available, as it comes with SELinux modules.

If you are just looking for LAMP, I have to agree on Debian. What makes Debian such a great release as a server, IMO, is that Debian as a very long life span. They do make regular security updates, but they haven't officially released a new Debian version is a LONG time, nor are they requireing older Debian versions to upgrade or be SOL.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct