系统平台:CentOS5.3 32位
Apache:Apache 2.2.3
MySQL:MySQL 5.0.77
Trac:Trac 0.12
SVN:Subversion 1.6.11
[创建路径目录]
shell>mkdir /var/reposhell>mkdir /var/repo/etc
shell>mkdir /var/repo/svn
shell>mkdir /var/repo/trac
shell>touch /var/repo/etc/account
shell>touch /var/repo/etc/authz
shell>chown -R apache /var/repo/etc
[增加更新仓库]
shell>vi /etc/yum.repos.d/CentOS-Base.repo
********************************增加******************************************
[dag]
name=Dag RPM Repostory for RHEL
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
gpgcheck=1
enabled=1
[kbs-CentOS-Misc]
name=CentOS.Karan.Org-EL$releasever - Stable
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
gpgcheck=1
enabled=1
*****************************************************************************
[安装SVN]
shell>yum -y install subversion subversion-perl mod_dav_svn apr apr-util
[安装Trac]
shell>yum -y install trac clearsilver python-clearsilver
[整合SVN到Apache]
shell>vi /etc/httpd/conf.d/svn.conf
********************************增加******************************************
<Location /svn>
DAV svn
SVNParentPath /var/repo/svn
Satisfy Any
# HTTP 用戶驗證
AuthType Basic
AuthName "SVN Repository"
AuthUserFile /var/repo/etc/account
AuthzSVNAccessFile /var/repo/etc/authz
Require valid-user
</Location>
*****************************************************************************
[整合Trac到Apache]
shell>mv /etc/httpd/conf.d/trac.conf /etc/httpd/conf.d/trac.conf.bak
shell>vi /etc/httpd/conf.d/trac.conf
********************************增加******************************************
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/repo/trac
PythonOption TracUriRoot /trac
# HTTP 用戶驗證
# AuthType Basic
# AuthName "Trac Project"
# AuthUserFile /var/repo/etc/account
# Require valid-user
</Location>
*****************************************************************************
[创建SVN版本库]
shell>svnadmin create /var/repo/svn/"工程名"
shell>chown -R apache /var/repo/svn/"工程名"
[创建账号及密码]
shell>htpasswd /etc/svn/account admin
[创建Trac工程]
shell>trac-admin /var/repo/trac/"工程名" initenv
********************************提示******************************************
<Project Name>输入你的工程名称
<数据库>直接回车
*****************************************************************************
[修改Trac环境属主权限]
shell>chown -R apache /var/repo/trac/"工程名"
[安装python-setuptools]
shell>cd /tmp
shell>wget http://peak.telecommunity.com/dist/ez_setup.py
shell>python ez_setup.py
shell>mkdir /var/www/.python-eggs
shell>chown apache /var/www/.python-eggs
[安装Trac插件]
shell>easy_install http://svn.edgewall.org/repos/trac/plugins/0.11/webadmin
shell>easy_install http://trac-hacks.org/svn/iniadminplugin/0.10
shell>easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.11
shell>easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.10
shell>easy_install http://trac-hacks.org/svn/svnauthzadminplugin/0.10
[修改Trac工程环境参数]
shell>vi /var/repo/trac/"工程名"/conf/trac.ini
********************************增加******************************************
[components]
#啟用 WebAdmin 外掛程式
webadmin.* = enabled
#啟用 IniAdmin 外掛程式
iniadmin.iniadmin.iniadminplugin = enabled
#啟用 TracWysiwyg 外掛程式
tracwysiwyg.* = enabled
#啟用 SvnAuthzAdmin 外掛程式
svnauthz.* = enabled
#啟用 AccountManager 外掛程式
acct_mgr.api.accountmanager = enabled
acct_mgr.htfile.HtPasswdStore = enabled
#關閉預設的 Http 登入認證方式,改用 AccountManager 的登入認證
trac.web.auth.LoginModule = disabled
acct_mgr.web_ui.LoginModule = enabled
#啟用帳號管理
acct_mgr.admin.AccountManagerAdminPage = enabled
#允許用戶變更密碼、刪除帳號
acct_mgr.web_ui.AccountModule = enabled
[account-manager]
password_format = htpasswd
password_file = /etc/svn/account
password_store = HtPasswdStore
*********************************修改*****************************************
authz_file = /var/repo/etc/authz
authz_module_name = "工程名"
*****************************************************************************
[修改Trac工程环境用户权限]
shell>trac-admin /var/repo/trac/"工程名" permission add admin TRAC_ADMIN
shell>trac-admin /var/repo/trac/"工程名" permission remove anonymous '*'
[重启Apache服务]
service httpd restart