Now onto setting up SVN and apache.
First off, make sure libapache2-svn is installed. Now to the configuration in /etc/apache2/mods-available/dav_svn.conf
Mine looks like this:
<Location /svn/project>
DAV svn
SVNPath /path/to/my/project/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Note: I'm doing something stupid here. I'm create ONE repository for my project as opposed to using SVNParentPath
where you could have multiple repositories later. Yes, this is just for one project. We'll go back and fix later. (It's a virtual machine remember!)
Next, create a password:
htpasswd2 -c /etc/apache2/dav_svn.passwd josh
Now, onto our SVN repository. Let's give apache access (while we're at it, let's fix the group from last time too)
sudo chown www-data:www-data -R /projects
Ok, now to throw some random thing in the repostiory and make sure you can see it:
sudo su www-data
cd /some/place/safe
mkdir tmp
touch tmp/README
svn import /some/place/safe/tmp file:///path/to/my/project/svn
Alright... now we restart apache (/etc/init.d/apache2 restart
) and it should be up and running! if you're like me shoot over to http://localhost:8888/svn/project
and you should see your SVN repostiory. (you should also make sure TRAC sees it).
Well, I think we accomplished something here! Now (if your box is on the net) you can start adding code and tracking changes. Unfortunately we have a little bit more to do before I'm ready to start my project, and that little bit is the maven infrastructure.
I was hoping Trac could manage our passwords for SVN (and create new repositories), but it looks like that's a no. Oh well, once again we'll see how annoying it gets. If it gets too annoying, I'll make an extension. I'm hoping to find an alternative to gforge that I can host internally to a company.