by dawilster on 6/4/12, 10:24 AM with 36 comments
I was building this app the other day and because I'm a complete cloud server noob I deploy all my apps onto phpfog.com but there really lacking some features essential to my web app so I was really hoping to take the time to learn linux servers.
I've used rackspace in the past but nothing more than copying and pasting commands from a tutorial so when it comes to anything beyond the scope of what's in it I become stumped so I really need to learn how to fish in this case.
I want to become more acquainted with servers like Centos so does anybody know where I should get started?
Thanks a lot
by kcvv on 6/4/12, 12:03 PM
- Install Virtual box ( or any other free VM hosts).
- Download CentOS.
- Set yourself a goal on what you need to achieve - e.g I need to run php version x with apache configured to do x y z tasks.
- Install CentOS as a VM ( you could skip these steps and run a cheap VPS as others have suggested) .
- Understand the various steps in the installation - Disk partition, Software selection etc. Don't just blindly select anything unless you understand what you are doing.
- Figure out what software you need to install to achieve your goal and install it one by one.
- Ever time you get struck, if you find some command to fix the issue, don't blindly copy paste it - understand what the issue is and figure out what the command you are trying to run is doing to fix the issue.
Once you have everything up and running, destroy the machine and start over with a slightly different goal.
Google is your friend! Good luck.
by niel on 6/4/12, 11:20 AM
Once you get the hang of running on a virtual machine, use Puppet or Chef to learn how to automatically configure your servers when starting a new VM. This will save you a lot of time setting up your public VPS later.
An important difference between your local virtual machine and a VPS is that you will have to take some steps to secure a publically accessible server. Points to take into consideration here are: key vs password based SSH authentication, iptables firewall.
I've found the Linode library to be a good source of introductory documentation about setting up a VPS: http://library.linode.com
by geoffpado on 6/4/12, 11:20 AM
by loxs on 6/4/12, 11:08 AM
If you want to learn linux server administration, IMHO the easiest (or at least the one which will make you learn) way is to try and use linux as a desktop for several months.
And don't go for something "easy" like ubuntu. Try Slackware, Arch Linux or Gentoo. This will force you to see what kind of knowledge you need, what kind of problems are common. Things like kernel tweaking, dependency resolving, filesystems, shells, etc.
Of course, you can continue to copy/paste from tutorials. It will probably work... to some degree... until things go wrong...
by revorad on 6/4/12, 12:53 PM
Linode also has a library - http://library.linode.com/
by wilhow on 6/4/12, 11:21 AM
I say CentOS or Ubuntu (w/out UI) is a good way to start. Those 2 distributions have many step by step solutions scattered on the web such as stackoveflow and forums posts. Slackware, Arch Linux or Gentoo are great for their target audience. IMHO they provides very little out of box for a noob and it's very easy to get lost in what you can set, break and/or fix. There is nothing more demoralizing that spending 2 days digging around the web for a problem that has numerous answers and you've no idea what everyone is on about.
Books are very useful guidelines, but getting your hands dirty is how you'll really learn.
by goodbytes on 6/4/12, 11:08 AM
by peterwwillis on 6/4/12, 12:15 PM
This treasure trove of quick-start guides for newbies enables you to learn a wide variety of software and ways to use the Linux operating system. There are several docs on using Linux, common command line tools, server/network administration, Bash programming guides, set up instructions for server software, and tons more. You will become a Linux ninja by reading and following through with these HOWTOs.
by locusm on 6/4/12, 12:23 PM
After that follow the advice of kcvv - take notes, rebuild VM's again and again building on your new knowledge.
by timthorn on 6/4/12, 11:26 AM
by jerrya on 6/4/12, 12:29 PM
What do I really need to do to secure an EC2 image, or an AppEngine application or a Heroku application?
by middus on 6/4/12, 12:20 PM
by evilmoo on 6/4/12, 11:26 AM
Remember these and most other things are just window dressing.