Configuring the biowikifarm subversion repository

From Biowikifarm Metawiki
Revision as of 12:34, 25 November 2010 by Gregor Hagedorn (Talk | contribs)

Jump to: navigation, search

Configuring a subversion repository, with svn already installed through apt-get, on Debian 5. The procedure was contributed by an anonymous helper. First: in /etc/apache2/mods-enabled/dav_svn.conf enable several lines:

<Location /svn>
DAV svn
SVNPath /var/lib/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</Location>

Create password file and users:

sudo htpasswd -c /etc/apache2/dav_svn.passwd user ## only for first user
sudo htpasswd /etc/apache2/dav_svn.passwd user1
sudo htpasswd /etc/apache2/dav_svn.passwd user2 ## etc.

Create access control file and reload:

sudo nano /etc/apache2/dav_svn.authz
# Read/write permission for all SVN users:
[/]
* = rw

sudo /etc/init.d/apache2 reload

Creating SVN-Repository, access only to Webserver:

sudo mkdir /var/lib/svn
sudo svnadmin create /var/lib/svn/
sudo chown -R www-data.www-data /var/lib/svn/

Now one can check versions directly inside the browser using https://biowikifarm.net/svn/ or check locally out using a svn client:

svn co https://biowikifarm.net/svn/

To increase comfort we can ensure that webserver shows the most recent version:

sudo htpasswd /etc/apache2/dav_svn.passwd www-data
<PASSWORD>
sudo -s
# chown -R www-data.www-data /var/www/v-artenquiz
# www-data needs a folder to store svn-configuration:
sudo mkdir /var/www/.subversion
sudo chown www-data.www-data /var/www/.subversion/
su - www-data # change user to www-data
(www-data$) cd /var/www/v-artenquiz
(www-data$) svn co https://biowikifarm.net/svn
(<PASSWORD> angeben)

Continuing as normal user, create file /var/lib/svn/hooks/post-commit with:

#!/bin/sh
cd /var/www/v-artenquiz
HOME=/var/www 
/usr/bin/svn update

and set this file as executable

sudo chmod +x /var/lib/svn/hooks/post-commit

By means of this commit-hook, whenever a commit to SVN occurs, www/v-artenquiz is automatically updated as well!