位置:海鸟网 > IT > linux/Unix >

搭建apache+svn+trac平台

一、trac概念

Trac是用Python写的一个基于Web的事件跟踪系统,它使用WiKi作为文档的格式,Subversion作为版本控制系统。可帮助开发人员进行源码版

本管理、Bug跟踪和讨论。Debian

如果你的系统是Debian则用apt-getinstalltrac命令安装即可,Trac依赖的所有软件包系统会自动安装。安装完成后,就可进行配置了。

Trac可以设置成Standalone服务器,只供本机使用。也可以与Apache等Web服务器集成,如果与Apache集成,则可配置成CGI、FastCGI或

Mod_Python等方式。

本人文采用:

redhat9
apache2(mod_python)
mysql5(mysql_python)
Subversion1.4
trac0.10.4

二、trac官网安装方法


它所依赖的包:
*Python,version>=2.3//Pleasekeepinmind,thatforRPM-basedsystemsyouwillalsoneedpython-develandpython-xmlpackages.
*ClearSilver,version>=0.9.3//Withpython-bindings(./configure--with-python=/usr/bin/python)
*AwebservercapableofexecutingCGI/FastCGIscripts,orApacheHTTPDwithmod_python.
*Subversion,version>=1.0.(>=1.1.xrecommended)
*SubversionSWIGPythonbindings(notPySVN).
*必须的数据库支持(SQLite,PostgreSQL,MySQL(0.10.4以上版本的trac完全支持).
在安装之前要先确认这些包是否满足trac的要求。
我的就是RH9版本太低了,结果依赖的包超多。
所有包整理如下:
python:
?id=24851&ResourceID=35&site=1
clearsilver:

subversion:

mysql_python:

mod_python:

三、各个包的安装方法:
1、python:
#tarxjvfPython-2.5.tar.gx
#cdPython-2.5
#./configure--with-apxs=/usr/local/apache/sbin/apxs
#make;makeinstall
2、clearsilver:
如果报此错就说明clearsilver没有安装好TracError:ClearSilvernotinstalled(Nomodulenamedneo_cgi)
#tarxfzclearsilver-0.10.5.tar.gz
#cdclearsilver-0.10.5
#./configure--disable-apache--disable-csharp--disable-ruby--prefix=/usr--with-python=/usr/local/bin/python
#sed-i"s@/usr/local/bin/python@/usr/bin/env
python@g
"scripts/document.py
#make||return1
#makeinstall
#cdpython
#PYTHON_SITE=`/usr/local/bin/python-c\
"importsys;print[pathforpathinsys.pathifpath.find('site-packages')!=-1][0]"`
#pythonsetup.pyinstall

3、mysql_python:
#tarxfzMySQL-python-1.2.1.tar.gz
#cdMySQL-python-1.2.1
#pythonsetup.pybuild
#pythonsetup.pyinstall
在安装mysql_python之前一定要装好mysql_client
如果提示无法找到mysql_config
visite.cfg
#mysql_config=/usr/local/bin/mysql_config
去掉注释,改为你mysql_config所在的路径
4、mod_python:
#tarzxvfmod_python-3.3.1.tar.gz
#cdmod_python-3.3.1
#./configure--with-apxs=/usr/local/apache/sbin/apxs
#make
#makeinstall
在apache配置文件里加入模块
vi/usr/local/apache2/conf/httpd.conf
LoadModulepython_modulemodules/mod_python.so


四、创建数据库:
#cd/usr/local/mysql
#mysqladmincreatedbname
#mysql-uroot-p
>passwd
>grantallprivilegesondbname.*to
dbuser@dbhost
identifiedby'dbpass';
>usedbname;
>ALTERDATABASEDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
>quit
以本机为例:
#mysqladmincreatetrac
#mysql-uroot-p
>root(mysql-root密码)
>grantallprivilegesontrac.*to
trac@localhost
identifiedby'trac';
>usetrac;
>ALTERDATABASEDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
>quit
注:一定要记住这里创建的数据库名(trac),用户名(trac),密码(trac),主机名(localhost)
因为之后创建trac表的时候需要用到
五、trac的安装及初始化
#tarzxvftrac-0.10.4.tar.gz
#cdtrac-0.10.4
#python./setup.pyinstall
如此处报错请检查以上安装是否有误。
trac初始化:
#trac-admin/usr/local/tracinitenv(/usr/loca/trac目录会自动创建)
ProjectName[MyProject]>test
Databaseconnectionstring[sqlite:db/trac.db]>mysql://trac:trac@localhost/trac//前面创建数据库所用的到信息
Repositorytype[svn]>//这里为空,直接回车
Pathtorepository[/path/to/repos]>/usr/local/apache2/svnroot/test//SVN仓库地址
Templatesdirectory[/usr/local/share/trac/templates]>//这里为空,直接回车,事先请确认这个路径
如果以上配置都正确的话,这步是不会报错的,那么trac就已经正常安装了。
剩下的只是apache的配置了。

六、配置trac虚拟主机并启动
#vi/usr/local/apache2/conf/httpd.conf
在未尾加入:

SetHandlermod_python
PythonHandlertrac.web.modpython_frontend
PythonOptionTracEnv/usr/local/trac//trac安装目录
SetEnvPYTHON_EGG_CACHE/tmp
PythonOptionTracUriRoot/trac
AuthTypeBasic
AuthName"test'strac"
AuthUserFile/usr/local/apache2/svnroot/test/passwd//SVN用户密码目录
Requirevalid-user

重启apache#servicehttpdrestart