Archive for June, 2009

Ubuntu Server Setup Checklist

June 20th, 2009

I’ve now set up half a dozen or so Ubuntu Server installations over the past year or two.  For the last few, I created a checklist to make sure I don’t leave any of the smaller, less obvious things out.  I present it here, completely unmodified.  Note, this is more of a preliminary checklist, as it doesn’t include installation of Apache, MySql, PHP or any other programs such as Postfix.  Basically, I’ll perform these steps regardless of whether It’ll be a web or mail server.  These also assume you like the vi text editor, if not, you can substitute emacs, nano, or whatever your preference when neccesary.  Also, some of these are already done depending on your server host.

Time/Date/Language
Fix Locale Warnings:
# apt-get install language-pack-en

Set Timezone:
# dpkg-reconfigure tzdata

Install Time Daemon:
# apt-get install ntp

General
Install Manual Pages:
# apt-get install man

Add Domain name
# vi /etc/hosts
127.0.0.1 localhost
123.456.789.012 computername.domain.com computername (replace external ip)

Security
Add Administrative User (with home directory):
# useradd myusername -m

Give Admin user Sudo Powers
# visudo
myusername ALL=(ALL) ALL

Set Admin Password
# passwd myusername

Set Admin Shell Preference (optional)
# vi /etc/passwd
myusername: […] :bash

Disable Root SSH Login:
# vi /etc/ssh/sshd_config
PermitRootLogin no <–MAKE SURE YOU CREATED ADMIN & PASSWORD

Tighten default permissions for file & directory creation:
# vi /etc/profile
umask 027 (no default access for others)

Install and Set Up Firewall
# apt-get install ufw
# ufw allow ssh <–DO NOT FORGET THIS
# ufw enable

Rackspace Cloud Hosting – Unexpected Awesomeness

June 10th, 2009

Rands, an internet celebrity among the tech crowd, once wrote that for him to use a a new application, it must:

  1. look and feel like magic.
  2. Work flawlessly in the first 10 minutes.
  3. Provide additional, unexpected awesomeness.

Ever since reading that, I’ve placed most new things I encounter up to that test.  Suprsingly few hold up.  Last week however, one passed with flying colors.  I was shopping for a cost-effective way to consolidate my web hosting plans.  I was specifically looking for a virtual private server with strong uptime and speed numbers, Ubuntu Server OS, and a low price. Rackspace cloud servers fit the bill perfectly, so I signed up.  So how did it score? Let’s see:

Magic:  You start off by picking your server size.  It’s easier than shopping on Amazon.  256mb of RAM. Done.  Then you pick your OS.  Not only did they have Ubuntu, they had the latest three releases.  Next up, you see your virtual server created in real time with a nice little progress bar.  Create an entirely new server in 30 seconds?  Watch the whole process without a page load?  Good enough to be magic for me.

Work Flawlessly:  I spent the next 45 minutes going crazy with apt-get and wget.  I installed Apache, Mysql, PHP, Postfix, Dovecot, GD, WordPress & Roundcube.  Not a single hitch.

Unexpected Awesomeness:  Backups!  Daily, weekly and variable backups are included.  You can image the entire server without taking it offline, and restore a backup with one-click.  Scaling!  I decided to bump my plan from 256 to 512mb of RAM.  The entire process took about two minutes, and there was no need to re-configure anything.  DNS Hosting!  You can stack domain nameserver hosting on for free even if the domains are registered elsewhere.  Reverse DNS Lookup!  I’ve never found another host or ISP that makes it as easy to set your PTR record.  Support Chat!  I don’t feel like waiting on hold for support.  Twice I opened an IM window and got help from a human within a minute.  Basically there was enough unexpected awesomeness to go around.

Cloud Hosting and Cloud Computing by Rackspace - Formerly Mosso

Hats off to Rackspace, my new favorite hosting company!