The Digital Cave

Primitive Life in a Technological World

 

Debian Wheezy Server Setup

This page describes my procedure for setting up a simple home server, to host web pages, backups, media, documents, printer, etc. Currently this is running on an old Core 2 Duo desktop, although these instructions are almost completely platform agnostic. This is mostly just relevent to me; using this guide, I can re-create my server OS / application setup in an hour or two. If someone else finds it useful, so much the better.

Install

Partition layout

Configure

SSH

Tomcat

Postfix SMTP

My requirements for a mail server are quite simple: I use GMail for IMAP, I just want to be able to send / recieve mail to my @digitalcave.ca domain. Postfix handles this easily:

Samba

Rsnapshot

Cups

HDParm

NTPDate

ddclient

MediaTomb

SMART Monitor

Logcheck

SFTP Jails (for backups)

SSH Jails (for rsync backups)

If your backup users need a real shell (e.g. for rsync to work), you can still use a Chroot, just without the SFTP only requirement. To do this, follow the instructions above, but with some changes:

EncFS for remote backups

This describes how to have a partition on your drive encrypted. You can then backup the underlying encfs volume to an untusted source.

You can then save anything you want to /path/to/encfs-mountpoint, and corresponding encrypted files will show up on /path/to/encfs-root. You can then backup /path/to/encfs-root to any untrusted backup service you choose (cloud hosting, semi-trusted friend with bi-lateral SSH chroots as described above, desktop drive at work that the janitor may have access to, whatever). The data will be useless without the password.

Make sure that your password (better yet, passphrase) is strong but memorable. If it is randomly generated and your machine is destroyed, you may not remember the password when you go to recover your data.

Host Time Capsule volumes