`

Apache+SVN+Trac搭建项目管理服务器的安装与配置详解!

阅读更多

Apache+SVN+Trac搭建项目管理服务器的安装与配置详解

1.安装平台

本安装基于Windows vista环境下进行安装与配置的,其它windows版本都可用;搭建此项目管理服务器首先必须要安装Apache服务器.

1.1安装

<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">1.1.1</span></strong></chsdate>安装Apache

1)下载Apache

地址http://httpd.apache.org/download.cgi

注意:Apache低于<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US">2.0.54</span></chsdate>的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。所以当前建议下载Apache 2.0.63版本

(2) 安装

下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi ,根据提示进行操作。遇到系统要求输入SERVERURL时,如果你的服务器没有DNS名称,请直接输入IP地址(此文件也可在安装后进行修改,该文件位于Apache Group/Apache2/conf/httpd.conf文件)。

注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 8080,然后重新启动-这样就不会那个问题了,或者将其它应用的端口进行改之。

3)检查

安装完成后浏览 http://localhost/ 若成功,可看到apache欢迎页面。

<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">1.1.2</span></strong></chsdate>安装Subversion

1)下载 Subversion

地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

在本实例中,选择下载svn-win32-1.4.6.zip此版本.

2)安装

svn-win32-1.4.6.zip解压到安装程序的目录下;(如果下载的是exe安装文件,可以根据指导安装, Subversion会自动认识到你安装了Apache,你就几乎完成了工作),本实例中采用解压方式进行安装,它不会自动找到Apache服务器,所以你还有额外的步骤。

3)后续

步骤1 svn-win32-1.4.6\bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group\Apache2\modules下,再将svn-win32-1.4.6\bin目录下的所有dll文件全部复制到Apache Group\Apache2\bin文件夹下。

步骤2 找到Apache Group\Apache2\conf\httpd.conf文件,然后去掉如下几行的注释(删除 '#'标记):

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

将下面两行添加到LoadModule部分的最后。

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

进行如上后续修改后完成了SVN+Apache之间的WebDav的工作了。重启Apache以后可看到如下图:

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 262.5pt" type="#_x0000_t75"><imagedata src="file:///F:%5CUsers%5CADMINI~1%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg" o:title="Apache"></imagedata></shape>

这是安装最终的图,图中状态栏显示Apache/2.0.63Win32 SVN1.4.6 DAV/2是由于还安装了mod_python,此步骤稍后将讲解,如上安装好后应显示为Apache/2.0.63Win32 SVN1.4.6 DAV.

1.2配置

1.2.1建立版本库

首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录var/svnhome,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。

首先以cmd命令窗口进入svn-win32-1.4.6\bin目录结构下,输入:

>svnadmin create --fs-type fsfs D:/var/svnhome/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。

1.2.2 设置密码文件

cmd命令窗口进入路径Apache Group\Apache2\ bin目录然后输入:

> htpasswd -c D:/var/svnhome/projects/conf/<filename> <username>

本例中filename名称使用passwordfile,username名称使用admin(注意filename无需后缀名),这样便可在var/svnhome/projects/conf目录下创建一个用户名为adminpasswordfile文件,此文件将在后面配置权限所用

此后添加用户,可使用如下命令:

>htpasswd filename <username>

删除用户,使用如下命令:

>htpasswd -D filename <username>

若对密码不想加密可使用-cp参数,windows平台下默认是MD5加密。

1.2.3 设置权限文件

用文本编辑器在var/svnhome/projects/conf路径下生成名为svnaccessfile的文件,此名称将在Apache Group\Apache2\conf\httpd.conf配置文件中所用,此处不使用扩展名。编辑一下内容:

[groups]

committers = admin

developers = Allen

[/]

* = r

@developers = r

@committers = rw

[projects:/]

@ developers = rw

基本含义是根目录下任何人有读权限,committers组有读写权限;adminprojects读写权限,developers组只有读的权限

备注: 如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的.

1.2.4 配置服务

编辑Apache Group\Apache2\conf\httpd.conf文件,添加下面代码。

<Location /svn>

DAV svn

SVNPath "D:/var/svnhome/projects"

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile " D:/var/svnhome/projects/conf/passwordflie"

AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"

Require valid-user

SVNAutoversioning on

ModMimeUsePathInfo on

</Location>

备注: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,http://127.0.0.1/svn/<projectname>

配置内容说明

设置

解释

<Location>

意思是Subversion版本库的URLhttp://ipaddress/svn/

DAV svn

告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNPath

告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下

AuthType Basic

激活基本认证,就是用户名/密码

AuthName

用来说明弹出要求输入认证信息的对话框信息,可以使用中文.

AuthUserFile

指定使用认证密码的文件

AuthzSVNAccessFile

位置Subversion版本库的访问控制权限的路径文件

Require valid-user

指定只有输入了正确的用户/密码的用户可以访问URL

另外如果当此时通过访问http://127.0.0.1/svn提示403 Forbidden错误的信息的话,主要是由于svnserve.conf此文件中的[general]内容password-db = passwordfile内容加入(或者将原来的#去掉,同时将passwd修改你所创建的密码文件,本例中为passwordfile),也可以实现根目录的访问了!

1.25 安装TortoiseSVN(可选)

此工具是客户端软件,主要可以用于从服务器上check版本库项目以及updatacommit等相关SVN的管理操作,其下载地址为:http://tortoisesvn.net/downloads,另外还可以下一个语言包,都在给其的subversion官方网站上能下到.

1.3 Trac的安装

Trac是一个轻量级的项目管理工具,是一个基于web的应用程序。Trac是用Python语言开发的,需要数据库( SQLite, PostgreSQL, MySQL ).的支持才能运行。对于HTML渲染,在Trac 0.11版本之前用的是ClearSilver,以后推荐用的是Genshi.

Trac的官网上有有一篇安装指南,针对Trac0.11版本的。上面可以看到这时0.11的正式版还没有发布,我安装的是0.11dev版的。其在线安装方法地址为:http://trac.edgewall.org/wiki/TracInstall#TracInstallationGuidefor0.11

1.3.1安装前必备的软件(注意软件的版本及安装的顺序)

其中有很多软件是可以下到zip包的,但不建议下载包形式文件,因为解压python后有可能不能用,所以建议使用exe安装版的来自动完成识别操作。

1.安装Python,下载:python-2.5msi,进行默认安装。

2.安装Genshi模板系统,属于页面表示层,下载Genshi-0.4.4.win32.exe,安装时会识别Python安装目录。

3.安装Subversion Python Bindings svn-python-1.4.6.win32-py2.5.exe,安装时会识别Python安装目录。

4.安装PySQLite, 下载pysqlite-2.4.1.win32-py2.5.exe,安装时会识别Python安装目录。PySQLiteSQLitePython 绑定的轻量级数据库引擎,它是Trac默认的数据库。

1.3.2 安装Trac(0.11dev)

在安装Trac之前,首先要安装setuptools ,安装步骤如下:在主页中将ez_setup.py的文件右击另存给下载下来(如保存到D:\python下面),以CMD命令窗口方式进入python该目录执行python ez_setup.py即可安装和python版本对应的setuptools.

注意:ez_setup.py文件最好放在安装python的根目录下,这样进入该目录以后就可以直接执行>python ez_setup.py命令即可完成setuptools的安装了.

利用TortoiseSVN工具checkedTrac版本库,然后通过命令进行安装;其SVN checkout地址为:http://svn.edgewall.org/repos/trac/trunk,本例中将此内容checkD:/trac目录中,然后使用cmd命令窗口进入到下载的trac根目录下输入:

>D:\python\python setup.py install (如果tracpython放在同一目录下或者将python增加到path环境变量中,可直接写成python setup.py install)等待安装完成。

注意:此处不建议在官方网站上下载0.11beta1版,而建议使用上述checked的版本,因为0.11beta1版本安装后可能在创建一个Trac Environment时出现异常现象,所以建议大家使用0.11dev版。

1.3.3 配置Trac环境.

完成上述的安装后,就可以创建一个TracEnvironment它是Trac存储信息的地方,如 wiki pages, tickets, reports, settings, 等。

1. 通过trac-admin创建一个Trac Environment

在本例中首先在D盘的var目录下新建一个trachome目录,然后以CMD命令窗口方式进入D: \python\Scripts目录下输入:>trac-admin D:/var/trachome/projects initenv,然后根据提示输入项目的名字(本例中为projects),然后提示询问数据库连接字符串类型,本例中使用的是sqlite,故采用默认就可以了。直接回车接下来是的是:

Pleasespecifythetypeofversioncontrolsystem,
Bydefault,itwillbesvn.

Ifyoudon'twanttouseTracwithversioncontrolintegration,
choosethedefaulthereanddon'tspecifyarepositorydirectory.
inthenextquestion.

Repositorytype[svn]>
询问版本库类型,也是默认SVN,直接回车.

Pleasespecifytheabsolutepathtotheversioncontrol
repository,orleaveitblanktouseTracwithoutarepository.
Youcanalsosettherepositorylocationlater.

Pathtorepository[/path/to/repos]>D:/var/svnhome/projects

询问源码库位置,这个就是本例中刚才SVN里建立了这个项目的源码库,输入即可。回车

注意:此处一定要填写正确否则是没法将SVN的版本库与Trac进行联系起来。不过在这里填写错误后还是可以通过配置文件进行修改的。在本例中此配置文件位于: D:\ var\trachome\projects\conf下的trac.initrac.ini.sample两个文件,只需将其中srepository_dir值修改成:D:/ var/svnhome/projects即可。

PleaseenterlocationofTracpagetemplates.
Defaultisthelocationofthesite-widetemplatesinstalledwithTrac.

Templatesdirectory[D:\Python25\share\trac\templates]>
询问模板路径,这个默认。回车

接下来就是自动生成一系列模板,最后显示Congratulations!完成操作。

然后以cmd命令窗口方式进入D:\ python\Scripts文件夹下输入:

>tracd -p 8080 D:/var/trachome/projects

当看到 Serving on 0.0.0.0:8080 view at http://127.0.0.1:8080/ 时,就表示服务器启动成功了,可以打开浏览器就可以看到svn版本库中的项目资源了,到此实现了TracSVN的集成,但还未完成与Apache的集成,下面就带领大家完成这一最后的过程。

1.4 Apache+Trac+SVN集成

上面的配置是运行在一个独立的服务器上,只能运行一个项目,一般只用于自己单机访问。考虑到我们前面安装的SVN是运行在Apache服务器上,所以我们最好也让Trac运行在Apache服务器上,便于网上共享;而且和Apache集成有很多优点,比如充分利用apache的强大功能以及ModPython的高效率,便于管理与控制,很方便支持ssl等等。在官方网站上提供的安装指南上面提供了三种方法CGI, FastCGI and mod_python.为了提高性能,推荐使用后面两种,本例中安装时采用第三种也就是mod_python方法。

1、在http://www.modpython.org/ 页面下载相应的安装程序,注意版本对应。我下载的是mod_python-3.3.1.win32-py2.5-Apache2.0.exe,然后安装,安装过程中会要求选择apache的安装目录,并且会自动把mod_python.so复制到modules目录;完成后还要进行配置,类似于SVNApache的集成,可参见官方网站的在线文档,下面就具体但要在本例中的配置做法。

2、配置Apache

配置ModPython

  • Apache Group\Apache2\conf目录下httpd.conf文件中的LoadModule部分最后加入下面一行:

LoadModule python_module modules/mod_python.so

  • 配置trac服务

Apache Group\Apache2\conf目录下httpd.conf文件中的最后加入下面内容:

# TRAC

Alias /trac "D:/ trac/cgi-bin/trac.cgi"

<Location "/trac/projects">

SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption TracEnv D:/software_tools/var/trachome/projects

PythonOption TracUriRoot /trac/projects

</Location>

然后就通过http://127.0.0.1/trac/projects来访问,点击导航栏上的“Browse Source ”就可以看到svn库中项目资源。

 3配置用户身份的验证

Trac可以使用Apache的身份验证。

  • 创建密码文件,如为projects创建密码文件,Allen为用户名:

cmd命令窗口方式进入到Apache Group\Apache2\bin文件夹下输入:

>htpasswd -c D:/var/trachome/projects/conf/trac.passwd Allen

New password: **** #提示输入密码

Re-type new password: **** #再输入一次

le

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics