Distribuution for unix experienced but Linux noob
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
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.
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.
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.
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;
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.
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.