I’m on build #28.
28 times that I’ve blown up and re-imaged my server slice with a fresh Ubuntu install. I sit down to the command line with the intent of building a stable install, and I’ll get to the point where something goes way left, blow up the server, start over. I haven’t found a way to back things up cleanly, to uninstall a package, revert config files to their defaults, and remove the files and folders associated with it. I get very nervous knowing that some package has left trash all over my server. So, I blow up and start over.
- Install apache2, install php5, install webmin, try to enable WebDAV on a virtual host, webmin hangs on a perl module and won’t budge. Blow up, start over.
- Install apache2, install php5, install phpmyadmin, try to use it to setup a new privileged user and database, but phpmyadmin refuses to stay logged in. uninstall, reinstall, uninstall, reinstall, blow it up, start over.
- Install Lighttpd, install ruby, install gems, install mongrel, realize that you’re accidentally following a tutorial for a ruby on rails application instead of a LAMP server, blow it up, start over.
Repeat, 28 times, with different problems and configurations.
It’s not lost time, really. I’m actually enjoying it. There’s something very zen about knowing you can always erase your mistakes and start over. I feel like each time, I’m narrowing in on the right setup, learning new things, starting to get a sense of how Ubuntu organizes data. My goals is to be able to setup a server without having to follow a tutorial; to know what the available options are at each stage in the setup, and to make an informed choice for each one.
It’s not enough to just build a server, I want to know how to build a server.