5 ms·
Is there a server admin guide for noobs?
Hi HN,
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
- goodbytes 14y agoHi! I teach Linux server administration basics in college, on Centos. I've been thinking about writing an ebook or some sort of guide for other developers to get started with Linux/Centos. Would you care to share what kind of things you'd like to learn? Are you talking about real linux basics, maintaining software, setting up Apache, ... ?
- loxs 14y agoWell, the thing is, he doesn't know what of all these he needs to learn. And there is no "book" or "tutorial" that can cover this. Only way is the old and tested one... force yourself to use it, till you "get it". I don't know anyone who learned it some other way. And I know lots of sysadmins (and I have all the skills, though I'm a "DevOp")
- mmanfrin 14y agoI'm in a similar boat as the original poster; I'd love to learn the full LAMP setup process, how to use SSH correctly, how to set up domains/etc.
- dawilster 14y agoHi, Essentially getting apache up and running and actually understanding the commands I'm using, other things are ssh, setting up FTP and another thing that daunts me incredibly is setting up the virtual host, I find it so easy to break things when I don't know what I'm doing. There are probably a couple things I missed out on but a noob to ninja type ebook would be great. Thanks a lot
- goodbytes 14y agoSounds exactly like the basics I'm teaching my students. It isn't all that difficult to get started with linux once you know how to approach things. Thanks for the feedback, I'll think I might get started on an ebook that clearly builds things up.
- jaz 14y agoI think that an ebook covering the process, start to finish, of configuring and securing a web server would be helpful.
- marquis 14y agoI've watched someone slowly learning sysadmin recently, and I think what would be really helpful is an easy way to understand what is needed, and why, for a basic LAMP server, with FTP and SSH for access, and iptables security basics. He started with installing a LAMP package and I see that it's scary for someone to start using the command line, modifying apache confs etc, when you have no idea what you are going to break where.
- loxs 14y agoI don't know what kind of answers are you hoping to get here, but from the way you address the issue, I would say that there is no easy way to this. 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...
- c16 14y agoI would advise against going with a linux desktop to start with. Buy yourself a cheap 'Low End Box' -> lowendbox.com and get a feel for linux. Once you feel you can happily control a server, then install it as your desktop so you don't by accident nuke your computer. I find that being in a similar environment to your servers all day helps a lot. Try it :)
- AgentConundrum 14y agoWhy not just create a VM?
- loxs 14y agoBecause by using a VM on a "baby-sitted environment" like Linode, you will most likely never have any real issues. Unless you create them yourself (which is quite likely).
- mhurron 14y agoSo don't put it in a managed environment. VirtualBox and VMware Player are free. Put it on your own machine and do it yourself. Honestly, I am becoming amazed how the attitude of I'll do it myself, especially in a learning environment is slowly seeping away.
- 14y ago
- geoffpado 14y agoThe Linode Library has a ton of great tutorials that are mostly not Linode-specific, and don't require you to have an account there. They even have LAMP setup guides for both CentOS 5 and 6: http://library.linode.com/ http://library.linode.com/
- niel 14y agohttp://vagrantup.com http://vagrantup.com is a good way to get started on your local machine (without paying a VPS provider). You can install a minimal operating system and build up your stack from there. Because it is completely free, you can recreate your server and really experiment with different operating systems until you feel comfortable to go live. 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 http://library.linode.com
- dawilster 14y agoThanks for this! Running from a local machine is going to be really helpful.
- wilhow 14y agoSolving a problem is the easiest to learn and retain that knowledge. Get an account in development EC2 which I think is free, or something cheap in the cloud like prgmr.com and build a linux server and learn. Deploy your application manually and solve all the issues you face. Linux is so wide spread these days, there are very little that you can't an answer on the web. 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.
- corin_ 14y agoI'd suggest avoiding prgmr (who I think are awesome by the way) and opting for somewhere like Linode, just because it makes it so easy to wipe your VPS with a clean image and start again. (I'm talking specific to this thread, not as advice for everyone.)
- wilhow 14y agoFor me that is a very helpful feature. I've done installation many times and I've done them to a cheap machine at home so I'm quite familiar with the process. It's the ins and outs of the linux that I was not able to get for a long time. Being able to wipe a VPS with a clean image allows me to quickly start over when I have mess things up so bad.
- evilmoo 14y agoMake backups. Take backups often. Ensure the backups work. Remember these and most other things are just window dressing.
- timthorn 14y ago10 years old now (and that's the 3rd edition), but still a good tome: Essential System Administration from ORA http://shop.oreilly.com/product/9780596003432.do http://shop.oreilly.com/product/9780596003432.do
- kcvv 14y agoWhile there are several books to teach you basics of Linux, the best way to learn is to do hands on. - 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.
- marquis 14y ago>Don't just blindly select anything unless you understand what you are doing. That's important advice: anytime you run up against a selection option and you don't know what you should choose or why the default is what is it, search for more information to understand what is going on. I believe you can teach yourself anything just by setting a goal and learning as you go (with plenty of time and acceptance for mistakes).
- kawera 14y agoVery good advise. Also, keep a text file open and document each step with notes, urls and all the terminal commands you've used.
- peterwwillis 14y agoHOWTOs. http://www.tldp.org/HOWTO/HOWTO-INDEX/index.html http://www.tldp.org/HOWTO/HOWTO-INDEX/index.html http://www.tldp.org/guides.html http://www.tldp.org/guides.html 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.
- middus 14y agoIt would probably be easier for us to give advice if you told us which specific features essential to your web app you need.
- locusm 14y agoStart with the shell/command line and study its infinite capability. A good place to start would be Zed's site. http://cli.learncodethehardway.org http://cli.learncodethehardway.org After that follow the advice of kcvv - take notes, rebuild VM's again and again building on your new knowledge.
- jerrya 14y agoI'd love a modern guide on how to secure a modern webstack. What do I really need to do to secure an EC2 image, or an AppEngine application or a Heroku application?
- revorad 14y agoThe Slicehost articles are quite good - http://articles.slicehost.com/ http://articles.slicehost.com/ Linode also has a library - http://library.linode.com/ http://library.linode.com/