Subversion + Trac 安装配置

       近来想研究下软件开发的管理,就琢磨着在电脑上配置一个版本管理系统,查阅了一些资料发现Subversion 和Trac 配合比较合适,Subversion 用于版本管理,Trac 用于错误跟踪还带了一个wiki。碰了半天壁,总算勉强把系统运行起来了。闲话少说,开始介绍配置过程。

(一) 操作系统
      Windows Server 2003 R2 Enterprise
(二) 软件准备
      apache 2.2.11 
                    http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi
      php 5.3  
                    http://windows.php.net/downloads/releases/php-5.3.0-Win32-VC6-x86.zip
      Subversion 1.6.3
                    http://subversion.tigris.org/files/documents/15/46163/Setup-Subversion-1.6.3.msi
      TortoiseSVN 1.6.3  
                    http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi?download
      Python 2.6.2   
                    http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi
      svn-python-win32-1.6.3-py26
                    http://subversion.tigris.org/files/documents/15/46152/svn-python-1.6.3.win32-py2.6.exe
      trac 0.11.5
                    http://ftp.edgewall.com/pub/trac/Trac-0.11.5.win32.exe
      sqlite 3.6.16
                    http://www.sqlite.org/sqlite-3_6_16.zip
      setuptools 0.6c9
                    http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz#md5=3864c01d9c719c8924c455714492295e
      Genshi 0.5.1
                    http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.win32-py2.6.exe
      pysqlite-2.5.5-py2.6
                    http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.5/pysqlite-2.5.5.win32-py2.6.exe
      mod_wsgi-3.0c4 
                    http://modwsgi.googlecode.com/files/mod_wsgi-win32-ap22py26-3.0c4.so
    这里主要是配置trac需要一大堆东西,看上去很烦而且版本必须选对,它官方网站上还需要ClearSilver,但没有支持python 2.6,我也就没装,不过目前还没发现什么问题。这里提一下Python 3就不要想了,上面没几个东东支持它的,连trac 本身都说需要小于3.0。
    mod_wsgi 是Apache的模块,用来运行Python 程序的。在trac 官网上提供了几种选择,可以使用CGI,不过速度慢了点;FastCGI,又一个不支持Python 2.6,mod_python还是不支持2.6。而mod_wsgi得beta版本还支持Python 3,而且速度比CGI和mod_python 要快。
(三) 软件配置
      1. 首先安装apache,这个不用多说。
      2. 安装php 5.3,和以前版本唯一的区别是使用mysql时不用把libmysql.dll复制到系统文件夹下了,你也找不到这个dll了。
      3. 安装subversion,一路next就好了。把subversion的bin文件夹下的mod_authz_svn.so 和mod_dav_svn.so 两个文件拷到apache的modules文件夹下面,把libdb44.dll、libeay32.dll、ssleay32.dll三个文件拷到 apache的bin文件夹下面。然后在http.conf 里面有两行
          #LoadModule dav_module modules/mod_dav.so
          #LoadModule dav_fs_module modules/mod_dav_fs.so
把前面的#号去掉。
          现在开始建立subversion文件库,我是放在e:\project\svn 下面的,采用集中方式,配置http.conf如下。
1 <Location /svn>
2      DAV svn
3      SVNParentPath E:/Project/svn
4      AuthType Basic
5      AuthName "Subversion Repository"
6      AuthUserFile "E:/Project/project.passwd"
7      Require valid-user       
8      SVNPathAuthz off
9 </Location>
         这里加上访问控制,需要用户名和密码,具体路径的控制我关闭了,在subversion手册里面说这个比较耗资源,建议关闭。
         subversion 客户端软件根据个人需要安装。
     4. 安装好python后,安装trac,sqlite等乱七八糟的东西,基本都是一路next的,就setuptools有点麻烦,它没有支持 python2.6的exe程序,只有下载setuptools-0.6c9.tar.gz 这个文件,解压后运行 python setup.py install 就好了。
         把mod_wsgi-win32-ap22py26-3.0c4.so 复制到apache的modules目录下,重命名为mod_wsgi.so,再在http.conf 里加上
1 LoadModule wsgi_module modules/mod_wsgi.so
         在e:\project 下新建个trac文件夹,供以后放项目的trac 用,然后在project下面新建个trac.wsgi 文件。trac 程序提供的trac.web.main.dispatch_request() 这个函数将trac 运行在wsgi 下,配置trac.wsgi 如下:
1 import os
2 os.environ['TRAC_ENV_PARENT_DIR'] = 'E:/Project/trac'
3 os.environ['PYTHON_EGG_CACHE'] = 'E:/Project/trac/eggs'
4  
5 import trac.web.main
6 application = trac.web.main.dispatch_request
       其中e:/project/trac/eggs 这个文件夹放缓存文件。如果想所有项目都放在一起可以把TRAC_ENV_PATENT_DIR 改成TRAC_ENV。
       然后配置apache:
 1 WSGIScriptAlias /trac "E:/Project/trac.wsgi"
 2 <Directory "E:/Project/trac">
 3     WSGIApplicationGroup %{GLOBAL}
 4     Order deny,allow
 5     Allow from all
 6 </Directory>
 7 
 8 <LocationMatch "/project/[^/]+/login">
 9     AuthType Basic
10     AuthName "Trac Environment"
11     AuthUserFile "E:/Project/project.passwd"
12     Require valid-user
13 </LocationMatch>
          同样对登录进行验证。
      5. 配置WebDAV,新建e:\project\files 文件夹,配置apache:
 1 Alias /files "E:/Project/files"
 2 <Location /files>
 3     DAV On
 4     AuthType Basic
 5     AuthName "Files"
 6     AuthUserFile "E:/Project/project.passwd
 7     Require valid-user
 8 </Location>
 9 
10 <LocationMatch ^/files/[^/]+/(images|public)/>
11     <LimitExcept GET OPTIONS>
12         Require valid-user
13     </LimitExcept>
14 </LocationMatch>
       6. 利用apache bin文件夹下的htpasswd创建用户:
htpasswd -c /projects/projects.password username
后面会提示需要输入密码、
(四) 测试安装
      这里我新建个test 项目来测试下前面的配置,这里大家自行配置环境变量。
      首先建立svn 库,从cmd 导航到e:\project 下面,输入
svnadmin create svn\test
      然后建立trac库,运行
python c:\python26\scripts\trac-admin.exe trac\test initenv
      这个时候进入的trac 的交互shell,会询问Project Name,输入test,询问Database connection string 和Repository type 直接回车使用默认,Path to repository type 输入e:\project\svn\test,这个时候trac 就配置好了,根据cmd提示,输入
tracd --port 8000 --http11 e:\project\trac\test
      启动trac ,此时可以在浏览器中输入 http://localhost:8000/test 就可以看到trac 提供的web 接口了,见下图。

 
        到这为止,subversion 和trac 就配置好了,剩下的事就是开始真正管理自己的项目了。
posted @ 2009-07-27 23:23  下下签  阅读(1461)  评论(2编辑  收藏  举报
Copyright © 2009 Powered by 下下签