My new One and One server is all set up now so I thought I'd summarise what my current preferred server setup is.
- Apache2 web server.
- Phusion Passenger mod_rails apache mod for running Rails web apps. Passenger makes this so easy compared with the nginx+mongrel approach that is so last year.
- postfix mail for notifications: postfix seems less hassle than exim and is more likely to Just Work. Exim would be great if the online docs were a bit less academic.
- openssh of course
- mysql for older websites (including Peter's Blog), sqlite for newer (low traffic)
- a bash script does full/incremental tgz backups of /var/www, /etc and /home. The tars are then synced to Amazon's S3 cloud storage. I chose tgz as it is an open format so the data is accessible without special tools (even on windows) and restores are a doddle. I only backup data, not stuff that can be reinstalled. Transfers from the server to S3 are very fast: two gigabytes takes under two minutes. I use s3 rather than one and one's included FTP backup space as that is only accessible from the server itself meaning data + backups would both be dependent on one company.
- iptables firewall blocking most ports, tested with a web-based tool.
- openvpn gateway for development. Love openvpn, a bit fiddly to set up first time but once done its rock solid and much easier than messing with ssh tunnels. Only downside of openvpn I can think of: iPhone says no. Much easier to set up than that horrible IPSec crap.
I think that's it. Cron does mysqldumps which are backed up, freebie monitoring site emails me if server dies.
Setting this up only takes a couple of hours, most config is just copied from old server. This is why backing up /etc is a good thing.







Twitterings
