搭建apache+svn+trac平台

上一篇 / 下一篇  2009-06-17 10:09:48 / 个人分类:配置管理

 

j Q ?0I7t(Hx3wn0一、trac 概念51Testing软件测试网4?._\N{ a7i
Trac 是用Python写的一个基于Web的事件跟踪系统,它使用WiKi作为文档的格式,Subversion作为版本控制系统。可帮助开发人员进行源码版
%D6CV(E.U l0本管理、Bug跟踪和讨论。Debian
'Rtf M fZ]0如果你的系统是Debian则用apt-get install trac命令安装即可,Trac依赖的所有软件包系统会自动安装。安装完成后,就可进行配置了。
ZFg~3B^x7E2f0Trac可以设置成Standalone服务器,只供本机使用。也可以与Apache等Web服务器集成,如果与Apache集成,则可配置成CGI、FastCGI或51Testing软件测试网wEQ*b4n fp8^ ^
Mod_Python等方式 。
:mL0m.d(q!}7E;xlJ0本人文采用:51Testing软件测试网;zn1j0]3lO$M
redhat 951Testing软件测试网?E(K PF'j6eT/q
apache 2 (mod_python)
GA\7QJ;u%z'`)]0mysql 5 (mysql_python)51Testing软件测试网Z!E-w4`e*Y*`2D G
Subversion 1.451Testing软件测试网4O W"d9T{!dGq
trac 0.10.4
?^L0X:~ M` k7l0   
e:{U/jt8RE's:P0二、trac 官网安装方法51Testing软件测试网7_4s"cV,u#?6?_
   
Xdzi+m$SP.L0http://trac.edgewall.org/wiki/TracInstall
Ik A2T-C0    它所依赖的包:51Testing软件测试网1N8lF5y0q a P)U
    *Python, version >= 2.3   //Please keep in mind, that for RPM-based systems you will also need python-devel and python-
X/p lqP!J4z0xml packages.
o YpS C#[AR0   *ClearSilver, version >= 0.9.3    //With python-bindings (./configure --with-python=/usr/bin/python)
e@jkI\0   *A web server capable of executing CGI/FastCGI scripts, or Apache HTTPD with mod_python.  51Testing软件测试网2oJ)^`.l P;EJ ` }'R
   * Subversion, version >= 1.0. (>= 1.1.x recommended)
|)L6dk&a x/z(qr'eH0   * Subversion SWIG Python bindings (not PySVN).
1wQ aM4Op vu0   *必须的数据库支持(SQLite,PostgreSQL,MySQL(0.10.4以上版本的trac完全支持).
1] jr3Bce9d0   在安装之前要先确认这些包是否满足trac 的要求。51Testing软件测试网-S-v'f-h&m jzN
   我的就是RH9 版本太低了,结果依赖的包超多。51Testing软件测试网Ld;^1D(Jr
    所有包整理如下:51Testing软件测试网kV[ u[,Q
    python:51Testing软件测试网~Z8T H4W:o"T1J^
http://download.chinaunix.net/down.php?id=24851&ResourceID=35&site=1
7F.H8^u%Z:F&sl{0    clearsilver:51Testing软件测试网u,H zcUA*{3X.C
http://www.clearsilver.net/downloads/51Testing软件测试网C If)mI7n-ZT,[0gF
    subversion:
l(Q0k_6Eq)I'}M4}c[0http://liuyu.blog.51cto.com/183345/4832651Testing软件测试网j'm%R/` ]a
    mysql_python:
6ndR@ Pb3Z1X0http://osdn.dl.sourceforge.net/sourceforge/MySQL-python/MySQL-python-1.2.2.tar.gz
w2u8D)zZL IZ0    mod_python:
(pjW)i{b0http://apache.mirror.phpchina.com/httpd/modpython/mod_python-3.3.1.tgz51Testing软件测试网;sOy3Lp[?g
三、各个包的安装方法:51Testing软件测试网!w+Z_1W/hDN~*Q
    1、python:
%vaVjX `n$^6c/c0       # tar xjvf Python-2.5.tar.gx
` C6LP)R,Y0       # cd Python-2.5
*}5K$Ez:s!_ R0       # ./configure --with-apxs=/usr/local/apache/sbin/apxs
2uz uG ILC2m0       # make;make install
y)c&JOm_(k+`-r R0    2、clearsilver:51Testing软件测试网s `BV%B1o2P ~6b
       如果报此错就说明clearsilver没有安装好 TracError: ClearSilver not installed (No module named neo_cgi)
/l(g)~cV0c~0      # tar xfz clearsilver-0.10.5.tar.gz
.b;XyP)g1Q0      # cd clearsilver-0.10.551Testing软件测试网'N G1C~8}NF
      # ./configure --disable-apache --disable-csharp --disable-ruby --prefix=/usr --with-python=/usr/local/bin/python51Testing软件测试网[,E-Mxi
      #sed -i "s@/usr/local/bin/python@/usr/bin/env51Testing软件测试网2Y A:hE:j3x*TT5}6X
[email=python@g]python@g[/email]51Testing软件测试网C8wJ8~(gj j5g
" scripts/document.py51Testing软件测试网+q4DU6m_%v:[
      #make || return 1
"_`]+b YE(yv0      #make install
*O"{?yz7z*jX0       #cd python51Testing软件测试网X1bFg5g_O
     #PYTHON_SITE=`/usr/local/bin/python -c \51Testing软件测试网8c L1Ba%sXU4L
     "import sys; print [path for path in sys.path if path.find('site-packages') != -1][0]"`51Testing软件测试网l)J6EMu t
     # python setup.py install51Testing软件测试网0iH?"q"L
     51Testing软件测试网B S3E[xR
    3、mysql_python:
H'D5O"t+h[/yT N/M0        # tar xfz MySQL-python-1.2.1.tar.gz
*H d_N3s F0       # cd MySQL-python-1.2.1
'{Q_3[@aE0       # python setup.py build
3H%f#Y(gM2mP m0       # python setup.py install
;|)B.STM5wC.e0     在安装mysql_python之前一定要装好mysql_client
@6xCX2E FU5T h0     如果提示无法找到mysql_config51Testing软件测试网 h-I'wV Tl
     vi site.cfg51Testing软件测试网9CtXsZ
     #mysql_config = /usr/local/bin/mysql_config51Testing软件测试网 x#f[(wI*i
     去掉注释,改为你mysql_config 所在的路径
*xgwwA)f J0    4、mod_python:51Testing软件测试网w't-W#X] W
         # tar zxvf mod_python-3.3.1.tar.gz
f,aca6@0         # cd mod_python-3.3.1
z&H@6r+l8B,xl0         # ./configure --with-apxs=/usr/local/apache/sbin/apxs51Testing软件测试网g i Y.P _
         # make
D0ABZhM0         # make install      51Testing软件测试网;@7J6F-tjV`b+Jn
         在apache配置文件里加入模块
"j G(C w ZQ0         vi /usr/local/apache2/conf/httpd.conf51Testing软件测试网8\'I1W9\@J1l
         LoadModule python_module modules/mod_python.so
/r.^1ww`T*]9L8Z0  51Testing软件测试网"O8x&g$j VX
四、创建数据库:51Testing软件测试网t V:By:R;V L-H?
    # cd /usr/local/mysql
m5Z G%\ ]*eR&Y0    # mysqladmin create dbname
M:Z[?1b i0    # mysql -uroot -p51Testing软件测试网dTJY_'M y
    > passwd51Testing软件测试网 NE#e$E[:TL~].V
    > grant all privileges on dbname.* to
$CY fr2`8QU]0[email=dbuser@dbhost]dbuser@dbhost[/email]
;B/^DT6K;[eL0identified by 'dbpass';
w tN2k Q}/YG x0    > use dbname;51Testing软件测试网2XM wa+D
    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;51Testing软件测试网CW/NL l~}zw
    > quit51Testing软件测试网Y7v/ZM5{FOX
以本机为例:
V!c(BSROe0    # mysqladmin create trac51Testing软件测试网(b.xs@3p@.Y(h
    # mysql -uroot -p51Testing软件测试网S_*mM4IPx)y7v i {[
    > root(mysql-root 密码)
.V|Cx Ws_0    > grant all privileges on trac.* to51Testing软件测试网.H8d#^xh2m
[email=trac@localhost]trac@localhost[/email]51Testing软件测试网2S,t;D8G O*Ou`,i t4V
identified by 'trac';51Testing软件测试网0Nb&B hA\
    > use trac;
j dlK5q9~4A0    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;51Testing软件测试网%B;S}:k-uTI
    > quit51Testing软件测试网:n.y:a'[Y7E;[+`3{ N Rb
    注:一定要记住这里创建的数据库名(trac),用户名(trac),密码(trac),主机名(localhost)51Testing软件测试网%| HK c| Mc
       因为之后创建trac表的时候需要用到51Testing软件测试网7c!OZ;jUg7g9|'[m
五、trac的安装及初始化
S0`v#ItlPc\5p0     # tar zxvf trac-0.10.4.tar.gz51Testing软件测试网j,V/a9f(D
     # cd trac-0.10.4
7aG#Un0xC8y\0     # python ./setup.py install
2M6Q.c]6A#^~,k0如此处报错请检查以上安装是否有误。51Testing软件测试网@(I)s;cki+| P y
      trac初始化:
a$I+Hpyu6L4@0     # trac-admin /usr/local/trac initenv    (/usr/loca/trac 目录会自动创建)  51Testing软件测试网5s2{h"L"u:@
     Project Name [My Project]> test51Testing软件测试网Q*M?7gq-GH
     Database connection string [sqlite:db/trac.db]> mysql://trac:trac@localhost/trac  //前面创建数据库所用的到信息
bC$O4d9i;K0     Repository type [svn]>     //这里为空,直接回车
r8hp6pC0     Path to repository [/path/to/repos]> /usr/local/apache2/svnroot/test   //SVN仓库地址
'X-U:G-o}q+a/{sU0     Templates directory [/usr/local/share/trac/templates]>       //这里为空,直接回车,事先请确认这个路径
&k(~c1d/R/u1s2\1cQ?0如果以上配置都正确的话,这步是不会报错的,那么trac 就已经正常安装了。
O7__+Ev0Gw9R0剩下的只是apache的配置了。51Testing软件测试网b%E9p5gZ,EG
      51Testing软件测试网)lG Jd6|
六、配置 trac虚拟主机并启动51Testing软件测试网\ ~;["WzL
    # vi /usr/local/apache2/conf/httpd.conf51Testing软件测试网!r$N)W}4x f ID#| `'n.W
   在未尾加入 :
(l0^:fb!L^(T y2u0   51Testing软件测试网c3Yt^ Ff @
    SetHandler mod_python
0TT6k+o|%z dg:p0    PythonHandler trac.web.modpython_frontend
MV`f0g$h(a H t4c8_1c0    PythonOption TracEnv /usr/local/trac      //trac 安装目录
5O3d X,L'G,h0    SetEnv PYTHON_EGG_CACHE /tmp
9bwRB"K_b:a;a0    PythonOption TracUriRoot /trac51Testing软件测试网o dG+iQF
    AuthType Basic
le8in i,]0    AuthName "test's trac"               51Testing软件测试网I$[ J bastxf1D
    AuthUserFile /usr/local/apache2/svnroot/test/passwd   //SVN用户密码目录51Testing软件测试网6I7SRl)s4~q7|'O
    Require valid-user51Testing软件测试网/`+H^W[%s E&P*^i
   51Testing软件测试网Vr FP a*g;Q
   重启apache  #  service httpd restart51Testing软件测试网5n:}5aD P]
   
A@U+|&E!o0c+S0http://ip/trac
G+Cq1Ee(T0就可以看到trac界面啦。。
B#SpBL_4~0     
+|#e lJ*h\s0七、总结
Z!v1M^ V's7IQ0    其实trac安装并不难,我昨天配置nagios花了一天,并添加了N多插件,今天配了一天的trac其中遇到了N多错误,由于太多了,我也没有
tA,e+~)m4t&g3E/B0截下图了,所以对错误就不一列举了。其实所有的错误在官文FAQ里都可以找到,并解决。没有什么太难的,多细心,相信你也能配置成功。51Testing软件测试网Tpu'vvn%_QY
明天继续研究trac的其它功能,只用一个太浪费了。并安装bugzilla与trac的BUG跟踪做比较。51Testing软件测试网 e0o!n8@8bF$^ @r{
51Testing软件测试网8jwExEX:[ j)PK6P
trac的一些修改及错误:
hZ@&~ r,l~\ g0trac-email51Testing软件测试网/kK wu I5{
修改trac.ini51Testing软件测试网3y3I8~;p2O9V+f0uj
[notification]
h|-Ig8~"}ol!w0always_notify_owner = true51Testing软件测试网z7EJ#Hk}|
always_notify_reporter = yes51Testing软件测试网K&?;TL+y5Z6g*~
always_notify_updater = true51Testing软件测试网5m(L$H1I taS
mime_encoding = quoted-printable
]*Z R8VjXB7{yU0smtp_always_bcc =
$xr!FPFv;eG0smtp_always_cc = @example.com51Testing软件测试网/d!Y)P @N7S
smtp_default_domain =51Testing软件测试网xL'Cm&C-uU
smtp_enabled = true51Testing软件测试网,Hr8A#O y$fO%y"`/U-@
smtp_from = @example.com
D f!X7[S|(M0smtp_password =
]\L G1f0smtp_port = 2551Testing软件测试网U Pec8VG zf
smtp_replyto =
"XVN&I+?W0smtp_server =51Testing软件测试网 xZ7cY0y/A
smtp_user =
.i7eRUt)X[Cku0use_public_cc = false
0W)pFB|5U7I0use_short_addr = false
yS3u*@Ym H0use_tls = false
[XSEQJ4Kj L+P051Testing软件测试网%N&UMg i"{A6~1a0A
添加附件的时候报错
)SLV5T Q|yR0Python Traceback
7q9lQJ5ad0Traceback (most recent call last):
%mK7t j(UPJ0  File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 406, in dispatch_request51Testing软件测试网N)iI x1WV _?;Q#{B
    dispatcher.dispatch(req)
8?\8|fB,\i,B9~N0  File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch
lQ;ZaR1K%uH0    resp = chosen_handler.process_request(req)51Testing软件测试网mM)Y;`p g
  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 361, in process_request
2a3Y:Q;B B}0    self._do_save(req, attachment)51Testing软件测试网 V#H5^q0y
  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 496, in _do_save51Testing软件测试网&p"vV e {DK3Tz2ZC
    attachment.insert(filename, upload.file, size)
2T1`M(DB N0  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 180, in insert51Testing软件测试网?[`V [W3?
    os.makedirs(self.path)51Testing软件测试网'mu^1l t(Q L$V6f
  File "/usr/local/lib/python2.5/os.py", line 165, in makedirs
%q6d%_[~ x'L p Rfb0    makedirs(head, mode)
C[t@#n0  File "/usr/local/lib/python2.5/os.py", line 172, in makedirs
L6]v)F6[ J;})K0    mkdir(name, mode)
1c'[%V$n,r{C0OSError: [Errno 13] Permission denied: '/usr/local/trac/attachments/ticket'51Testing软件测试网8b LE r$Q1J1YU
51Testing软件测试网'i5pO iqK4z VA
解决办法:attachments 目录权限不对。51Testing软件测试网Pt4p(I L+a Shx/Z
         chmod -R 755 /usr/local/trac/attachments
@!Rt0uB|oZb8J^ C0         chown -R XXX.XXXX /usr/local/trac/attachments
9w9r F6SV9`N0修改下拉框---这个下拉框是new ticket 的时候cc 直接可以下拉用户名 而不用手动输入51Testing软件测试网%w;x{-`V C
修改trac.ini51Testing软件测试网*l_1S;ZKa)\u
[ticket]
T~2L4? A:f-H0restrict_owner =  false改为:true  
;N2f+cx(Zi+M2GlUj0
U$hk#O5Yp~'j051Testing软件测试网#El8h qdv)X r1z
补:如果报错:TracError: Unsupported version control system "svn". Check that the Python bindings for "svn" are correctly installed.
\b6w6?Wh/~ C.Y0那就是httpd.conf  里少添加了: SetEnv PYTHON_EGG_CACHE   /tmp  
;{y@-kx0e z U0

TAG:

 

评分:0

我来说两句

日历

« 2024-04-23  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 3369
  • 日志数: 15
  • 图片数: 1
  • 建立时间: 2008-04-22
  • 更新时间: 2009-06-17

RSS订阅

Open Toolbar