Fork me on GitHub

Installing Subversion on a Home Ubuntu Server - Create username/password Combinations

Article Index

14. Create username/password combinations

Before users can access the repository, you must create username an password combinations for them in the subversion password file. To do this, issues the following command for each user that will have access to the repository.

sudo htpasswd /usr/local/svn/svn.example.com/conf/passwd username

15. Router and DNS Configuration

In order for you to get to your repository from outside your house, you need to setup the DNS record for the domain and some sort port forwarding or virtual server in your home router.

If you are using a service like DynDNS, you don't need to worry about changing any DNS records. If you are going to make the repository a subdomain of a domain that you are currently hosting on a commercial server, you need to create an 'A Record' DNS entry for the subdomain. Most hosts will allow you to easily do this. Through GoDaddy it is referred to as 'Total DNS,' while on WHM/C-Panel it is called 'DNS Zones.' The important thing is that you create an 'A' Record pointing to your external Home IP address. For instance, if your WAN IP address is 69.123.45.67 your record would take the form:

svn IN A 69.123.45.67

Next, you will need to setup port forwarding or a virtual server so that you can get to your repository. On Belkin routers this feature is under the Firewall section and is labeled Virtual Servers; on Linksys routers it is under Applications & Gaming and is labeled Port Range Forwarding. Refer to your router manual for exact instructions on how to do this. In your router configuration, you should set the port you chose for your repository to forward to the same port on your internal server. Routers generally take a port range, but since we only want one port the start and end number will be the same. For example, the setup in this tutorial would point incoming ports 8088-8088 to the private IP of 192.168.1.100 and Private Ports of 8088-8088.

16. Accessing your repository

You will now be able to access your subversion repository. You can gain access through either your web browser, or through a subversion client program such as TortoiseSVN. You will, more than likely, have to access the repository differently inside and outside your network. For instance, using the data from this tutorial, you would access the repository using the following addresses:

From inside your network: https://192.168.1.100:8080/

From outside your network: https://svn.example.com:8080/

If you wanted to use the same address both internally and externally, you could setup an internal DNS server (tutorial to come soon!), or change your Windows host file on the computers that would be accessing the repository to include the following line:

192.168.1.100 svn.example.com

17. Resources

For more information on Subversion: Subversion Book

For more information on Ubuntu: Ubuntu