Apache+SVN+Trac搭建项目管理服务器的安装与配置详解.docx
- 文档编号:11453250
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:12
- 大小:149.03KB
Apache+SVN+Trac搭建项目管理服务器的安装与配置详解.docx
《Apache+SVN+Trac搭建项目管理服务器的安装与配置详解.docx》由会员分享,可在线阅读,更多相关《Apache+SVN+Trac搭建项目管理服务器的安装与配置详解.docx(12页珍藏版)》请在冰豆网上搜索。
Apache+SVN+Trac搭建项目管理服务器的安装与配置详解
Apache+SVN+Trac搭建项目管理服务器的安装与配置详解
1.安装平台
本安装基于Windowsvista环境下进行安装与配置的,其它windows版本都可用;搭建此项目管理服务器首先必须要安装Apache服务器.
1.1安装
1.1.1安装Apache
(1)下载Apache
地址http:
//httpd.apache.org/download.cgi
注意:
Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion1.2一起工作。
2.2.X目前不能很好支持SVN1.4.3。
所以当前建议下载Apache2.0.63版本
(2)安装
下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi,根据提示进行操作。
遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址(此文件也可在安装后进行修改,该文件位于ApacheGroup/Apache2/conf/httpd.conf文件)。
注意:
如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\ApacheGroup\Apache2\conf,打开httpd.conf。
编辑文件的Listen80为其他可用的端口,例如Listen8080,然后重新启动-这样就不会那个问题了,或者将其它应用的端口进行改之。
(3)检查
安装完成后浏览http:
//localhost/若成功,可看到apache欢迎页面。
1.1.2安装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.somod_dav_svn.so复制到ApacheGroup\Apache2\modules下,再将svn-win32-1.4.6\bin目录下的所有dll文件全部复制到ApacheGroup\Apache2\bin文件夹下。
步骤2找到ApacheGroup\Apache2\conf\httpd.conf文件,然后去掉如下几行的注释(删除'#'标记):
#LoadModuledav_fs_modulemodules/mod_dav_fs.so
#LoadModuledav_modulemodules/mod_dav.so
将下面两行添加到LoadModule部分的最后。
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
进行如上后续修改后完成了SVN+Apache之间的WebDav的工作了。
重启Apache以后可看到如下图:
这是安装最终的图,图中状态栏显示Apache/2.0.63(Win32)SVN1.4.6DAV/2是由于还安装了mod_python,此步骤稍后将讲解,如上安装好后应显示为Apache/2.0.63(Win32)SVN1.4.6DAV.
1.2配置
1.2.1建立版本库
首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录var/svnhome,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。
首先以cmd命令窗口进入svn-win32-1.4.6\bin目录结构下,输入:
>svnadmincreate--fs-typefsfsD:
/var/svnhome/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。
1.2.2设置密码文件
以cmd命令窗口进入路径ApacheGroup\Apache2\bin目录下,然后输入:
>htpasswd-cD:
/var/svnhome/projects/conf/
本例中filename名称使用passwordfile,username名称使用admin(注意filename无需后缀名),这样便可在var/svnhome/projects/conf目录下创建一个用户名为admin的passwordfile文件,此文件将在后面配置权限所用。
此后添加用户,可使用如下命令:
>htpasswdfilename
删除用户,使用如下命令:
>htpasswd-Dfilename
若对密码不想加密可使用-cp参数,windows平台下默认是MD5加密。
1.2.3设置权限文件
用文本编辑器在var/svnhome/projects/conf路径下生成名为svnaccessfile的文件,此名称将在ApacheGroup\Apache2\conf\httpd.conf配置文件中所用,此处不使用扩展名。
编辑一下内容:
[groups]
committers=admin
developers=Allen
[/]
*=r
@developers=r
@committers=rw
[projects:
/]
@developers=rw
基本含义是根目录下任何人有读权限,committers组有读写权限;admin对projects读写权限,而developers组只有读的权限。
备注:
如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的.
1.2.4配置服务
编辑ApacheGroup\Apache2\conf\httpd.conf文件,添加下面代码。
DAVsvn
SVNPath"D:
/var/svnhome/projects"
AuthTypeBasic
AuthName"Subversionrepositories"
AuthUserFile"D:
/var/svnhome/projects/conf/passwordflie"
AuthzSVNAccessFile"D:
/var/svnhome/projects/conf/svnaccessfile"
Requirevalid-user
SVNAutoversioningon
ModMimeUsePathInfoon
备注:
如果使用
/var/svnhome/projects下的版本库,若为
//127.0.0.1/svn下的项目,而只能这样访问,如http:
//127.0.0.1/svn/
配置内容说明
设置
解释
意思是Subversion版本库的URL是http:
//ipaddress/svn/
DAVsvn
告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
SVNPath
告诉Subversion需要查看的版本库位于D:
/var/svnhome/projects之下
AuthTypeBasic
激活基本认证,就是用户名/密码
AuthName
用来说明弹出要求输入认证信息的对话框信息,可以使用中文.
AuthUserFile
指定使用认证密码的文件
AuthzSVNAccessFile
位置Subversion版本库的访问控制权限的路径文件
Requirevalid-user
指定只有输入了正确的用户/密码的用户可以访问URL
另外如果当此时通过访问http:
//127.0.0.1/svn提示403Forbidden错误的信息的话,主要是由于svnserve.conf此文件中的[general]内容password-db=passwordfile内容加入(或者将原来的#去掉,同时将passwd修改你所创建的密码文件,本例中为passwordfile),也可以实现根目录的访问了!
1.25安装TortoiseSVN(可选)
此工具是客户端软件,主要可以用于从服务器上check版本库项目以及updata与commit等相关SVN的管理操作,其下载地址为:
1.3Trac的安装
Trac是一个轻量级的项目管理工具,是一个基于web的应用程序。
Trac是用Python语言开发的,需要数据库(SQLite,PostgreSQL,MySQL等).的支持才能运行。
对于HTML渲染,在Trac0.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.安装SubversionPythonBindings:
svn-python-1.4.6.win32-py2.5.exe,安装时会识别Python安装目录。
4.安装PySQLite,下载pysqlite-2.4.1.win32-py2.5.exe,安装时会识别Python安装目录。
PySQLite是SQLite和Python绑定的轻量级数据库引擎,它是Trac默认的数据库。
1.3.2安装Trac(0.11dev)
在安装Trac之前,首先要安装setuptools,安装步骤如下:
在主页中将ez_setup.py的文件右击另存给下载下来(如保存到D:
\python下面),以CMD命令窗口方式进入python该目录执行pythonez_setup.py即可安装和python版本对应的setuptools了.
注意:
ez_setup.py文件最好放在安装python的根目录下,这样进入该目录以后就可以直接执行>pythonez_setup.py命令即可完成setuptools的安装了.
利用TortoiseSVN工具checked出Trac版本库,然后通过命令进行安装;其SVNcheckout地址为:
http:
//sn.edgewall.org/repos/trac/trunkv,本例中将此内容check于D:
/trac目录中,然后使用cmd命令窗口进入到下载的trac根目录下输入:
>D:
\python\pythonsetup.pyinstall(如果trac与python放在同一目录下或者将python增加到path环境变量中,可直接写成pythonsetup.pyinstall)等待安装完成。
注意:
此处不建议在官方网站上下载0.11beta1版,而建议使用上述checked的版本,因为0.11beta1版本安装后可能在创建一个TracEnvironment时出现异常现象,所以建议大家使用0.11dev版。
1.3.3配置Trac环境.
完成上述的安装后,就可以创建一个TracEnvironment,它是Trac存储信息的地方,如wikipages,tickets,reports,settings,等。
1.通过trac-admin创建一个TracEnvironment
在本例中首先在D盘的var目录下新建一个trachome目录,然后以CMD命令窗口方式进入D:
\python\Scripts目录下输入:
>trac-adminD:
/var/trachome/projectsinitenv,然后根据提示输入项目的名字(本例中为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.ini与trac.ini.sample两个文件,只需将其中srepository_dir值修改成:
D:
/var/svnhome/projects即可。
PleaseenterlocationofTracpagetemplates.
Defaultisthelocationofthesite-widetemplatesinstalledwithTrac.
Templatesdirectory[D:
\Python25\share\trac\templates]>
询问模板路径,这个默认。
回车
接下来就是自动生成一系列模板,最后显示Congratulations!
完成操作。
然后以cmd命令窗口方式进入D:
\python\Scripts文件夹下输入:
>tracd-p8080D:
/var/trachome/projects
当看到Servingon0.0.0.0:
8080viewathttp:
//127.0.0.1:
8080/时,就表示服务器启动成功了,可以打开浏览器就可以看到svn版本库中的项目资源了,到此实现了Trac与SVN的集成,但还未完成与Apache的集成,下面就带领大家完成这一最后的过程。
1.4Apache+Trac+SVN集成
上面的配置是运行在一个独立的服务器上,只能运行一个项目,一般只用于自己单机访问。
考虑到我们前面安装的SVN是运行在Apache服务器上,所以我们最好也让Trac运行在Apache服务器上,便于网上共享;而且和Apache集成有很多优点,比如充分利用apache的强大功能以及ModPython的高效率,便于管理与控制,很方便支持ssl等等。
在官方网站上提供的安装指南上面提供了三种方法CGI,FastCGIandmod_python.为了提高性能,推荐使用后面两种,本例中安装时采用第三种也就是mod_python方法。
1、在http:
//www.modpython.org/页面下载相应的安装程序,注意版本对应。
我下载的是mod_python-3.3.1.win32-py2.5-Apache2.0.exe,然后安装,安装过程中会要求选择apache的安装目录,并且会自动把mod_python.so复制到modules目录;完成后还要进行配置,类似于SVN和Apache的集成,可参见官方网站的在线文档,下面就具体但要在本例中的配置做法。
2、配置Apache
∙配置ModPython
在ApacheGroup\Apache2\conf目录下httpd.conf文件中的LoadModule部分最后加入下面一行:
LoadModulepython_modulemodules/mod_python.so
∙配置trac服务
在ApacheGroup\Apache2\conf目录下httpd.conf文件中的最后加入下面内容:
#TRAC
Alias/trac"D:
/trac/cgi-bin/trac.cgi"
SetHandlermod_python
PythonInterpretermain_interpreter
PythonHandlertrac.web.modpython_frontend
PythonOptionTracEnvD:
/software_tools/var/trachome/projects
PythonOptionTracUriRoot/trac/projects
然后就通过http:
//127.0.0.1/trac/projects来访问,点击导航栏上的“BrowseSource”就可以看到svn库中项目资源。
3、配置用户身份的验证
Trac可以使用Apache的身份验证。
∙创建密码文件,如为projects创建密码文件,Allen为用户名:
以cmd命令窗口方式进入到ApacheGroup\Apache2\bin文件夹下输入:
>htpasswd-cD:
/var/trachome/projects/conf/trac.passwdAllen
Newpassword:
****#提示输入密码
Re-typenewpassword:
****#再输入一次
AddingpasswordforuserAllen#成功
∙配置身份验证#设置Allen的Trac用户验证
AuthTypeBasic
AuthName"Projects"
AuthUserFileD:
/software_tools/var/trachome/projects/conf/trac.passwd
Requirevalid-user
∙完成后重启Apache服务器,然后浏览http:
//127.0.0.1/trac/projects,点击Login,将看到如下效果图:
4、Trac的授权设置
在Trac0.11以前的版本需要安装WebAdmin插件才能以web的方式管理用户及授权,以后的版本就不在需要了,已经集成了。
前面创建的Apache的身份验证,都不具有TRAC_ADMIN权限,下面我们重新创建一个admin用户,然后授予TRAC_ADMIN权限:
#在原来的密码文件中新增一个admin用户
以cmd命令窗口方式进入到ApacheGroup\Apache2\bin文件夹下输入:
>htpasswd-mD:
/software_tools/var/trachome/projects/conf/trac.passwdadmin
Newpassword:
*****
Re-typenewpassword:
*****
Addingpasswordforuseradmin
然后为admin用户授权TRAC_ADMIN
以cmd命令窗口方式进入到python\Scripts目录下输入命令:
>trac-adminD:
/software_tools/var/trachome/projectspermissionaddadminTRAC_ADMIN
重新启动Apache服务器完成后再以admin帐号Login,在导航栏的search的最后面就会看到Admin,点击进入可以看到如下效果图:
进行如下授权设置以后,对于BrowseSource里面的内容的所有人依然可见,这在权限中是禁止的,所以可以通过将两者配置合并一下,即可达到需要输入用户名和密码的效果,合并后的配置文件内容应为:
#TRAC
Alias/trac"D:
/trac/cgi-bin/trac.cgi"
SetHandlermod_python
PythonInterpretermain_interpreter
PythonHandlertrac.web.modpython_frontend
PythonOptionTracEnvD:
/software_tools/var/trachome/projects
PythonOptionTracUriRoot/trac/projects
AuthTypeBasic
AuthName"Projects"
AuthUserFileD:
/software_tools/var/trachome/projects/conf/trac.passwd
Requirevalid-user
另外还可以通过var\trachome\projects\conf目录下的trac.ini文件进行版本库的权限控制,将trac.ini中的[trac]项authz_file值修改成与SVN版本控制权限一致。
本例中为:
[trac]
authz_file=D:
/var/svnhome/projects/conf/ svnaccessfile
此时在没有登陆的情况下BrowseSource项的内容是无法查看的,提示用户Insufficientpermissionstoaccess权限不够,此方法同样也实现了权限的控制。
至此,Apache+SVN+Trac的集成到此完毕了
备注:
如果启动时出现错误的话,可将将svn-win32-1.4.6\bin目录下的所有dll文件全部复制到ApacheGroup\Ap
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Apache SVN Trac 搭建 项目 管理 服务器 安装 配置 详解