4 ms·
I 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 wan
by loxs 14y ago
I 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.
- AgentConundrum 14y agoNot a Linode. Just on your own machine. You can run your own VM with something like VirtualBox. Just download the install iso for the Linux you want, register it as a CD/DVD in VirtualBox, turn on the VM, and away you go. It's dead simple. Even I managed to do it.
- loxs 14y agoNuking your computer is a part of the learning curve. It will happen one day. And if that happens on a production server, it hurts quite a lot more, than on your own desktop machine. "Server Administration" is not only "having the feel". Server administration is experience. If you haven't been in hell, you can't prepare for going there. Of course, this is only true if one really wants to learn "system administration". If one wants to be able to fix problems when the whole office is standing on his head (systems not working). If one wants to just be able to deploy their "hobby project", then fine, go with the copy/paste way. You don't need anything more than that.
- deleted 14y ago[deleted]
- crazygringo 14y agoI'm in a similar boat to the OP. But when I read "kernel tweaking"... it terrifies me. Do Linux server admins actually... change anything related to the Linux kernel? I mean, I pretty much gave up on trying to understand Linux when the "certified" tech support at Rackspace couldn't figure out how to upgrade the version of PHP on my servers, apparently something to do with incompatibilities between the way the Red Hat PHP distribution was set up, and the official PHP one. And these are guys who have taken courses of years+ on configuring Linux, and that's still inadequate to achieve what would appear to me to be a trivial uninstall / reinstall. Am I missing something here, or is Linux really this insanely hard to configure, to the point where I shoudn't even bother trying, and just leave it to the experts?
- loxs 14y agoNowadays, you will most likely never need to recompile your kernel. At least not if you are doing "normal" stuff. Let me give you an example of what kind of stuff you will come head to head with: Recently I was installing and configuring a Riak cluster. I wanted to configure it to use multi backend with a large partition ring. What these are is not essential to our discussion here. What is essential is that I hit the riak user's limit for simultaneously open files. This is a thing controlled by the kernel, but configurable in userspace. If you are interested, you can find how to raise the limit by using Google. This is the kind of "kernel tweaking" one usually needs to do. 1. How to make it work 2. how to make it persistent after server restart 3. WTF?! it's not the same in debian/ubuntu and Red Hat (half of the solutions I found don't work) But the harder part is not finding the solution. The harder part is finding out what is the problem. In order to do so, you need to have experience. Know where are the logs, know which logs to look at. Know how different systems behave under such conditions (in my case, Erlang VM). Be proficient with shell tools for diagnostics. Be able to use emacs or vi(m) on the spot (you have no graphical environment) etc. And there is no easy way in obtaining this skills. The only way is to get your hands dirty. Very dirty. Build systems, break systems, fix systems. You can't be good by just following tutorials, nor by using a sandboxed environment like a VPS.
- caw 14y ago>Do Linux server admins actually... change anything related to the Linux kernel? Yes. The Linux admins where I work have looked at TCP buffer settings, memory overcommit settings, and some other kernel level configurations. Last week, I was trying to determine for a user if the PF_SWAPOFF flag was being set on their process, and if memory was being harvested by the Out Of Memory Killer. Linux is not really this hard to configure. What I'm describing is hyper-optimization and OS level troubleshooting. Most of my developer friends have a passing familiarity with Linux administration if they host their own web servers. One of them even runs Gentoo on some of his VPS's. However, once he gets past the level of "blog post to tell you how to fix this" he generally calls me. He gets paid to develop applications, not fiddle around with the VPS.
- jcfrei 14y agodon't completely agree. OP wants to get to grips with server administration, not with linux. ubuntu, or any other easy distro/debian derivative will do just fine. I would further recommend the installation of nginx, which is fairly easy, just make sure you take the slightly more difficult path by compiling it yourself (will give you a little insight into makefiles). configuring your nginx.conf and default sites will provide further insight into server administration. the documentation for nginx is top notch, plus you got a fast server running, which will fit most of your use cases.
- loxs 14y agoI disagree. I will ask you several questions. You probably know their answers. And the OP probably doesn't (at least not all). * What is a network interface? * What is localhost? * What is a reverse proxy? Why the hell does one need that? Apache didn't require to become one in order to run my PHP programs? * What is a Makefile? What is a compiler? * What is a SSH tunnel? Now tell me, do you think it's a good idea for someone who doesn't understand these topics like the palm of their hand, to run their own server?
- jcfrei 14y agoyes, I do think it's a good idea. we're talking about a novice here, who won't run a site that requires 99.9999% uptime and with your selection of topics you're probably already digging too deep into marginally relevant technicals. they are in my opinion not required for successfully running a server (except maybe for the reverse proxy), however I believe you failed to mention a few things I would find very important: focus much more on the security side when you're running your own webstack. things like: * restricting .htaccess and other folders * escaping mysql requests from user input * sanitizing user input * handle DDoS attacks, spam prevention * correctly setting exipration dates for caching * DNS configuration (round robin, etc.) * correct amount of worker process Calomel.org has got an excellent guide for setting up your nginx server https://calomel.org/nginx.html https://calomel.org/nginx.html