Linux – Choosing the Right Distribution for Learning and Hosting Web Apps

arch linuxdistribution-choicelearninglinuxwebserver

I'm coming to Linux from the Windows world, and I want to learns the ins and outs of the system in order to make it my primary day to day work and hosting environment.

I'm pretty much a complete beginner as far as the OS is concerned, so I would have to start learning it from total scratch. I'm not afraid of getting dirty, but I'd also like the process to be sufficiently pragmatic. Once I'm familiar with the OS, I will be mainly developing Ruby on Rails and Clojure applications on it that I then hope to host on the same environment.

Excluding the more consumer-oriented distros like Ubuntu and Mint (or are they worth considering?), what are some good options for me from both a learning and server hosting perspective? I've heard good things of Arch Linux and Debian.

Thank you!

Best Answer

If you want a machine for local development (a desktop machine), and you want to learn a lot - then go with Arch. It will kind of force you to learn about some under-the-hood things about GNU/Linux because you have to assemble everything from command line, so be prepared, quite a lot of reading will be required although it's not actually that hard as people think. The first installation takes a bit longer if you are not an experienced GNU/Linux user, but maintaining it is a breeze. Arch also has extremely good wiki with tons of useful information, it has lots and lots of packages + AUR (Arch user repository (which has everything that Arch official repos don't have)). Arch also has all the newest packages since it's "bleeding edge". I wouldn't recommend it for a "production" server though for the exact same reasons. Servers need to be stable, not bleeding edge.

So, if you want a server distro - I would go with Debian. Very stable (but older packages), a bit easier to use than Arch in my opinion, not such a good wiki.. Also makes you learn quite a lot.

Gentoo would be a bit too extreme (too much hassle and too much time wasted on compiling stuff), but perhaps gives you the most knowledge because you have to dig very deep to make it work. It's good to be used for a while to learn stuff, but it's not that pleasant for regular everyday usage.

Although as others pointed out, there really is no wrong choice. You can learn a lot using any other distro. The difference is, Gentoo/Arch/Debian will "force you" to do so from the beginning. In the end it all boils down to basically more or less the same (or very similar) thing..

Related Question