搭建apache+svn+trac平台
核心提示:文章标题:搭建apache+svn+trac平台。Linux是中国站长站的1个技术频道。包括桌面利用,Linux系统治理,内核研究,嵌进式系统和开源等1些基天职类
1、trac概念
Trac是用Python写的1个基于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
2、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⑴.2.2.tar.gz
mod_python:
http://apache.mirror.phpchina.com/httpd/modpython/mod_python⑶.3.1.tgz
3、各个包的安装方法:
1、python:
#tarxjvfPython⑵.5.tar.gx
#cdPython⑵.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')!=⑴][0]"`
#pythonsetup.pyinstall
3、mysql_python:
#tarxfzMySQL-python⑴.2.1.tar.gz
#cdMySQL-python⑴.2.1
#pythonsetup.pybuild
#pythonsetup.pyinstall
在安装mysql_python之前1定要装好mysql_client
假设提示没法找到mysql_config
visite.cfg
#mysql_config=/usr/local/bin/mysql_config
往掉注释,改成你mysql_config所在的路径
4、mod_python:
#tarzxvfmod_python⑶.3.1.tar.gz
#cdmod_python⑶.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
4、创建数据库:
#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
注:1定要记住这里创建的数据库名(trac),用户名(trac),密码(trac),主机名(localhost)
由于以后创建trac表的时候需要用到
5、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的配置了。
6、配置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界面啦。。
7、总结
实在trac安装其实不难,我昨天配置nagios花了1天,并添加了N多插件,今天配了1天的trac其中碰到了N多毛病,由于太多了,我也没有
截下图了,所以对毛病就不1罗列了。实在所有的毛病在官文FAQ里都可以找到,并解决。没有甚么太难的,多仔细,相信你也能配置成功。
明天继续研究trac的其它功能,只用1个太浪费了。并安装bugzilla与trac的BUG跟踪做比较。
trac的1些修改及毛病:
trac-email
修改trac.ini
[notification]
always_notify_owner=true
always_notify_reporter=yes
always_notify_updater=true
mime_encoding=quoted-printable
smtp_always_bcc=
smtp_always_cc=@example.com
smtp_default_domain=
smtp_enabled=true
smtp_from=@example.com
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
TAG:数据库,系统,毛病,版本,标题
评论加载中...
|