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 in the comments.
- 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 is costing me around $10 a month but is still cheaper than unfuddle. If you want the free SVN, leave it at the free level!
- 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 bit of extra work but a thing.