
Ask YC: Server Administration? - nextmoveone
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?
======
mstefff
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.

~~~
mk
I agree that it is easier to use and configure a debian-based distro, but I
would add that if you really want to learn Linux intimately you should check
out Gentoo. The Gentoo docs are really good and will take you through the
setup step by step. By the end of it you will have configured and compiled
your own kernel and have familiarity with a lot of the /etc config files. Of
course things may not work out the first couple of times and you may just get
so frustrated you want to give up.

~~~
SwellJoe
The Gentoo documentation is absolutely astonishingly great. But it's the only
aspect of the system that I consider good. Everything else is a mess.

Gentoo feels like someone sat down to a Debian or CentOS system, used it for a
while, and said, "You know, I really like it when I have to compile stuff from
scratch, and make all of my own decisions about options and stuff and what
tools to use, even though I have no idea what the difference is between
various init systems, FTP servers, versions of Apache, configuration tools,
etc. I don't like how easy and quick installing software from apt-get or yum
is, or how it all seems to Just Work when it's done. I know, I'll borrow some
ideas from FreeBSD's far more complicated to use and error-prone package
management tools, and make a whole new Linux distribution that requires
significantly more time and effort to use! It'll be awesome!" And a billion
and one nerds with too much time on their hands saw it, loved it, and climbed
right on board.

I'm sure I'll be voted down for this, as Gentoo has rabid fans, but I'm always
stunned by how effectively the community markets Gentoo to new Linux users,
and what an astonishingly bad experience it provides to those new users.
Encouraging learning is wonderful, but foisting a seriously challenging
learning experience on to users while calling it an "easy to use" Linux
distribution is doing them, and Linux in general, a grave disservice. Gentoo
is _not_ easy to use, and it _is_ extremely easy to break.

------
mh77
Slicehost has a few good articles: <http://articles.slicehost.com/>

I have used them for setting up my own slice and it worked out really well.

~~~
kashif
Yup slicehost articles are really good.

~~~
rickd
I'm also going to echo this- I've done only a bit of playing around with
Ubuntu, but with mediatemple downtime issues I was having (grid service is not
quite what they advertise) I decided to jump in and get a slice about 2 months
ago.

I couldn't be happier. The tutorials (especially the ones for Ubuntu) are
fantastic, and setting up your server and security with shorewall/etc couldn't
be more painless. I probably took only an hour and had apache/php/mysql and
rails up and running securely.

Major points to slicehost for the high quality walkthroughs- and for 20 bucks
a month, it's more than worth it to just get a slice and jump in. That's
something I'd highly recommend (No, i don't work for them, I'm just very
happy!)

~~~
tricky
I'd like to second the recommendation for slicehost. Great, honest service and
the tutorials are good even for those of us who think we know what we're
doing.

------
maryrosecook
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...

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.

------
rcoder
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 _your fault_. (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.)

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.

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, _then_ go out and inflict your administration skills on the
'net at large.

------
gexla
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.

------
jncraton
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.

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.

------
hooande
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.

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.

------
kamme
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)

------
hs
OpenBSD's FAQ, then man afterboot

Its online tutorials are not as abundant say to FreeBSD, let alone Ubuntu;
however, you want quality, not quantity - Excellent man pages

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

Maybe there's a blub paradox playing in OS

------
strlen
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).

------
gtani
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.

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.

And a bunch of threads have gone over the Freebsd/OpenBSD, non-BSD choices,
look in

searchyc.com <http://news.ycombinator.com/item?id=197878>

<http://searchyc.com/ubuntu+fedora>

~~~
xirium
Or [http://www.ycombinator.search.xirium.com/cgi-
bin/fight.cgi?q...](http://www.ycombinator.search.xirium.com/cgi-
bin/fight.cgi?q0=fedora&q1=ubuntu)

------
bigtoga
If you are into Windows, you might want to check out our server admin
tutorials: <http://www.learnwindows2003.com/>

~~~
SwellJoe
I see what you did there. Nobody uses Windows on servers.

------
kngspook
By the way, I'd probably recommend Linode over Slicehost; you get more RAM for
the same price.

But besides that; I can't really speak to either of them.

------
kaens
<http://ibiblio.org> has a lot of good information.

------
alaskamiller
Why Slicehost sucks and you should use Linode:

1\. Slicehost makes you prepay 3 months to get started. Linode charges month
to month with discounts if you prepay.

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.

3\. Slicehost customer service is slow and more reliant on the community
boards. Linode responds to emails within 8-10 hours.

4\. Slicehost does not give you as much RAM (which is a lot more valuable).
Linode gives you 15% more.

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.

~~~
gexla
Points 1 and 2 are outdated. Point 3 is not a fact. Where does Slicehost
policy say that they will only respond to email after 10 hours? Just because
it happened to you does not say it happens every time. Just simply say their
customer service is not as good. Point 4 is not helpful because there are many
more variables to take into consideration when pricing a VPS. And anyways,
Slicehost has an option for 4 GB of RAM. Linode only has an option for 2880 GB
of RAM. Doesn't that mean that Slicehost gives you much more RAM? I realize
you probably mean something different, but you did not explain yourself. Point
5 is opinion.

~~~
alaskamiller
Point 1 and 2 were valid as of May 5th of this year. In my multiple
correspondences it took over a week before they finally relented on
reinstating my account just so that I can see it run out instead of getting my
money back. But now that you point it out they've updated the ToS, Slicehost
sucks a bit less than I had thought.

Point 3 was a comparison of response rates in customer service. Linode has
been consistently faster in response time for both tech and billing response.
My billing inquiries to Slicehost and my tech inquiries had longer turnaround.

Point 4 was a comparison of product offerings. Linode doesn't list a 4Gb
memory option but I'm sure you can ask them for it but this wasn't in
contention.

Point 5: I can flesh this out into paragraphs. Would that make you feel
better?

