Sponsored By

Hosting a subversion server on an Amazon EC2 instance

Hosting your source control server in Amazon's EC2 cloud is a really inexpensive way to go. Here are the steps.

Jamie Fristrom, Blogger

October 23, 2013

3 Min Read

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.

Read more about:


About the Author(s)

Jamie Fristrom


Jamie Fristrom is a partner, technical director, and designer at Torpex Games and he's writing this in the third person. Prior to Schizoid, Jamie was a technical director and designer on Spider-Man 2, his biggest claim to fame being that he invented its dynamic, physical swinging system. Other games he's worked on include Spider-Man for PS2, Xbox, and Gamecube, Tony Hawk for the Dreamcast, Die by the Sword for the PC, and the Magic Candle series of RPGs. Jamie wrote the "Manager in A Strange Land" column for Gamasutra, blogs at www.gamedevblog.com, and (he thinks) holds the world record for number of post-mortems written for Gamasutra and Game Developer.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like