1、安装python环境
trac是使用python2开发的,所以要安装python2.x版本
yum install python
2、安装pip
yum install python-pip
3、或者安装easy_install
yum install python-setuptools-devel
4、安装trac
easy_install trac
默认安装的是trac的稳定版本,目前的应该是1.2.3
5、初始化一个项目测试
1) 创建trac目录
mkdir /var/www/trac
2) 创建一个trac工程
trac-admin /var/www/trac/myproject initenv
根据提示输入相应的配置,默认的数据库是sqlite,也可以使用mysql数据库。
这里我们使用默认
3)测试是否正常
tracd --port 8000 /var/www/trac/myproject
4)在浏览器中访问 http://192.168.70.129:8000/
即可访问到,trac页面。
6、使用apache访问
1) 安装apache
yum install httpd
2) 安装wsgi模块,用于在apache中运行python
yum install mod_wsgi
3) 创建trac 下载包临时目录
mkdir /var/www/trac/tmp
4) 创建wsgi脚本,其实就是一个python脚本文件
添加如下内容
import sys
sys.stdout = sys.stderr
import os
os.environ['TRAC_ENV_PARENT_DIR'] = '/var/www/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/trac/tmp'
import trac.web.main
application = trac.web.main.dispatch_request
保存后退出。
os.environ['TRAC_ENV_PARENT_DIR'] = '/var/www/trac' 指明了trac项目们的父目?
os.environ['PYTHON_EGG_CACHE'] = '/var/www/trac/tmp' 指明了python EGG包解压
5) 告诉apache如何访问trac的wsgi
打开apache配置文件 /etc/httpd/conf/httpd.conf
增加<Directory>
WSGIScriptAlias /trac /var/www/trac/trac.wsgi
<Directory /var/www/trac>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
6) 为apache分配文件权限
apache要读写trac项目的文件,所以要为apache分配权限:
# chown -R apache:apache /var/www/trac
重启apache就可以在浏冷览器中访问了:
# service httpd restart
浏览器中输入:http://trac-server-ip/trac
7) login
用apache创建帐户admin:
# htpasswd -c /var/www/trac/trac.htpasswd admin
创建帐户admin和文件trac.htpasswd。下一步把这个文件告诉apache,在httpd.conf中
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile /var/www/trac/trac.htpasswd
Require valid-user
</LocationMatch>
重启apache即可访问
6、配置svn并与trac结合
1) 安装相关软件
yum install subversion subversion-python mod_svn
其中subversion-python 为trac控制svn所需要
mod_svn 为apache访问svn所需要
2)配置svn仓库,并使用浏览器访问
创建svn仓库
svnadmin create /var/www/svn/repos
修改apache配置文件
vim /etc/httpd/conf.d/subversion.conf
添加如下内容
# Make sure you uncomment the following if they are commented out
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# Add the following to allow a basic authentication and point Apache to w
# repository resides.
<Location /repos>
DAV svn
SVNPath /var/www/svn/repos
AuthType Basic
AuthName "admin"
AuthUserFile /var/www/trac/trac.htpasswd
Require valid-user
</Location>
此处授权文件我们同样使用和trac相同
更改svn文件夹的访问权限为Apache
chown -R apache:apache /var/www/svn
使用浏览器器访问svn站点
http://trac-server-ip/repos
2)配置trac对svn仓库访问
修改trac项目myproject的配置文件
vim /var/www/trac/myproject/conf/trac.ini
添加以下内容
[repositories]
.alias = myproject
myproject.description = This is the ''main'' myproject repository.
myproject.dir = /var/www/svn/repos
myproject.hidden = true
myproject.type = svn
myproject.url = http://trac-server-ip/repos
[components]
trac.versioncontrol.api.repositorymanager = enabled
trac.versioncontrol.svn_authz.svnauthzoptions = enabled
此处配置可参看官方帮助 https://trac.edgewall.org/wiki/TracRepositoryAdmin