The below notes is specifically for centos-4.6 :
Installation:
# rpm -ivh  http://apt.sw.be/packages/rpmf orge-release/rpmforge-release- 0.3.6-1.el4.rf.i386.rpm
# yum install httpd subversion mod_python mod_dav_svn
# yum --enablerepo=rpmforge install tracInstantiating svn:
# mkdir /var/www/svn
# svnadmin create /var/www/svn/projectInitial svn import:
# mkdir -p /tmp/newsvn/{trunk,tags,branch es}
# svn import /tmp/newsvn file:///var/www/svn/project -m "Initial import"
# chown -R apache /var/www/svn/project
# chmod -R go-rwx /var/www/svn/projectInstantiating trac:
# mkdir /var/www/trac
# trac-admin /var/www/trac/project initenv
# mkdir /var/www/{.python-eggs,passwd}
# htpasswd -c /var/www/passwd/.htpasswd <adminuser>
# touch /var/www/passwd/svnauthz
# chgrp -R apache /var/www/trac/project
# chown -R apache /var/www/trac/project/{attachm ents,db,log,plugins}
# chown -R apache /var/www/{.python-eggs,passwd}
# chmod -R o-rwx /var/www/{trac/project,.python -eggs,passwd}
# chmod g+w /var/www/trac/project/conf/tra c.iniInstall trac plugins:
# wget http://peak.telecommunity.com/ dist/ez_setup.py
# python ez_setup.py
# easy_install http://svn.edgewall.com/repos/ trac/sandbox/webadmin/
# easy_install http://trac-hacks.org/svn/acco untmanagerplugin/0.10
# easy_install http://trac-hacks.org/svn/svna uthzadminplugin/0.10trac.ini conf setup:
[trac]
default_charset=UTF-8
authz_file = /var/www/passwd/svnauthz
[components]
acct_mgr.admin.accountmanage radminpage = enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.htfile.htpasswdstor e = enabled
acct_mgr.web_ui.accountmodul e = enabled
acct_mgr.web_ui.loginmodule = enabled
trac.web.auth.loginmodule = disabled
webadmin.* = enabled
svnauthz.* = enabled
[account-manager]
password_file = /var/www/passwd/.htpasswd
password_store = HtPasswdStoreApache trac conf setup:
Alias /trac /var/www/trac
<Location /trac>
    &nbs p;   SetHandler mod_python
    &nbs p;   PythonInterpreter main_interpreter
    &nbs p;   PythonHandler trac.web.modpython_frontend
 />    &nbs p;   PythonOption TracEnvParentDir /var/www/trac
    &nbs p;   PythonOption TracUriRoot /trac
    &nbs p;   SetEnv PYTHON_EGG_CACHE /var/www/.python-eggs
</Location>
#<Location /trac/*/login>
#    &nb sp;   AuthType Basic
#    &nb sp;   AuthName 'Trac Server'
#    &nb sp;   AuthUserFile /var/www/passwd/.htpasswd
#    &nb sp;   Require valid-user
#</Location>Apache subversion conf setup:
<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn
   # Limit write permission to list of valid users.
   # <LimitExcept GET PROPFIND OPTIONS REPORT>
    &nbs p; # Require SSL connection for password protection.
    &nbs p; # SSLRequireSSL
    &nbs p; AuthType Basic
    &nbs p; AuthName 'Authorization Realm'
    &nbs p; # Trac .htpasswd file used so users will be the same for both
    &nbs p; AuthUserFile /var/www/passwd/.htpasswd
    &nbs p; Require valid-user
    &nbs p; AuthzSVNAccessFile /var/www/passwd/svnauthz
   #</LimitExcept>
</Location>Trac privileges:
# trac-admin /var/www/trac/project permission add admins TRAC_ADMIN
# trac-admin /var/www/trac/project permission add <adminuser> admins
# trac-admin /var/www/trac/projectname permission remove anonymous TICKET_CREATE TICKET_MODIFY etc...
# track-admin /var/www/trac/project permission add devs BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW   &nbs p;    \
    &nbs p;    &nbs p;    MILESTONE_CREATE MILESTONE_VIEW REPORT_CREATE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW  \   
    &nbs p;    &nbs p;    ROADMAP_VIEW SEARCH_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY \
    &nbs p;    &nbs p;    TICKET_VIEW TIMELINE_VIEW WIKI_CREATE WIKI_MODIFY WIKI_VIEW Login as the admin user and setup Trac plugins, permissions etc...
- sandip's blog
 - Login or register to post comments
 
Comments
Hi, Thank you for this very good tutorial. I have setup svn with its help but I am getting error when I am starting httpd service. It is in "Apache subversion conf setup:" Unknown DAV provider: svn
Please let me know what I forget to install.
Thanks
Check that the dav svn module is loaded in apache conf via:
LoadModule dav_svn_module &nbs p;  modules/mod_dav_svn.soIt should have it if you have installed "mod_dav_svn" as mentioned above.
In Subversion 1.1, a Berkeley DB repository is the default repository type, but an FSFS repository can be created using the --fs-type option:
$ svnadmin create /path/to/repos --fs-type fsfsFrom the propaganda notes at: svn.collab.net, it seems that "fsfs" is a better option to BDB for the filesystem implementation to be used when creating new repositories.
Upgrade
 
 Remove updated packages
 
 Update Environment:
 
rpm -e trac untmanagerplugin/trunk chen.de/svn/tracmods/tracsvnau thzplugin/0.11easy_install --always-unzip Genshi
easy_install Trac
easy_install --upgrade http://trac-hacks.org/svn/acco
easy_install --upgrade https://svn.geophysik.uni-muen
rm -rf /usr/lib/python2.4/site-packag es/TracWebAdmin-0.1.2dev_r5911 -py2.4.egg/ es/TracAccountManager-0.1.3dev _r2548-py2.4.egg es/TracSVNAuthz-0.3-py2.4.eggrm -rf /usr/lib/python2.4/site-packag
rm -rf /usr/lib/python2.4/site-packag
trac-admin $PATH_TO/project upgradetrac-admin $PATH_TO/project wiki upgrade
Checkout:
 
Add:
 
Remove:
 
Remove all files except the .svn directory (to use with rsync):
 
 
- Exclude/ignore directory
 
 
svn --username={user} co http://localhost/svn/project [project_folder]cd {project_folder}svn st | awk '/^?/ {print $2}' | xargs svn add
svn st | awk '/^!/ {print $2}' | xargs svn deletefind * -path *.svn -prune -o -print0 | xargs -O rm -rfor
find * -path *.svn -prune -o -print --exec rm -rf {} \;svn delete tmp/*svn propset svn:ignore ‘*’ tmp/