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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 155 ::
收藏到网摘: 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]