====== 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 =====