Resources for learning how to administer Ubuntu Linux servers?
I bought a small slice at Slicehost.com, and have been playing around with a Ubuntu (hardy) Linux server. I’ve been playing around with setting up a PostgreSQL database, running Apache, and eventually working with Django. None of this is serious, and I’m just doing this to learn.
I’m in the process of teaching myself to program (mostly Objective-C), but I really don’t have any experience with networking or server administration. For example, I’m totally unsure about all of the various ports and what needs to be open, and what needs to be locked down etc. How to recognize/prevent/protect against attacks.
The articles at Slicehost do a great job of telling you what to do, but they don’t really explain WHY you’re doing something. I would really appreciate it if someone could direct me to a book or resource that explains this stuff in a detailed and approachable/friendly way. I’m familiar with the basics of using the bash shell in OSX terminal, so that’s made things a bit easier.
This question is in the General Section. Responses must be helpful and on-topic.