I wanted to setup SVN on my server. Why you ask? Well just because I can really. The most important reason is to get my mods and other files into a repository that would also act as a backup. I set it up on my site as I never saw the point in keeping on my own system.
Luckily, like most linux systems, on Ubuntu I can do this without breaking a sweat. I won’t go into why I am running ubuntu. I just felt like using Ubuntu as my server software of choice. Although I plan on looking into Debian.
When I was going to setup, SVN I decided to set it up with dav. Mostly because it would be easier for me to give out urls to the svn.
$ apt-get install subversion libapache2-svn
After that quickly ran and I accepted it to download the files, I was almost done. I setup a svn repository and did an initial commit into it. Although I had options for how to setup access, since I would be the only one committing to it, I just setup the very basic setup for access.
I had to setup my self signed SSL certificate so I could continue setting up svn. That is as simple as running the openssl command with the correct options. I did a google search since I was too lazy to read the manual.
$ openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key
Although I should of generated a 2048 key instead of the 1024 key. After that, it was very simple to complete the setup. I just needed to setup my virtualhost for svn and I was on my way.
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ServerAdmin foo@bar.com
ServerName svn.sleepycode.com
<Location /code>
DAV svn
SVNParentPath /home/svn
</Location>
</VirtualHost>