SVN Manager
Tags: Apache, mysql, pear, php, subversion, SVN, svnmanager
I believe a lot of people start using Subversion now a day. Do you have any problem for manage more that 1000 people or more using subversion? I suggest you try SVNManager (web based).

SVNManager is a web based tool to administer a Unix/Linux Apache WebDAV Subversion repository server.
With SVNManager, you can remotely:
- Create, remove, load and dump repositories
- Manage user accounts for access to the repositories
- Manage groups for acces to the repositories
- Invite users by email to create an account on the server
- Requirements:
- Windows or *nix Operation System
- Apache 2
- Subversion
- PHP 5 + Pear + VersionControl_SVN
- MySQL/SQLlite
Installations Guides:
- 1. Apache2 - httpd-2.0.54
- ./configure –prefix=/usr/local/apache2 –enable-dav –enable-dav_fs–enable-so –enable-ssl –enable-maintainer-mode
- make; make install
- edit httpd.conf
- #Add these 2 lines into /usr/local/apache2/conf/httpd.conf ( for PHP usage )
- AddType application/x-httpd-php .php .phtml
- AddType application/x-httpd-php-source .phps
- #Add “< Location >” in /usr/local/apache2/conf/httpd.conf (for SVN use)”< /Location >”
DAV svn
SVNParentPath /data/repos
AuthzSVNAccessFile /data/repos/accessfile
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/repos/passwdfile
- 2. PHP-5.04 (Currently not working with PHP 5.0.5)
- ./configure –prefix=/usr/local/php5 –with-apxs2=/usr/local/apache2/bin/apxs –with-curl –with-mysql
- make; make install
- make sure php5_module in /usr/local/apache2/conf/httpd.conf
e.g. LoadModule php5_module modules/libphp5.so
- 3. Subversion
- ./configure –with-apxs2=/usr/local/apache2/bin/apxs –enable-maintainer-mode
- make ; make install
- Make sure these 2 lines in /usr/local/apache2/conf/httpd.conf
- Make sure you can find these files:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
find /usr/local/apache2 -name mod_dav_svn.so
find /usr/local/apache2 -name mod_authz_svn.so
locate libsvn_repos-1.so.0
- 4. SVNManger-0.36
- tar xvfz svnmanager-1.x.x.tar.gz /usr/local/apache2/htdocs/
- Edit the “config.php” according to your situation (config.php is a Linux template and config.php.win is a Windows template. If you use Windows, please copy config.php.win over config.php)
- Enter the locations of the Subversion command line tools and the Apache htpassword tool on your system.
- Enter the location of the Subversion repository folder, the Apache htpassword file and the Subversion access file.
- Example of config.php
- Create a directory mkdir “data/repos”
- Create a text file for ( passwdfile / accessfile )
- These files and folders need to be readable and writeable by the user that is running the Apache server!
- You must start with an empty repository folder, because SVNManager will overwrite existing folders when you create them via SVNManager. If you want to add existing repositories, dump them, see Subversion manual and load them via SVNManager.
- Enter the address of your smtp server (e.g. mail.mailserver.com)
- Enter the Data Source Name of the back end database:
- This can either be the location of a mysql database, e.g. on your system or a SQLlite database on your webserver.
- Enter the login data of a temporary administrator account. This account can be used to login the first time. This account will be disabled after you have created a user with SVNManager, with administrator privileges.
- Create a new database ‘svnmanager’ - Suggest use Webmin
- execute SQL createtables.sql ( from svnmanager folder )
$htpassword_cmd = “/usr/local/apache2/bin/htpasswd”;
$svn_cmd = “/usr/local/bin/svn”;
$svnadmin_cmd = “/usr/local/bin/svnadmin”;
// Subversion locations
$svn_repos_loc = “/data/repos”;
$svn_passwd_file = “/data/repos/passwdfile”;
$svn_access_file = “/data/repos/accessfile”;
// SMTP Server for outgoing mail
$smtp_server = “smtp.example.com”;
// Data Source Name (I choose MYSQL)
$dsn = “mysql://root:password@localhost/svnmanager”;
Type “mkdir /data/repos”
IMPORTANT of passwdfile/accessfile:
- 5. VersionControl_SVN / PEAR
- VersionControl_SVN-0.3 (http://pear.php.net/package/VersionControl_SVN)
- Untar the folder –> SVNManager folder.
- Rename the folder name to VersionControl.
- PEAR-1.3.6 (http://pear.php.net/package/PEAR)
- Untar and just copy the PEAR folder –> SVNManager folder.
- Running SVNManager:
- start your Apache
- Open a new browser tab with URL Address http://localhost/svnmanager and login with temporary administrator account.
Congratulation! You have successful install SVN Manager
Possibly Related Posts:
- Setup a Linux Highly Availability NFS servers
- How to find empty folders on Linux
- How to create full right permission on Samba share
- SSH Remote Access Authentication Tips
- Fedora 10 Artwork

March 26th, 2006 at 11:07 am
SVN + Trac = Thanks.
March 31st, 2006 at 5:26 pm
Great stuff dude.
April 10th, 2006 at 10:04 pm
[...] If you would like to try SVNManager, check out my installation guide here. [...]
September 24th, 2006 at 3:22 am
[...] (more…) [...]
January 28th, 2007 at 1:22 pm
when open http://localhost/svnmanager
Error:
Fatal Error
[2] DataModule::require(config.php) [function.require]: failed to open stream: No such file or directory (@line 15 in file D:\Server\svnmanager\svnmanager\MainModule\DataModule.php).
Debug Backtrace
#1 — pradoErrorHandler(…)
#2 DataModule.php:15 — DataModule::onLoad()
#3 TApplication.php:584 — DataModule->onLoad(…)
#4 TApplication.php:629 — TApplication->loadModule(…)
#5 TApplication.php:482 — TApplication->loadPage(…)
#6 index.php:5 — TApplication->run()
help me.
can you tell me what could I do?
Thanks!
January 29th, 2007 at 7:20 pm
Hi Chenlb,
Sorry to tell you I have no experience in Windows platform.
September 19th, 2007 at 9:56 am
Could you help me?I have no idea about the follow error:
Fatal Error
[2] UserPrivilegesEditPage::require_once(VersionControl/SVN.php) [function.require-once]: failed to open stream: No such file or directory (@line 198 in file C:\Program Files\Apache Group\Apache2\htdocs\svnmanager\RepositoryModule\UserPrivilegesEditPage.php).
Debug Backtrace
#1 — pradoErrorHandler(…)
#2 UserPrivilegesEditPage.php:198 — UserPrivilegesEditPage::onLoad()
#3 TControl.php:419 — UserPrivilegesEditPage->onLoad(…)
#4 TPage.php:1079 — TControl->onLoadRecursive(…)
#5 TPage.php:955 — TPage->onLoadRecursive(…)
#6 TApplication.php:483 — TPage->execute()
#7 index.php:5 — TApplication->run()
thank you very much!
November 24th, 2007 at 10:57 am
How can i get createtables.sql in svnmanager folder. I couldn’t see any createtables.sql file under that particular folder. Please help me how to proceed.
April 18th, 2008 at 2:13 am
When I run my apache first time i am getting following error mesage.
PHP Parse error: parse error, unexpected ‘)’, expecting ‘(’ in /usr/local/apache2/htdocs/SVNManager/prado-2.0.1/prado.php on line 85
November 20th, 2008 at 11:26 pm
I’m trying to edit Privileges. Select Path -> got blank screen.
error_log:
PHP Fatal error: Argument 1 passed to TComponent::addChild() must be an instance of TComponent, called in /var/www/svnmanager/svnmanager/RepositoryModule/UserPrivilegesEditPage.php on line 49 and defined in /var/www/svnmanager/prado-2.0.3/framework/TComponent.php on line 267, referer: http://svnmanager.mydomain/index.php?page=Repository:UserPrivilegesEditPage&RepositoryID=1
Subversion v1.5.1
Can you help to reslove?