Wednesday, 9 September 2009

Trac and SVN install / configuration notes



Installation:

# rpm -ivh  http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm

# yum install httpd subversion mod_python mod_dav_svn

# yum --enablerepo=rpmforge install trac

Instantiating svn:

# mkdir /var/www/svn

# svnadmin create /var/www/svn/project

Initial svn import:

# mkdir -p /tmp/newsvn/{trunk,tags,branches}

# 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/project

Instantiating trac:

# mkdir /var/www/trac

# trac-admin /var/www/trac/project initenv

# mkdir /var/www/{.python-eggs,passwd}

# htpasswd -c /var/www/passwd/.htpasswd

# touch /var/www/passwd/svnauthz

# chgrp -R apache /var/www/trac/project

# chown -R apache /var/www/trac/project/{attachments,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/trac.ini

Install 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/accountmanagerplugin/0.10

# easy_install http://trac-hacks.org/svn/svnauthzadminplugin/0.10

trac.ini conf setup:

[trac]

default_charset=UTF-8

authz_file = /var/www/passwd/svnauthz

[components]

acct_mgr.admin.accountmanageradminpage = enabled

acct_mgr.api.accountmanager = enabled

acct_mgr.htfile.htpasswdstore = enabled

acct_mgr.web_ui.accountmodule = 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 = HtPasswdStore

Apache trac conf setup:

Alias /trac /var/www/trac



SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption TracEnvParentDir /var/www/trac

PythonOption TracUriRoot /trac

SetEnv PYTHON_EGG_CACHE /var/www/.python-eggs



#

#        AuthType Basic

#        AuthName 'Trac Server'

#        AuthUserFile /var/www/passwd/.htpasswd

#        Require valid-user

#

Apache subversion conf setup:



DAV svn

SVNParentPath /var/www/svn

# Limit write permission to list of valid users.

#

# Require SSL connection for password protection.

# SSLRequireSSL

AuthType Basic

AuthName 'Authorization Realm'

# Trac .htpasswd file used so users will be the same for both

AuthUserFile /var/www/passwd/.htpasswd

Require valid-user

AuthzSVNAccessFile /var/www/passwd/svnauthz

#



Trac privileges:

# trac-admin /var/www/trac/project permission add admins TRAC_ADMIN

# trac-admin /var/www/trac/project permission add 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        

MILESTONE_CREATE MILESTONE_VIEW REPORT_CREATE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW  

ROADMAP_VIEW SEARCH_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY

TICKET_VIEW TIMELINE_VIEW WIKI_CREATE WIKI_MODIFY WIKI_VIEW

Login as the admin user and setup Trac plugins, permissions etc...

No comments:

Post a Comment