Setting up a Secure Subversion Server with Apache in Ubuntu

If you have not read the Apache HTTPS, read it before you go through this post.

"Subversion (SVN) is a version control system initiated in 1999 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used Concurrent Versions System (CVS)." -Wikipedia

Steps are pretty easy now:

<i><b>Step 1:</b></i>
<b>Get subversion and Subversion modules for Apache2</b>
<b>sudo apt-get install subversion subversion-tools libapache2-svn</b>
<i><b>Step 2:</b></i>
<b>Creating repository and setting permissions</b>
<b>sudo mkdir /var/svn
sudo svnadmin create /var/svn/test
sudo chown -R www-data:www-data /var/svn/test
sudo chmod -R g+ws /var/svn/test</b>
<i>P.S: test is the name of the repo</i>
<i><b>Step 3:</b></i>
<b>Configure Apache to detect the svn</b>
<i>edit /etc/apache2/mods-available/dav_svn.conf</i>
<b>See the sample file that is attached</b>
<i><b>Step 4:</b></i>
<b> use -c option for the first users<b>
<b>sudo htpasswd -c /etc/subversion/test.passwd hemanth
sudo htpasswd /etc/subversion/test.passwd ubuntu</b>
<i><b>Step 5:</b></i>
<b>Reload Apache</b>
<b>sudo /etc/init.d/apache2 reload</b>
<i>Now check your <a href="https://localhost/svn" title="https://localhost/svn">https://localhost/svn</a> it must say revision 0</i>
<b><i>Checking out and adding files to svn</i></b>
<b>svn co <a href="https://localhost/svn/test" title="https://localhost/svn/test">https://localhost/svn/test</a> test --username hemanth</b>
<i>It will prompt you for your password before checkout</i>
<b>cd test $ echo 'Hello, g33k' > hello.txt</b>
<b>svn add hello.txt </b>
<b>svn commit -m "Added my first file"</b>
<b>That's it, now you can refresh you page to see the new file.</b>
<b>Now download this book:<a href=>svnbook(click)</a>

Share this