I've been trying to figure out what to focus on. I finally realized that the root of my quandary is that I am unsure about learning Linux server administration.

I have been getting pretty good with PHP/MySQL and web development, but I am not very familiar with Linux. Is it hard to learn? What would I need to know in order to manage a LAMP stack? Also, which version is most used in enterprises?

I think I have also hesitated to dive in because it seems like it is mostly used in small companies, but I guess that could be a good thing.

link|improve this question
This should be on superuser.com – Codesleuth Mar 13 '10 at 1:29
serverfault.com – ESW Mar 13 '10 at 1:29
Vague, hard to give good answer. Belongs on ServerFault.com or SuperUser.com – mctylr Mar 13 '10 at 1:30
Fear is the mind-killer. - Fear is the little-death that brings total obliteration. - I will face my fear. ... en.wikipedia.org/wiki/Bene_Gesserit#Litany_against_fear – Zoredache Mar 13 '10 at 1:34
Oh, BTW is Google a small company? They use Linux for lots of their infrastructure. – Zoredache Mar 13 '10 at 1:35
show 1 more comment
feedback

migrated from stackoverflow.com Mar 13 '10 at 1:30

This question came from our site for professional and enthusiast programmers.

6 Answers

up vote 2 down vote accepted

If you are learning PHP and mySQL, i'd say it's almost a must to learn linux.

While true, you don't need to know linux to work with those technologies, it'll help, I'm sure.

Assume you are searching for employment as a PHP/mySQL dev and they require linux admin knowledge?

I think it's worth while; it's also not hard to learn. Get a good book (I have this book) and VirtualBox and you'll learn more than you realize in the first few hours. From there, you might find that you prefer it!

link|improve this answer
feedback

If you're developing web applications, it absolutely doesn't hurt to be familiar with the underlying system(s). Knowing how Linux works, and knowing your way around Apache configuration is a great thing. But it's a long road from "being a PHP developer who knows some things in Linux" to "full-blown Linux server administrator."

The latter is not necessary for web application development IMO, it's a job description in itself, and a very responsible one at that. If you have the time and resources to learn it in depth, go ahead. If you don't, better leave it be - administering servers is an area where half-knowledge can be an extremely dangerous thing.

link|improve this answer
+1: Don't step down that road without serious commitment. Learning to admin any unix well requires a massive time investment and the dedication to scale an unrelenting learning curve. – Satanicpuppy Mar 13 '10 at 2:00
@Satanicpuppy: don't forget an urge to hurt yourself. It comes in handy to have a masochism streak to get into system administration. – Bart Silverstrim Mar 13 '10 at 2:05
feedback

I think I have also hesitated to dive in because it seems like it is mostly used in small companies, but I guess that could be a good thing.

Amazon.com, Facebook, Yahoo, Google, and many enormous companies use Linux heavily.

link|improve this answer
Thought Yahoo was strongly FreeBSD? Hotmail used to be, until Microsoft bought them and they had a horrible time migrating to NT...don't know if the story would be the same if they did it now instead of then, but at the time I know many people were secretly laughing at the problems they had. – Bart Silverstrim Mar 13 '10 at 2:04
feedback

You first need to figure it out if Linux fits in your career path, I bet it does... and also what do you want to accomplish by learning Linux?

Linux like everything has a learning curve but don't be afraid rest assure that it's more fun and handy as you learn it.

Pick any distro for starters I recommend Ubuntu, Linux Mint or even a veteran distro like Debian... on the Linux world everything is about choice so whatever you choose will help you to get started.

In order to manage a LAMP stack in Linux you need to install the software by general means (compile your own) or by an specific method (package manager) of your distro, in my experience apt and yum are the easiest an they do have GUI front ends for easiness.

The most used distros across enterprises that I am aware of are Red Hat, SuSe, CentOS, Debian in that order I guess.

I work in a worldwide (huge) company and 90% of the servers are Linux so NO Linux is not only for "small" companies.

Let me tell you (not trying to start a flame war) that web development is faster on Linux... in my opinion.

Useful links:

DistroWatch For everything else try google and wikipedia ;)

link|improve this answer
feedback

Google runs Linux, and Google is not small.

I got started with Linux by using it regularly as my main OS. If you can find a spare machine, install Ubuntu. Install the Apache httpd server, PHP and MySQL and use your development skills.

link|improve this answer
feedback

Are you asking because you are in a position to administrate a Linux system, or are you in charge of a Linux rollout, or are you just a developer that will have to use Linux in implementing an application?

This question entirely depends on what role you have in using Linux. Should you be afraid of it? Well...you're asking on Serverfault. I don't think too many people here will tell you that it's all that horribly "scary" to learn.

I'd say you should learn enough to know how to use it simply because if you're using an application that makes heavy use of that OS, you should probably be familiar with using it so you can troubleshoot and help others use your product.

If you don't have any reason or desire to learn it, I'd say don't use it. It's not the kind of thing you take up on a whim, and system administration is something that if you screw it up you become a poor neighbour to others on the webbertubes (spam relay, anyone?)

Install Virtualbox, pick a distro that is generally user-friendly but useful (like Ubuntu, maybe) and start experimenting with getting it set up as a workstation. Better yet get an inexpensive testbed and dedicate it just to running Ubuntu. Start using it for everyday tasks like email and web browsing. Set it up to run your application. If you use VMware/Virtualbox, you can take snapshots and roll it back and try again and reconfigure it to see if you can keep it running properly.

This was a long-winded way of saying that I don't know why you'd be afraid of trying Linux. Slap it in a virtual machine and see what you can do with it. If you're going to be able to support the application you're working on, you almost have to know some of the paradigms Linux uses compared to, say, Windows. Plus if you ever use OS X, the BSD underpinnings are very similar to Linux and you have a leg up in learning the ropes compared to people who never leave the Windows camp. You may even find that some things are nicer to work with under Linux than Windows, as long as you're not married to a particular application.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.