What's a good *nix server software for beginner/intermediate user?

RavinDJ

Supreme [H]ardness
Joined
Apr 9, 2002
Messages
4,448
I have a 1U SuperMicro server with a P4 - 2.40Ghz with 2GB RAM and 250GB SATA hard drive and 2 NICs.

I want to install a Unix/Linux server operating system on it to learn on... I'd say I'm a beginner/intermediate user...

I'd like to turn it into an web server (PHP is my language of choice), MySQL server, etc.

I was debating between Fedora or Ubuntu, but I'm open to any other recommendations...

Thanks, guys!
 
I recommend FreeBSD if you want to get at the heart of the UNIX ethos.

FreeBSD is well documented and well supported. I personally like to learn not just how to get things done with computers, but why it works too. FreeBSD is a good environment for learning exactly that.
 
I recommend FreeBSD if you want to get at the heart of the UNIX ethos.

FreeBSD is well documented and well supported. I personally like to learn not just how to get things done with computers, but why it works too. FreeBSD is a good environment for learning exactly that.

Would the GUI be easy to use? I'm not big on terminal / shell / etc.

Not yet, at least...
 
If you want a local GUI, then perhaps look at PC-BSD. I'm of the opinion that servers don't need GUI's tho... Getting things done over an SSH session is very powerful. Its also how most UNIX/Linux server farms work, for they are usually colocated in a remote data center, so its a good skill to learn.
 
Pick any server and install webmin or an alternative if you absolutely must have th help of a GUI. Makes running a server pretty painless.

Im pretty sure pretty much all big server distros have webmin in their repos.
 
Would the GUI be easy to use? I'm not big on terminal / shell / etc

Dive into it. The longer you use GUI tools as a crutch, the longer you'll be a noob. I don't think that an Ubuntu server install even installs a GUI by default.

15 years ago, all I needed (or had available) was The Linux Documentation Project and it's only gotten better. The Bash, Advanced Bash, Sysadmin & Net guides are pretty awesome. The HOWTOs are a great source of info for more specific things.
 
That's awesome guys... thanks!

I'm very excited to jump into the whole server world of *nix... the next couple of months will be very busy for me in terms of work, but come Summer time... I want to upgrade my home connection to a business class service with 5 static IP addresses... I already have a nice GigE switch waiting to connect a few servers together.
 
I prefer ubuntu server for all my linux server needs because it has a great online community and its what i use at work. Oh, and ditch the gui, you really don't need it. I find it is just one more thing to break. The more you use terminal the more it will become second nature to you (practice makes perfect or at least close to it)
 
I will second FreeBSD, and spend the time to learn using shell over ssh. I have used both linux and FreeBSD, and prefer FreeBSD. Maybe its just because I have always used it, but find doing upgrades and upgrading installed software goes a little smoother. You really can't go wrong with either, and don't be afraid to install each, play with them both for a couple weeks, then decide what you like better. I currently manage about 15 freebsd servers, I have never had any major issue in 10 years, I have servers with uptimes over 3 years without needing a reboot, I also use FreeBSD/KDE4 as my primary desktop.
 
FreeBSD is a good starter if you are interested in understanding the workings of a typical UNIX-like operating system. Once you get comfortable with FreeBSD I would highly recommend you look into Red hat Enterprise Linux (freely available as CentOS) as it is highly common in the corporate realm.
 
FreeBSD is a good starter if you are interested in understanding the workings of a typical UNIX-like operating system. Once you get comfortable with FreeBSD I would highly recommend you look into Red hat Enterprise Linux (freely available as CentOS) as it is highly common in the corporate realm.

Speaking as someone maintaining an old RHEL installation while running FreeBSD myself: I do wonder why. It's true, though. FreeBSD is a valid enterprise option (and has some large users), but RHEL/CentOS are more well known, and being familiar with them could be useful.

Of course, what you run on them is more important than which OS you run it on in the first place, and it doesn't really matter on which platform you first e.g. dig into httpd.conf .
 
FreeBSD is great if it meets your needs.

Debian is my second choice for a server. I'm biased towards debian based systems, because it's what I learned on. If for whatever reason I need/want linux instead of BSD, Debian is the choice.

Third choice is Centos. There's a large amount of support, it's easy to find sysadmins for it because it's so popular, and generally it's good security-wise. Centos is also really great for virtualization stuff.

There's not really much of a reason to consider anything else on this list. OpenBSD might be preferable in some circumstances, and some people might prefer Ubuntu server to Debian for some reason.

As for gui, just take the time and learn how to do things from the command line. After you get a clue what's going on, it's faster/easier in all situations.
 
I would highly recommend you look into Red hat Enterprise Linux (freely available as CentOS) as it is highly common in the corporate realm.

If you want to 'learn Linux' and enjoy yourself - stay away from RHEL. The reason it's common in business situations is that they have good paid support, glacial release cycles & are certified for software like Oracle. The newest RHEL, RHEL 5, was released 3 years ago and is built from software that was known to be stable at the time. Yes, they do maintenance releases to handle bugs but they don't do upgrades the introduce new features. In some cases this gives you a software stack that's like 5 years behind cutting edge.

As a developer this means that I get ancient versions of PHP, Python, Vim, MySQL, Postgres & I can't even find packages for some of the stuff I'd like to use. Yeah, I can build things from scratch but, if that's what I wanted to be doing, I'd still be running Slackware. I can't understand running CentOS in a production environment - it just feels like cargo culting to me.
 
If you want to 'learn Linux' and enjoy yourself - stay away from RHEL. The reason it's common in business situations is that they have good paid support, glacial release cycles & are certified for software like Oracle. The newest RHEL, RHEL 5, was released 3 years ago and is built from software that was known to be stable at the time. Yes, they do maintenance releases to handle bugs but they don't do upgrades the introduce new features. In some cases this gives you a software stack that's like 5 years behind cutting edge.

As a developer this means that I get ancient versions of PHP, Python, Vim, MySQL, Postgres & I can't even find packages for some of the stuff I'd like to use. Yeah, I can build things from scratch but, if that's what I wanted to be doing, I'd still be running Slackware. I can't understand running CentOS in a production environment - it just feels like cargo culting to me.

I agree completely.

I learned on Ubuntu Server (and Desktop) and then moved to Debian for my own uses... never looked back. RHEL is archaic, and makes even Debian look cutting edge :eek:
 
Ubuntu server with a LAMP install. Start learning the command line, way more powerful then using a GUI.
 
I was debating between Fedora or Ubuntu, but I'm open to any other recommendations...

Thanks, guys!

I recommend you start with Linux and move forward. For Linux I recommend Debian or Arch Linux. I would pass on Ubuntu and Fedora unless you're installing this on a laptop or Netbook.
 
Well, your options are very open as it sounds like your hardware is nearly universally supported. I highly recommend FreeBSD as a production server OS, however if this is primarily a test machine and your main goal is learning about *NIX operating systems I have another recommendation. Learn it the way I learned it and install Gentoo. Configure and compile your own kernel, select your software and compile it, manually write config files. Gentoo is not a good production system, but when I was learning how *NIX works I found it to be an invaluable experience.
 
Well, your options are very open as it sounds like your hardware is nearly universally supported. I highly recommend FreeBSD as a production server OS, however if this is primarily a test machine and your main goal is learning about *NIX operating systems I have another recommendation. Learn it the way I learned it and install Gentoo. Configure and compile your own kernel, select your software and compile it, manually write config files. Gentoo is not a good production system, but when I was learning how *NIX works I found it to be an invaluable experience.



This. Its really well documented and explains a lot of what you're doing while you're doing it. Its a really nice way to learn what you're doing.

Even if you just use it to learn what you're doing and then move on to something else (FreeBSD, Slackware, Debian, etc)

And I do agree with everyone else. If you plan on using this as a server - go naked. Don't do the gui. Like someone else said, Its just something else to break - and it just gets in the way and is unnecessary for a server.
 
If you want to 'learn Linux' and enjoy yourself - stay away from RHEL. The reason it's common in business situations is that they have good paid support, glacial release cycles & are certified for software like Oracle. The newest RHEL, RHEL 5, was released 3 years ago and is built from software that was known to be stable at the time. Yes, they do maintenance releases to handle bugs but they don't do upgrades the introduce new features. In some cases this gives you a software stack that's like 5 years behind cutting edge.

As a developer this means that I get ancient versions of PHP, Python, Vim, MySQL, Postgres & I can't even find packages for some of the stuff I'd like to use. Yeah, I can build things from scratch but, if that's what I wanted to be doing, I'd still be running Slackware. I can't understand running CentOS in a production environment - it just feels like cargo culting to me.

Who says one learning off a RHEL-based system can't enjoy themselves? If I was getting started out with Linux I would rather learn on a system that is proven stable versus one that is bleeding edge with a great number of bugs. Once he gets comfortable with Linux then by all means go for the bleeding edge. Also, case in point as to why most developers make terrible sys admins ;)
 
Thanks for all the input, guys.

Yeah, on a scale of 1 to 10 where 1 is "I can't even install Windows XP" and 10 is "Linus Torvalds".... I'd say I'm about a 4 or 5 when it comes to *nix and a 7 or 8 when it comes to Windows machines.

I do want something easy to learn on so I'd love to have the GUI... but, trust me... after a few weeks or a couple of months, I'll definitely do a fresh install and do it without a GUI... but, in the beginning... yeah, I need it :p
 
What is your interest in computing?

if you say "LAMP SERVER" I'd say ubuntu/centos
if you love networking stuff, learn PF + OpenBSD
if you want a fileserver, play with FreeBSD/ZFS

Now...if you want a distro with (an appropriate) gui:

Fileserver: FreeBSD+ZFS = freenas (yep you an ssh in and poke around)
Virtualization: Debian+KVM=Proxmox ve
Firewall: FreeBSD+pf=pfsense
 
I do want something easy to learn on so I'd love to have the GUI... but, trust me... after a few weeks or a couple of months, I'll definitely do a fresh install and do it without a GUI... but, in the beginning... yeah, I need it :p

Really - you don't want to use the GUI. Learn the 'hard way'. Once you know how everything works using text editors & the shell you're free to use GUI tools. If you actually learned anything, I doubt you'd want to.
 
There's not really much (if any) of a GUI for controlling the server side of a 'nix box anyway. Webmin and the like, but those are web-based, so you still don't need a GUI on the server box itself...

+1 for Debian.
 
I like Gentoo, really helped me out in remembering the commands and what they do and configuring files.

In work environments though I believe they are usually RedHat distributions (CentOS now?). Although my work only has 1 redhat box and about 8 AIX (IBM, isn't free) boxes which are a bit different.
 
Your brain is capable of learning more than one thing at a time and because you learn RHEL doesn't mean you cant learn Debian. Your brain has unlimited potential to learn new things.

The answer for you is try them all, like ice cream, you'll find a favorite.
Off topic, I personally compare Windows to Sushi; I liked ice cream the first time I tried it and it didn't make me sick.
On topic, My OS beats your OS and your Honor Student. It says so on my bumper.
 
Last edited:
There's not really much (if any) of a GUI for controlling the server side of a 'nix box anyway. Webmin and the like, but those are web-based, so you still don't need a GUI on the server box itself...

Clarkconnect is another OS where you can take care of administrating a headless box.
 
Who says one learning off a RHEL-based system can't enjoy themselves? If I was getting started out with Linux I would rather learn on a system that is proven stable versus one that is bleeding edge with a great number of bugs. Once he gets comfortable with Linux then by all means go for the bleeding edge. Also, case in point as to why most developers make terrible sys admins ;)

As someone administering an RHEL server, where half the usage is running random analysis tools with iffy language version requirements: I hate the RHEL package policies with a passion. Digging up random rpms or installing from source makes for a worse system than something that just offers updated versions in the first place - their "stable versions"-policy turns into "random mixture of stuff that won't be automatically updated" by sheer necessity. Ugh.

Of course, it's still the developers' fault. ;)
(And I'm also one of those developers, so yeah.)
 
I'm bored, heres my opinions:

RHEL-- This is the OS you put on systems at work. You set it up and it does its job. Hopefully no one ever has to touch it again because they'll pull their hair out dealing with RHN bullcrap. Only RHEL can take the best part of Linux, being free, and ruin it. Most RHEL systems are RHEL3.9 and RHEL4.2. No one actually uses new versions. The old servers just keep working so there is no reason to get new servers or upgrade the old ones.

SUSE -- You rarely actually see SUSE being used by anyone, but you know that someone somewhere actually does. Old versions of SUSE suck so bad thsoe systems were replaced with something that works. New versions of SUSE are super slick and cool but the more you use it the more often you run into situations where SUSE developers took something that was simple and made it super complex for no good reason. You then just dislike SUSE, but thats okay, cause you don't actually know anyone who uses it.

Debian -- Why do more companies not use this!??!?!? You can log into super old systems and everything just makes sense. New ones just work. Debian just works. If you want something that works, just use Debian.

Ubuntu -- This is like Debian but with more cutting edge stuff. It just works too. You use Ubuntu on home systems cause you like latest and greatest, but at work you pick Debian because you know its supposed to be more stable.

Gentoo -- This is the OS you should use if you want to learn more about Linux. You will spend rediculous amounts of time setting it up exactly how you want. You'll be happy while doing this because everything is new and you'll have fun learning new stuff. You never actually do anyting productive with a Gentoo system, you just constantly tweak it. One day while tweaking it you'll realize its no longer fun, you're no longer learning anything new, its just a task to constantly have to tweak crap. This is when you know enough Linux to switch to Ubuntu.

Arch -- People use this who are too lazy to use Gentoo. You'll think your super cool cause you use Arch but really, you're just a Gentoo wannabe.

FreeBSD -- BSD is Linux without the newbs.

Solaris -- All I know about Solaris is I hate it. It uses to be that OS w/ZFS. Now that you can use ZFS in FreeBSD Solaris is no longer special. It just sucks. All *nix OSes are simlar enough you can move between them seamlessly. You learn one and you can use them all. There is one exception, Solaris. Whatever you want to do will not work and you will never know why. Nothing is intuitive. Everyone has their preferences but one thing everyone can agree on is Solaris sucks. Its like a few good ideas covered in piles of crap.
 
I'm starting to seriously learn Linux server stuff and I tried CentOS and it really just kicked my ass. Going to move onto Ubuntu to see if I can have a better time there..... :(
 
This question comes up all the time and the correct answer is always 'Debian GNU/Linux'. We need a sticky.
 
This question comes up all the time and the correct answer is always 'Debian GNU/Linux'. We need a sticky.

Can't stand debian for home servers, everythings too out of date with debian. Ubunts repos are much more up to date for a home server.
 
Can't stand debian for home servers, everythings too out of date with debian. Ubunts repos are much more up to date for a home server.

You don't use Stable unless you need stable. Testing is generally good enough for non-mission-critical systems and unstable is generally pretty solid.
 
You don't use Stable unless you need stable. Testing is generally good enough for non-mission-critical systems and unstable is generally pretty solid.

Unless you need a ton of stuff from unstable (and come on, this is a server, what do you need the latest versions of everything for anyway?), IMO it is better to install stable and just pin packages you need from unstable/testing to get the newer versions. I love that this is possible and generally works well.

If you're going to run testing or unstable (which I do for some situations), be aware that the Debian folks place a lot less priority on security maintenance for these branches.
 
You don't use Stable unless you need stable. Testing is generally good enough for non-mission-critical systems and unstable is generally pretty solid.

If you are not going to use debian stable there is absolutely no reason not to use ubuntu server instead anyway. Its still more up to date.

I also dont like the stuffy old ideology behind debian either so i am of course biased.
 
Back
Top