网上的好多关于该方面的文档写的都不详细,而且不仔细,而这个配置一旦有一个地方不正确基本就全部完蛋(哈哈哈,语言粗俗了点儿。)。最近使用svn和trac,自己配置了一套,现将我的配置经过写下来,共享给网友,希望对网友有所帮助。
****************************************************************************************************************************************
***另外参考文档为网络文档,在此谢谢该作者。
***注意:
***1、ProjectManagerServer为我的所有软件的安装根目录。
***2、或者的地方如果选择一次则全部选择.建议大家选择或者的安装。大家一定要注意安装顺序及安装版本。一个版本不匹配则全部报废。切忌切忌***3、apache的端口设置为8888
*** trac的端口号8080
*** svn的端口号7777
*** 【随便设置,只要不冲突。】
***4、附件是参考文档{包括:
*** A:一个网友的安装文档,这个地方借鉴主要借鉴该文档的软件下载目录。安装方法请参考我的文档。哈哈哈,参考其他文档安装不成功概不负责。
|
文件: |
svn+apache2+trac for windows 参考文件.rar |
大小: |
126KB |
下载: |
下载 | |
*** B:我的httpd.conf
*** c:svn服务注册
***
*****************************************************************************************************************************************
一、安装svn及apache
1、先安装Apache服务器。apache_2.2.14-win32-x86-no_ssl.msi【或者安装2.2.6(参照Trac 手记(一) Windows 下安装 Trac - 风随意静 - CSDN博客.mht)】
2、安装svn server。VisualSVN-Server-2.0.8.msi【或者解压1.4.6(参照Trac 手记(一) Windows 下安装 Trac - 风随意静 - CSDN博客.mht)】
3、安装TortoiseSVN。TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi【或者安装1.4.6(参照Trac 手记(一) Windows 下安装 Trac - 风随意静 - CSDN博客.mht)】
二、集成apache和svn
1.首先将Subversion安装目录bin\下面的两个文件:mod_authz_svn.so和mod_dav_svn.so复制到Apache安装目录modules\目录下; 再将Subversion安装目录bin\下面的所有.dll文
件复制到Apache安装目录bin\目录下
2.需要再修改httpd.conf,并做如下修改:
找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将每行前面的注释符“#”去掉。再在所有LoadModule语句的最后添加一下几行:
#SVN
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3.建立一个SVN存放文件的目录,我在D盘下创建一个文件夹:D:/svn【如果安装Svn时创建了Repositories文件夹,就不用再创建svn目录了,直接通过visualSvnServer manager来
管理即可,在这里创建用户,管理不同目录的用户访问权限。如果选用Repositories,则后面的svn目录都改成Repositories目录,并修改httpd.conf的配置】
4.接下来我们必须告诉Apache我们的资源 库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在
统一的资源库目 录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:
修改listen的值为8888.因为8080在下边用到了,所以这个地方注意不能用8080.
#SVN
DAV svn
SVNListParentPath on
SVNParentPath "D:/svn"
#SVNPath "D:/svn/test"
####################认证的类型
AuthType Basic
####################认证的名称,显示于登录提示框
AuthName "Subversion 资源库,请登录!"
####################Which password file to use for authentication 存储用户登录信息的文件
AuthUserFile D:\svn\passwd
####################限定各个用户或组在版本库中目录的访问权限
AuthzSVNAccessFile D:\svn\svnaccessfile
####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
Require valid-user
以下是选择Repositories文件夹的配置
#SVN
DAV svn
SVNListParentPath on
SVNParentPath "D:/Repositories"
#SVNPath "D:/svn/c"
####################认证的类型
AuthType Basic
####################认证的名称,显示于登录提示框
AuthName "Subversion 资源库,请登录!"
####################Which password file to use for authentication 存储用户登录信息的文件
AuthUserFile D:\Repositories\htpasswd
####################限定各个用户或组在版本库中目录的访问权限
AuthzSVNAccessFile D:\Repositories\authz
####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
Require valid-user
5.在命令行窗口中转到Apache/bin所在的目录,执行下列命令,创建用户及密码
说明:创建用户duzhengtao
输入:htpasswd –c D:\svn\passwd duzhengtao
说明:使用-c参数来创建一个passwd文件
输出:
New password: *****
Re-type new password: *****
Adding password for user duzhengtao
再创建用户的时候就不用-c参数,而是用-m参数,因为文件passwd 已经创建。
打开passwd文件,密码使用MD5加密过了,而且同样的密码加密出来的内容却不相同。用TortoiseSVN在D:/svn下创建c和c#资源库.(很简单,不多说)。创建完成后加入源码。以
c#库中的MyQQ为例。
(1)先通过VisualSvnServer manager工具在C#下创建一个MyQQ的目录。
(2)然后通过TortoiseSVN的Import功能把要导入的MyQQ程序导入到SvnServer中。
具体做法:【假设MyQQ在E:\Projecet目录中】
在E:\Project\MyQQ文件上右键,选择TortoiseSVN->Import。
在弹出的对话框中输入#【如果是本机也可以通过选择本地目录(就是你建立的要存放源码文件库文件夹)导入】
点击确定即可。
如果想导出该源码,在导出目的文件夹中选择右键TortoiseSVN->checkout
6.然后用文本编辑器创建一个Subversion授权文件,文件名为svnaccessfile,内容如下:
[groups]
admin = duzhengtao, kate
devteam1 = duzhengtao, rachel, sally
devteam2 = duzhengtao, peter, mark
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限,[/]代表根目录
[/]
* = r
@admin = rw
dangerman =
# 允许开发人员可以完全访问他们的项目版本库
[c#:/]
@devteam1 = rw
[c:/]
@devteam2 = rw
7.保存好上面的所有配置文件之后,重新启动Apache服务器。此时我们就可以在IE里面通过【访问SVN,不是访问apache。注意:如果是选择的低版本的svn也就是上边安装svn时选
择的是解压安装,此处要执行svn服务安装文件setup/setupSVNServer.bat.注意这个地方在注册服务时有端口号的指定,我指定为7777。SC create %svc_name% binPath=
"\"%svn_dir%\bin\svnserve.exe\" --listen-port 7777 --service -r \"%repos%\"" depend= Tcpip start= auto| find "1060:" >> NUL】 和
来测试用户登录,以及不同用户组权限。[注意:使用81端口,因为trac默认使用8080端口所以尽量不要用8080端口。]
三、svn+trac安装
(一)安装软件
1、安装Python。python-2.5.msi
2、安装genshi。Genshi-0.4.4.win32.exe
3、安装svn-python。svn-python-1.4.5.win32-py2.5.exe【或解压拷贝(参照Trac 手记(一) Windows 下安装 Trac - 风随意静 - CSDN博客.mht)】
4、安装PySQLite。pysqlite-2.4.0.win32-py2.5.rar
5、安装setuptools。setuptools-0.6c8.win32-py2.5.exe【或者setup/ez_setup.py(参照Trac 手记(一) Windows 下安装 Trac - 风随意静 - CSDN博客.mht)】
6、安装trac。Trac-0.11b1.win32.exe
(二)配置trac
配置Trac环境
完成上述的安装后,就可以创建一个TracEnvironment,它是Trac存储信息的地方,如 wiki pages, tickets, reports, settings, 等。
1. 通过trac-admin创建一个Trac Environment
我的做法是先在d盘新建一个trac目录,然后执行
cd C:\ProjectManagerServer\Python\Scripts:
> trac-admin d:/trac/mytest initenv
然后根据提示输入项目的名字(myproject)->数据库连接字符串(默认)->源代码管理类型(默认)svn->你的源代码资源库路径。 【d:\svn或者d:\Repositories】
2.在8080端口上单项目运行
> cd C:\ProjectManagerServer\Python\Scripts
> tracd -p 8080 d:/trac/mytest【此处启动要注意,上步初始化时trac的名称有可能变化。比如mytest,在启动的时候可能是mytesttrac。另外此处可以启动多个trac项
目,如:tracd -p 8080 d:\trac\project1 d:\trac\projec2】
当看到 Serving on 0.0.0.0:8080 view at 时,就表示服务器启动成功了,可以打开浏览器,(此处的8080是默认端口号注意不要跟其他服务端
口冲突。)
四、Apache+SVN与Trac集成
1、安装ModPython。mod_python-3.3.1.win32-py2.5-Apache2.2
2、配置
A:配置ModPython
在apache的httpd.conf中加入下面一行:
LoadModule python_module modules/mod_python.so
B:配置trac
在apache的httpd.conf中加入下面内容:
#setup trac on mod_python
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
#根据个人安装情况修改
PythonOption TracEnv d:/trac/mytest
PythonOption TracUriRoot /trac/mytest
C:然后就通过来访问,点击“浏览源代码”就可以看到svn库中项目资源。
3、配置用户身份的验证Trac可以使用Apache的身份验证。
?创建密码文件,如为mytest创建密码文件,duzhengtao为用户名:
转到%Apache%\bin>htpasswd -c d:/trac/mytest/conf/trac.passwd duzhengtao
New password: ****
Re-type new password: ****
Adding password for user duzhengtao
若对密码不想加密可使用-cp参数,win平台下默认是MD5加密。
?
?配置身份验证 #设置myjava的Trac用户验证
AuthType Basic
AuthName myjavatrac
AuthUserFile d:/trac/mytest/conf/trac.passwd
Require valid-user
完成后重启Apache服务器,然后浏览 ,点击Login