======= Subversion HowTo ======= This is a simple how to set up your own subversion (SVN) repository on Slackware. When I wanted to set this up myself I found a document on how to set it up on a much older Slackware version so I created this to document on a more current version (14.2 as of this writing). ===== Repository folder ===== Subversion and its tools are installed by default in Slackware so you simply need a place to store the repository. Start by creating a folder for the SVN repositories: mkdir -p /home/svn/repositories ===== Apache Config ===== Now we need to setup Apache Edit /etc/httpd/httpd.conf And uncomment the following three lines: LoadModule dav_module lib64/httpd/modules/mod_dav.so LoadModule dav_svn_module lib64/httpd/modules/mod_dav_svn.so LoadModule authz_svn_module lib64/httpd/modules/mod_authz_svn.so Now add a virtual host for the repository location to the Apache config: DAV svn SVNParentPath /home/svn/repositories AuthzSVNAccessFile /home/svn/.svn-policy-file AuthName "Test SVN Repo" AuthType Basic AuthUserFile /home/svn/.svn-auth-file Satisfy Any Require valid-user This sets up a simple path based authentication. ===== SVN authentication and Users ===== Now setup the svn root directory by creating /home/svn/.svn-policy-file: Here the * gives read to all users and I gave myself (enine) read write access to a repository called test [/] * = r [test:/] enine = rw Next we create the .svn-auth-file first user and the first user. htpasswd -cs /home/svn/.svn-auth-file enine -c tells htpasswd to create the file and -s uses sha1 for storing the password to add additional users simply remove the c option. note that sha1 is not the most secure, you may wish to use htdigest or configure SSL in Apache to prevent password sniffing. Now create a repository svnadmin create --fs-type fsfs /home/svn/repositories/test --fs-type fsfs creats the file-system based repoistory And give Apache permissions over it chown -R apache:apache /home/svn/repositories/test If you didn't have Apache already running enable it chmod +x /etc/rc.d/rc.httpd And start Apache /etc/rc.d/rc.httpd start Now you can do a quick test http:///svn/test/ ====== Sources ====== [[http://www.slackwiki.com/Subversion | http://www.slackwiki.com/Subversion]] {{tag>subversion SVN}}