当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 搭建apache+svn+trac平台

Linux服务器
使用Clonezilla迁移到虚拟Linux环境
Linux FTP和SVN服务器的配置
安装Linux与Oracle数据库步骤精讲
Linux下Apache服务器设置的两个要点
Linux系统时钟同步服务NTPD配置方法
简略讲解对Linux服务器的四种入侵级别
Linux服务器:设计高性能网站架构-LLMP
Linux下缓存服务器的应用
扫尾:删除Linux系统下的历史记录
Linux网络安全经验之谈
如何在linux环境下轻松搭建CVS服务器
七要素排除Linux服务器接入故障
完全实战-从零开始配置服务器
利用Nginx反向代理功能架设Ubuntu升级源
Linux服务器被黑客攻击的检测
伪静态在iis下的规则和设置方法
Apache服务器支持CGI程序和SSI程序的设置方法
Linux服务器:Date命令修改系统时间
Linux系统技巧:如何自架rsync服务器
Linux和FreeBSD两个系统的优劣

Linux服务器 中的 搭建apache+svn+trac平台


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 144 ::
收藏到网摘: n/a

一、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官网安装方法

http://trac.edgewall.org/wiki/TracInstall
它所依赖的包:
*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:
http://download.chinaunix.net/down.php?id=24851&ResourceID=35&site=1
clearsilver:
http://www.clearsilver.net/downloads/
subversion:
http://liuyu.blog.51cto.com/183345/48326
mysql_python:
http://osdn.dl.sourceforge.net/sourceforge/MySQL-python/MySQL-python-1.2.2.tar.gz
mod_python:
http://apache.mirror.phpchina.com/httpd/modpython/mod_python-3.3.1.tgz

三、各个包的安装方法:
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
[email=python@g]python@g[/email]
"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
[email=dbuser@dbhost]dbuser@dbhost[/email]
identifiedby'dbpass';
>usedbname;
>ALTERDATABASEDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
>quit
以本机为例:
#mysqladmincreatetrac
#mysql-uroot-p
>root(mysql-root密码)
>grantallprivilegesontrac.*to
[email=trac@localhost]trac@localhost[/email]
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

http://ip/trac
就可以看到trac界面啦。。

七、总结
其实trac安装并不难,我昨天配置nagios花了一天,并添加了N多插件,今天配了一天的trac其中遇到了N多错误,由于太多了,我也没有
截下图了,所以对错误就不一列举了。其实所有的错误在官文FAQ里都可以找到,并解决。没有什么太难的,多细心,相信你也能配置成功。
明天继续研究trac的其它功能,只用一个太浪费了。并安装bugzilla与trac的BUG跟踪做比较。

trac的一些修改及错误:
trac-email
修改trac.ini
[notification]
always_notify_owner=true
always_notify_reporter=yes
always_notify_updater=true
mime_encoding=quoted-printable
smtp_always_bcc=
[email protected]
smtp_default_domain=
smtp_enabled=true
[email protected]
smtp_password=
smtp_port=25
smtp_replyto=
smtp_server=
smtp_user=
use_public_cc=false
use_short_addr=false
use_tls=false

添加附件的时候报错
PythonTraceback
Traceback(mostrecentcalllast):
File"/usr/local/lib/python2.5/site-packages/trac/web/main.py",line406,indispatch_request
dispatcher.dispatch(req)
File"/usr/local/lib/python2.5/site-packages/trac/web/main.py",line237,indispatch
resp=chosen_handler.process_request(req)
File"/usr/local/lib/python2.5/site-packages/trac/attachment.py",line361,inprocess_request
self._do_save(req,attachment)
File"/usr/local/lib/python2.5/site-packages/trac/attachment.py",line496,in_do_save
attachment.insert(filename,upload.file,size)
File"/usr/local/lib/python2.5/site-packages/trac/attachment.py",line180,ininsert
os.makedirs(self.path)
File"/usr/local/lib/python2.5/os.py",line165,inmakedirs
makedirs(head,mode)
File"/usr/local/lib/python2.5/os.py",line172,inmakedirs
mkdir(name,mode)
OSError:[Errno13]Permissiondenied:'/usr/local/trac/attachments/ticket'

解决办法:attachments目录权限不对。
chmod-R755/usr/local/trac/attachments
chown-RXXX.XXXX/usr/local/trac/attachments
修改下拉框---这个下拉框是newticket的时候cc直接可以下拉用户名而不用手动输入
修改trac.ini
[ticket]
restrict_owner=false改为:true


补:如果报错:TracError:Unsupportedversioncontrolsystem"svn".CheckthatthePythonbindingsfor"svn"arecorrectlyinstalled.
那就是httpd.conf里少添加了:SetEnvPYTHON_EGG_CACHE/tmp

上一页[1][2][3][4]