I would like to set up an SVN Repository on this Old machine I have at home and make it available over the net. This Computer is quite old, so I want to use Ubuntu Linux.
I browsed around for some time, looking for certain combinations, and have now made up my mind as to what I want, but I cant find anything that implements it all, and as a result I have gotten VERY confused by the Different Configurations.
I would like to use (tell me if you have any suggestions about this setup)
-
Ubuntu 9.04 Server (for the speed, I’m still looking for a light GUI that I can start on demand, just in case; but that’s not topic of my question)
-
Apache 2
- Something to Secure the connection (but Not SSL – I tried that and I Mozilla tried to frighten me away from my Server – Maybe OpenSSH, that sounds quite good? I read about svn+ssh://)
I want only people with password to be able to see, no anonymous reading/browsing. The time isn’t ripe for my projects to go open source. Some will say a local repository is good, But I have collaborators from all over the country who need to check in and out from it.
Since I dont want to buy a Domain they will have to phone/chat and ask for IP all the time, but thats ok with me. This leads to another problem – How do I tell the router that If someone comes to call at this IP on Port So-and-so to redirect him to the Apache Server? I read about DMZ or something but honestly I have no clue.
So:
- What packages to install?
- What to Put into the Configuration files?
P.S. – I want to host multiple repositories on this server – Something to do with SVNParentPath instead of SVNPath ?
Thanks to anyone who is willing to help!
All you need is openssh and subversion packages.
This will allow you to use
svn+ssh://user@yourdomain.com/full/path/to/repoUsing SSH is great because you get all the benefits of SSH as well, including the security.
You will need to use the
svnadmincommand to create a repository then access it using svn+ssh.So if you decide to create your repository like this:
Then you can use this uri to access your repo:
Your svn client must support svn+ssh which the command line does in Linux, and TortoiseSVN does also.
You can give each user the same account to use, or create individual accounts for each dev and apply standard linux permissions to the repository to allow all of them to read and write to the repository.