如何搭建apache+svn+trac平台?

一、trac 概念
Trac 是用Python写的一个基于Web的事件跟踪系统,它使用WiKi作为文档的格式,Subversion作为版本控制系统。可帮助开发人员进行源码版
本管理、Bug跟踪和讨论。Debian 
如果你的系统是Debian则用apt-get install trac命令安装即可,Trac依赖的所有软件包系统会自动安装。安装完成后,就可进行配置了。
Trac可以设置成Standalone服务器,只供本机使用。也可以与Apache等Web服务器集成,如果与Apache集成,则可配置成CGI、FastCGI或
Mod_Python等方式 。
本人文采用:
redhat 9 
apache 2 (mod_python)
mysql 5 (mysql_python)
Subversion 1.4
trac 0.10.4
    
二、trac 官网安装方法
    
http://trac.edgewall.org/wiki/TracInstall
    它所依赖的包:
    *Python, version >= 2.3   //Please keep in mind, that for RPM-based systems you will also need python-devel and python-
xml packages.
   *ClearSilver, version >= 0.9.3    //With python-bindings (./configure --with-python=/usr/bin/python) 
   *A web server capable of executing CGI/FastCGI scripts, or Apache HTTPD with mod_python.  
   * Subversion, version >= 1.0. (>= 1.1.x recommended)
   * Subversion SWIG Python bindings (not PySVN).
   *必须的数据库支持(SQLite,PostgreSQL,MySQL(0.10.4以上版本的trac完全支持).
   在安装之前要先确认这些包是否满足trac 的要求。
   我的就是RH9 版本太低了,结果依赖的包超多。

三、各个包的安装方法:
    1、python:
       # tar xjvf Python-2.5.tar.gx
       # cd Python-2.5
       # ./configure --with-apxs=/usr/local/apache/sbin/apxs
       # make;make install
    2、clearsilver:
       如果报此错就说明clearsilver没有安装好 TracError: ClearSilver not installed (No module named neo_cgi) 
      # tar xfz clearsilver-0.10.5.tar.gz 
      # cd clearsilver-0.10.5
      # ./configure --disable-apache --disable-csharp --disable-ruby --prefix=/usr --with-python=/usr/local/bin/python
      #sed -i "[email protected]/usr/local/bin/[email protected]/usr/bin/env 
[[email protected]][email protected][/email]
" scripts/document.py
      #make || return 1
      #make install
       #cd python
     #PYTHON_SITE=`/usr/local/bin/python -c \
     "import sys; print [path for path in sys.path if path.find(‘site-packages‘) != -1][0]"`
     # python setup.py install
     
    3、mysql_python:
        # tar xfz MySQL-python-1.2.1.tar.gz
       # cd MySQL-python-1.2.1
       # python setup.py build
       # python setup.py install 
     在安装mysql_python之前一定要装好mysql_client 
     如果提示无法找到mysql_config 
     vi site.cfg 
     #mysql_config = /usr/local/bin/mysql_config
     去掉注释,改为你mysql_config 所在的路径
    4、mod_python:
         # tar zxvf mod_python-3.3.1.tar.gz
         # cd mod_python-3.3.1
         # ./configure --with-apxs=/usr/local/apache/sbin/apxs
         # make
         # make install       
         在apache配置文件里加入模块
         vi /usr/local/apache2/conf/httpd.conf
         LoadModule python_module modules/mod_python.so
  
四、创建数据库:
    # cd /usr/local/mysql 
    # mysqladmin create dbname
    # mysql -uroot -p
    > passwd 
    > grant all privileges on dbname.* to 
[[email protected]][email protected][/email]
identified by ‘dbpass‘;
    > use dbname;
    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    > quit
以本机为例:
    # mysqladmin create trac
    # mysql -uroot -p
    > root(mysql-root 密码) 
    > grant all privileges on trac.* to 
[[email protected]][email protected][/email]
identified by ‘trac‘;
    > use trac;
    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    > quit
    注:一定要记住这里创建的数据库名(trac),用户名(trac),密码(trac),主机名(localhost)
       因为之后创建trac表的时候需要用到
五、trac的安装及初始化
     # tar zxvf trac-0.10.4.tar.gz
     # cd trac-0.10.4
     # python ./setup.py install
如此处报错请检查以上安装是否有误。
      trac初始化:
     # trac-admin /usr/local/trac initenv    (/usr/loca/trac 目录会自动创建)  
     Project Name [My Project]> test
     Database connection string [sqlite:db/trac.db]> mysql://trac:[email protected]/trac  //前面创建数据库所用的到信息
     Repository type [svn]>     //这里为空,直接回车
     Path to repository [/path/to/repos]> /usr/local/apache2/svnroot/test   //SVN仓库地址
     Templates directory [/usr/local/share/trac/templates]>       //这里为空,直接回车,事先请确认这个路径
如果以上配置都正确的话,这步是不会报错的,那么trac 就已经正常安装了。
剩下的只是apache的配置了。
      
六、配置 trac虚拟主机并启动
    # vi /usr/local/apache2/conf/httpd.conf 
   在未尾加入 :
    
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /usr/local/trac      //trac 安装目录
    SetEnv PYTHON_EGG_CACHE /tmp
    PythonOption TracUriRoot /trac
    AuthType Basic
    AuthName "test‘s trac"               
    AuthUserFile /usr/local/apache2/svnroot/test/passwd   //SVN用户密码目录
    Require valid-user
    
   重启apache  #  service httpd restart 
    
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 =
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

添加附件的时候报错
Python Traceback
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 361, in process_request
    self._do_save(req, attachment)
  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 496, in _do_save
    attachment.insert(filename, upload.file, size)
  File "/usr/local/lib/python2.5/site-packages/trac/attachment.py", line 180, in insert
    os.makedirs(self.path)
  File "/usr/local/lib/python2.5/os.py", line 165, in makedirs
    makedirs(head, mode)
  File "/usr/local/lib/python2.5/os.py", line 172, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: ‘/usr/local/trac/attachments/ticket‘

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

补:如果报错:TracError: Unsupported version control system "svn". Check that the Python bindings for "svn" are correctly installed.
那就是httpd.conf  里少添加了: SetEnv PYTHON_EGG_CACHE   /tmp

更多精彩linux视频教程,尽在51CTO学院:

http://edu.51cto.com/course/courseList/id-48.html

时间: 2024-07-31 03:17:18

如何搭建apache+svn+trac平台?的相关文章

实战搭建 apache + svn 服务

SVN 作为版本控制软件是非常优秀的免费软件,现在想通过http://.. 访问,本文介绍一下搭建. 1.系统环境 [[email protected] ~]# uname -r 2.6.32-642.6.1.el6.x86_64 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) 系统IP:10.89.1.32 2.实战搭建 #安装所需要的软件 [[email protected] ~]# yum

Linux系统搭建Apache+SVN(CentOS6.5)

SVN安装部署在前几篇博客中有 1.安装软件 # yum install httpd # yum install mod_dav_svn # yum install subversion 2.测试是否成功 # httpd -version # svnserve --version 3.配置 修改所有者 # chown -R apache:apache svnrepos (此处svnrepos为svn资源库位置 若全路径则为/var/svn/svnrepos) copy  /var/svn/svn

RHEL6.4下搭建apache和subversion(SVN)

1.说明 rhel6.4系统下搭建apache+svn 2.实现 1)在服务器上安装配置SVN服务: 2)SVN服务支持svnserve独立服务模式访问: 3)SVN服务支持Apache的http模式访问. 3.安装svn服务器 [[email protected] ~]# yum install -y subversion [[email protected] ~]# rpm -qa|grep subversion subversion-1.6.11-15.el6_7.x86_64 4.安装a

[转]Win7 64位搭建本地SVN服务器 Apache+Subversion

转载地址:http://blog.sina.com.cn/s/blog_4f072a7001015j5z.html 一.工具下载 01.SVN 服务器Subversion:Setup-Subversion-1.6.17.msi 02.SVN 客户端TortoiseSVN:本文选用版本为(64位)TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi 03.TortoiseSVN中文语言包:本文选用版本为LanguagePack_1.6.16.21511-x64-z

Ubuntu搭建trac平台步骤

Ubuntu搭建trac平台步骤: # apt-get install apache2 # apt-get install libapache2-mod-python # apt-get install libapache2-mod-authnz-external # a2enmod authnz_ldap # apt-get install mysql-server-5.5  (设置root密码,如:123456) # apt-get install python-mysqldb # apt-

Apache+SVN构建代码仓库平台

很多同学对SVN+Apache整合很少头疼,今天整理了一版Apache+SVN整合的文档,希望能帮助到大家! SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广

svn学习之一(svn独立服务器搭建)svn钩子了解

SVN实战笔记#####################################################xingxing qq:1218761836 qq群:150181442##################################################### SVN实战  目录SVN实战    1一.SVN简介    1二.SVN运行方式    12.1 svn的访问模式3种    1三.SVN数据格式    23.1 svn 档案库数据格式    2四.

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)

目录结构如下: 目录 1说明及环境介绍3 1.1说明3 1.2环境准备及格式约定4 2 Linux下apache搭建svn服务器4 2.1 apache安装部署4 2.2 svn安装部署5 2.3整合svn和apache6 2.4 ssl方式部署apache7 2.4.1安装apache7 2.4.2安装svn7 2.4.2 部署认证8 3 Linux下svn独立服务器方式部署9 3.1安装SVN9 3.2 配置环境10 3.3 权限配置样例11 3.4 启动SVN服务器12 3.5 访问方式1

apache+svn+ldap集成

apache+svn搭建方式如下:http://www.cnblogs.com/uglyliu/p/6914056.html SVN和ldap集成,我用的方式只需要更改 /etc/http/conf.d/subversion.conf 配置如下: <Location /svn/> DAV svn SVNListParentPath on SVNParentPath /home/svndata AuthBasicAuthoritative on AuthType Basic AuthName &