====== SVN on CentOS ======
===== Start Installation =====
==== Change root user ====
su - ## OR ## sudo -i
==== Install needed packages (mod_dav_svn and subversion) ====
yum install mod_dav_svn subversion
Note: If you don’t have Apache installed already, this command installs it also. [http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/ Read more about installing Apache and PHP >>]
==== Modify Subversion config file ''/etc/httpd/conf.d/subversion.conf'' ====
Add following config to /etc/httpd/conf.d/subversion.conf
file:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
==== Add SVN (Subversion) users ====
Use following command:
## Create testuser ##
htpasswd -cm /etc/svn-auth-users testuser
New password:
Re-type new password:
Note: Use exactly same file and path name as used on ''subversion.conf'' file. This example use ''/etc/svn-auth-users'' file.
==== Create and configure SVN repository ====
mkdir /var/www/svn
cd /var/www/svn
svnadmin create testrepo
chown -R apache.apache testrepo
chcon -R -t httpd_sys_content_t /var/www/svn/testrepo
## Following enables commits over http ## chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo
Restart Apache:
/etc/init.d/httpd restart ## OR ## service httpd restart
Goto ''http://localhost/svn/testrepo'' address and you should see something like following, write username and password:
{{ :wiki:01-svn-subversion-username-password.png |}}
SVN testrepo revision 0:
{{ :wiki:02-svn-subversion-repository-revision-0.png |}}
==== Configure repository ====
To disable anonymous access and enable access control add following rows to ''testrepo/conf/svnserve.conf'' file:
## Disable anonymous access
## anon-access = none
## Enable access control
## authz-db = authz
==== Create trunk, branches and tags structure under testrepo ====
Create “template” directories with following command:
mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}
Then import template to project repository using “svn import” command:
svn import -m 'Initial import' /tmp/svn-structure-template/ http://localhost/svn/testrepo/
Adding /tmp/svn-structure-template/trunk
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags
Committed revision 1.
Check results on browser and see testrepo revision 1:
{{ :wiki:03-svn-subversion-revision-1.png |}}
===== End Installation =====