When I want neato http urls for my repository, as well as simple anonymous checkouts, this is how I roll:
I should already have apache 2.2 and subversion up and running, but I may not have the proper modules available. So I need those first:
$: sudo apt-get install libapache2-svn
I'm going to give it a webroot at /var/www/svn.project. The webroot isn't important since it will be mostly empty. I just want a place to store the log files that is consistent with my other sites:
$: cd /var/www
$: mkdir svn.project
$: mkdir svn.project/log
$: mkdir svn.project/public
Lets say the repos I want to expose is at /var/www/project/repos and I want to give it a url of http://svn.project.com/ (assuming that subdomain already points to the server hosting the repos). Now need to set up the virtual host config:
<VirtualHost * >
DocumentRoot /var/www/svn.project/public
ServerName svn.project.com
<Location />
DAV svn
SVNPath /var/www/project/repos
</Location>
ErrorLog /var/www/svn.project/log/apache2-error_log
CustomLog /var/www/svn.project/log/apache2-access_log combined
</VirtualHost>
Save that as /etc/apache2/sites-available/svn.project.conf and run:
$: sudo a2ensite svn.project.conf
Then reload apache:
$: sudo /etc/init.d/apache2 force-reload
That's it.