# first install subversion and apache libs. # $ sudo aptitude install subversion libapache2-svn # next we need a repository, I like to store all my # subversion repositories under /var/svnroot. # $ sudo mkdir -p /var/svnroot/projects $ sudo chown www-data:www-data -R /var/svnroot $ sudo chmod 770 -R /var/svnroot $ sudo svnadmin create /var/svnroot/projects
Next we need to configure apache, so edit the file /etc/apache2/mods-available/dav_svn.conf, here are some of the basic things you need to set.
... # Uncomment this to enable the repository DAV svn --- # no anonymous access. Satisfy Any Require valid-user --- # path to repo's. SVNParentPath /var/svnroot ..... AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd ...
Now we need to setup a user with htpasswd and restart apache.
# provide a password when asked. # $ htpasswd -c /etc/apache2/dav_svn.passwd tester # restart apache and after creating a new repository. # $ sudo /etc/init.d/apache2 reload
To setup a project, I just dumped and loaded from an existing project as follows.
# at existing project site we dump the repository (called 'projects'). # $ sudo svnadmin dump /var/svnroot/projects > projects.dump # move that to your newly setup subversion location and load. # $ scp remotehost:/path-to-dump/projects.dump . $ sudo svnadmin load /var/svnroot/projects < projects.dump # open url: http://hostname/svnroot/projects # and supply user 'tester' and your password should # allow you to browse the repo.
All comments are welcome, please post if you have any questions!