I've never had to set-up my own server before, thanks to hosting providers (like media temple / dreamhost / etc).<p>I recently realized I am deficient in that area and would like learn the basics, enough so I could (hypothetically) buy a slice from slicehost and set it up.<p>Does anyone have any good primers/online tutorials?
First, I'd recommend using a debian-based distro like Ubuntu. From my experience, it is much easier to use and configure, and the amount of tutorials, etc, available for it is overwhelming.
Slicehost has a few good articles:
<a href="http://articles.slicehost.com/" rel="nofollow">http://articles.slicehost.com/</a><p>I have used them for setting up my own slice and it worked out really well.
Sign up for Slicehost and work through the articles. They will take you, step by step, from a new slice to a hosted application. Two months ago, I was in the same position you are. I now have three slices all running apps. I have learnt about load balancing, database administration and tuning, web server configuration, the inner workings of Linux, scheduling, bash...<p>At times, system administration will make you want to kill yourself, but it's worth learning. Building your own slice is a great way to start.
There's really no substitute for setting up a system that you can break without negative consequences. Also, putting a public server for which you have root access out on the Internet entails a degree of public responsibility: if your box gets 0wned and becomes a DDoS attack node or spambot, it's <i>your fault</i>. (I say this coming from the POV of someone who had their first "real" server cracked wide open within 90 days of putting it online due to an OpenSSH remote exploit many years ago.)<p>If you haven't already done so, download an install ISO for Debian/Ubuntu or CentOs/Fedora, and install it on a spare machine, or even in a VMWare image on your regular workstation. Work through some of the examples on HowtoForge, and learn to install and configure Apache, MySQL and/or PostgreSQL, PHP/Ruby/Python, and Postfix or Exim w/basic spam filters.<p>Running a virtual private server (VPS) is a bit easier, in the sense that you don't have to manage the actual hardware, but the fundamentals are the same, and you'll be glad you have physical access to the system when you screw up the configuration or forget the root password. Get comfortable maintaining a machine locally, <i>then</i> go out and inflict your administration skills on the 'net at large.
Linux admin is one of those things which is easy to jump into but takes a long time to get to a point where your skills can be trusted enough to manage an important production site. You might go with a managed VPS. For example, Servint is a managed service. I am not recommending them, just using them as an example. To learn, practice using a local Linux box.
I bought a VPS from VPSlink to learn how to set up a server about a year ago. They're plans start at $6 per month for a server with 128MB of RAM. That is a pretty wimpy box, but if you are just trying to see how things work, it gets the job done.<p>For me, the best way to learn is to just go at it. I recommend Ubuntu for ease of use, and the Ubuntu community can be quite helpful in getting a server set up. I just started with basic LAMP and then used google to find tutorials on adding and configuring other things such as virtual hosts, SSL, etc. I found it to be a pretty good way to learn.
Slicehost is great. My advice is to start off learning how to use the package manager for whatever OS you choose. apt-get, yum, rpmfind, etc. They usually make things easier and if you start off learning to compile from source (like I did) it can be hard to unlearn old habits.<p>Something to think about when using slicehost...when they give you a fresh OS install, there is very litte on it. There is only the bare minimum to bring the server up. The 'man' command isn't even installed! It might be a bit tougher for people without much commandline admin experience.
The basics are easy to learn, it's just a matter of following some tutorial ( howtoforge has some great ones!). But keeping it running is harder I'm afraid... I suggest you try to find someone in your area (or even join a LUG, Linux User Group) to help you with the more advanced things. You can first try setting up a server as a VM, you can get virtualbox for free and it works great! Good luck but if you want something, you can do it (some people here have learned me that)
OpenBSD's FAQ, then man afterboot<p>Its online tutorials are not as abundant say to FreeBSD, let alone Ubuntu; however, you want quality, not quantity - Excellent man pages<p>OpenBSD is created and used by people who love their own craft -- you can feel it -- When I'm forced to use Ubuntu, i felt like i was using Windows ... I miss OpenBSD dearly<p>Maybe there's a blub paradox playing in OS
Setup the distro you'd like to run in production in vmware. Learn from there. Set this up in production. Fully understand that running your own server means carrying a pager (or your cell phone with SMS as a pager).
in the olden days, people would buy Frisch's oreilly book, or the nemeth /snyder/hein linux admin books. Still good picks, but a lot to work through.<p>You probably want tutorials/recipes based on your deploy platform: PHP, rails, django each have a bunch. Ezra Z's rails deployment book is outstanding.<p>And a bunch of threads have gone over the Freebsd/OpenBSD, non-BSD choices, look in<p>searchyc.com
<a href="http://news.ycombinator.com/item?id=197878" rel="nofollow">http://news.ycombinator.com/item?id=197878</a><p><a href="http://searchyc.com/ubuntu+fedora" rel="nofollow">http://searchyc.com/ubuntu+fedora</a>
If you are into Windows, you might want to check out our server admin tutorials: <a href="http://www.learnwindows2003.com/" rel="nofollow">http://www.learnwindows2003.com/</a>
By the way, I'd probably recommend Linode over Slicehost; you get more RAM for the same price.<p>But besides that; I can't really speak to either of them.
Why Slicehost sucks and you should use Linode:<p>1. Slicehost makes you prepay 3 months to get started. Linode charges month to month with discounts if you prepay.<p>2. Slicehost does not prorate if you decide you don't like the service. Ie. Try it for 1 week and the rest of those three weeks are lost. Linode prorates on a daily basis, whatever you don't use they give you the money back.<p>3. Slicehost customer service is slow and more reliant on the community boards. Linode responds to emails within 8-10 hours.<p>4. Slicehost does not give you as much RAM (which is a lot more valuable). Linode gives you 15% more.<p>5. Slicehost's web admin is clumsy and crappy. Linode has a very useful admin that does everything from host management to network/cpu graphs to account management.