New Server Hell

So, one of the other guys in my new company ordered the parts for a Linux server to be sent to me (because we still live in a time when it's cheaper to build your own Linux server than to buy one pre-made), which I built the other day. This was somewhat interesting in that I haven't put together a new machine in quite a while, but, fortunately, it seems like these things get easier rather than harder as the technology progresses.

The machine was built, and I had to add services to it. The first thing we needed was our Redmine installation, which up until now was running on my home Linux box. Both machines are running Ubuntu (for no other reason than it's easily accessible and has a very large user base), so it was just a matter of installing MySQL and Redmine from the Ubuntu repos, dumping the MySQL database from the other machine and moving it to this machine. This worked…mostly. For some strange reason the user passwords didn't work, so I had to start by resetting the admin password (using the instructions from this post), and then resetting all the user passwords. The only other hitch was that the main page reset to the default main page rather than the wiki page for my company, which I had set up a while ago. Easy enough to fix with these instructions. So far so good.

Next, I had to move our subversion repository over from a machine running Windows to this new server. Again, easy enough, you just have to dump the repository and load it again, as per these instructions. Then, I just had to make sure svn+ssh worked (I had already setup SSH on the machine and set up accounts for our guys), and then I had to setup SVN through WebDAV, which was really just a matter of enabling some of the Apache mods.

The big kicker, though, was that I'm temporarily hosting our server at my house, so it's part of my network. Since I already have a web server (on my Linux box) running exposed to the world, for Redmine, I had to enable mod_proxy on my home Linux box to reverse-proxy the requests to the new box. WebDAV I simply made HTTPS, so I could set up a separate port forward for it directly to the new box.

All in all, one big sysadmin day for a guy who doesn't especially like sysadmin work.