SVN-Admin
A Web Interface for Administering Subversion Repositories
The problem after setting up a subversion server with Apache
and the mod_dav_svn
module is to give users the right to
change their passwords, administer their repositories, get backups, etc.
without having a shell account on the subversion server.
This script should close this gap by providing the most common functionality.
Screenshot
Quick install instruction
Install apache and mod_dav_svn as usual. Then create a new
directory that contains subversion repositories
(e.g. /srv/www/subversion). Put the admin.cgi script into another
directory (e.g. /srv/www/svnadmin). You should open it with some
editor and adapt the paths at the beginning of the script. Then add
the following config to your httpd.conf
:
<IfModule mod_dav_svn.c> <Location /svn> DAV svn SVNParentPath /srv/www/subversion # The access control policy # Allow anonymous access, unless explicitly forbidden Satisfy Any Require valid-user AuthzSVNAccessFile /srv/www/subversion/.htsvnaccess AuthType Basic AuthName "Subversion repository" AuthUserFile /srv/www/subversion/.htpasswd </Location> </IfModule> ScriptAlias /svnadmin /srv/www/svnadmin/admin.cgi <Location /svnadmin> AllowOverride None Options +ExecCGI Order allow,deny Allow from all Satisfy All Require valid-user AuthType Basic AuthName "Subversion repository" AuthUserFile /srv/www/subversion/.htpasswd </Location>
Now create the empty files /srv/www/subversion/.htpasswd
and /srv/www/subversion/.htuserinfo
and add
an initial user with
htpasswd -m .htpasswd hoenicke echo 'hoenicke:Jochen Hoenicke:hoenicke@...' > .htuserinfoIf you update from a previous version of admin.cgi, you need to create the file
.htuserinfo
manually.
Create /srv/www/subversion/.htsvnaccess
with the following
content:
[groups] admin = hoenicke
Now you're ready to go. Put your browser to the URL
http://your.svn.server/svnadmin/
, enter the
credentials for an administrator login, and create repositories.
You can add new users at the configuration page of the repository.
Download
Copyright (c) 2007-2008 Jochen Hoenicke, Michael Möller
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.