The following blog post, unless otherwise noted, was written by a member of Gamasutras community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
I was hosting the subversion server for Energy Hook on Unfuddle, but that got pricey after I hit the free tier storage limit. So, at the suggestion of @Kostas_Zarifis, I switched to hosting on EC2, which took most of a day to figure out but has only cost around a dollar a month.
But I'm an idiot and forgot my password and deleted the key pair file which had been lingering in my downloads directory and purged long ago. Whoops.
So I had to do this again, and was taking notes on the process as I went, but decided to reboot my computer midway because I was having internet issues, and, well...lost the notes. So, here's my best attempt to reconstruct them, but there could be some gaps. If you try this and have trouble, let me know where you get hung up and I'll fix it!
- After I have my EC2 account set up, Launch Instance
- I choose Windows 2008 R2 Server.
- I go to Add Storage because I know that 30 gigs is going to get used up quick (almost 20 of it starts out used by the OS, etcetera). This will cost some money, but so far I've paid less than a dollar a month.
- I confirm and Launch.
- I generate the Key Pair.
- I right click on the instance once it's running and Get Windows Password.
- THIS TIME, I'm saving my Key Pair and Password someplace safe. :P
- I connect with Remote Desktop and find that I can't seem to download SVN or anything.
- So I go to Server Manager->Server Summary->Security Information->Configure IE ESC and turn that shit off for Administrators, whatever it is.
- Okay, I can download stuff now. This time I'm going to be better than last time, I'm going to use VisualSVN Server, which has more security!
- I manage to set up a test repo, (using https: and port 443) and I can connect to it from the Server, but not from anywhere else. Do I have the port wrong? The address? Firewall problems? Who knows!
- Eventually I figure out to go to the EC2 Management Console->Security Groups->the group for my new instance, and add rules not only for TCP port 443 but also ICMP, so I can just Ping the darn thing and make sure I see it at all. (After I add the rule I have to remember to Apply Rule Changes.)
- Now things seem to work from the client side. I can
svn ls https://my-public-ip-here:443/svn/happionlabs
and see my test repo. (There was a moment of hilarity, because in trying to figure out what was wrong I turned off the https: security on the server side, which changed the port to 80 without me noticing, so I couldn't figure out why, now that I'd figured out how to open the freaking ports, things still didn't work. Haha. Ha.)
So there it is. A lot of work compared to a site like Unfuddle but a thing you can do if you want to save money.
Oh, and in case you ask, "why Subversion and not the new hotness like GIT or Mercurial?" My answer's at the bottom of this post.