版本控制案例二之win下搭建httpd2.2+svn的版本控制服务器(svn使用win32svn安装包)

送分小仙女□ 提交于 2019-12-08 13:35:17

这是哪位大神之作实在不记得了,我保持在了记事本了,一直都用的这种方法,快速搭建简单的协同开发的svn环境

毕竟http协议的web浏览器访问方式很方便,此处的web服务器使用apache的httpd2.2

环境 win7

条件:Subversion(Win32Svn)+httpd.2.2

httpd服务是Apache最基础的服务,通过他能实现http服务访问,https没研究过

下载httpd.2.2

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

下载Subversion,自己百度下吧,推荐都是去官网下载

选择win32Svn,

我用的1.8.17版本


开始安装--------------------------------------------------------------------------------------------------------------------

1 安装Apache,一路next

一直点击Next按钮即可,直到出现Server Information页面:
在三个文本框中分别填写
Network Domain:localhost
Server Name:localhost
Administrator’s Email Address:随意

2测试Apache
在IE里输入http://localhost/,如果页面显示:It Works!,恭喜你安装Apache成功
    [备注:Apache 更改端口{
        1.找到Apache安装目录下conf目录下的httpd.conf文件(即d:\Apache\conf\httpd.conf)。打开它。
        2.找到“Listen80”,紧接着Listen的数字就是端口号,我们改为“Listen 8080”。  修改为其它未使用的端口号也行。
        3. 重新启动Apache,使新的配置生效。可以使用右下角状态栏的“Apache Serive Monitor”启动apache。
            也可以点击“开始”>"运行>输入cmd>回车>定位到apache安装目录下到bin目录,然后输入
            “httpd–k start”。
    }]

3 安装Subversion,更简单 ,一路next(默认指定http版本就是2.2)

4、测试Subversion是否安装成功
进入cmd 执行svn,,出现如下信息“使用“svn help”得到用法”提示代表安装成功
        (如:C:\Documents and Settings\Administrator>svn
        使用“svn help”得到用法。)


5、Subversion数据仓库建立及相关配置

建立数据仓库:

C:\Documents and Settings\Administrator>svnadmin create e:\svnroot\project_name
执行上述命令后如果没有输出,代表创建数据仓库成功,进行e:\svnroot\project_name下会看到如下目录和文件:
conf
dav
db
format
hooks
locks
README.txt
我们重点关注conf目录,进入conf目录,会看到有如下文件:
svnserve.conf:基础配置文件
authz:配置用户权限文件
passwd:配置用户名和密码文件

svnserve.conf文件变更如下:

找到#password-db = passwd,去掉#
找到#anon-access = read     去掉#,改read为none
找到#auth-access = write     去掉#
找到#authz-db = authz       去掉#

提示:

password-db = passwd是指密码文件时passwd
anon-access = read指定匿名用户权限可读(read是读,none是没权限)
auth-access = write是指权限用户可写
authz-db = authz是指权限文件时authz

passwd:变更如下:
在文件的最后加入:

hello_one = 123456
hello_two = 123456
上述含义为增加两个用户hello_one和hello_two密码均为123456


authz:变更如下:


增加组

[groups]
dept_manager = hello_one
dept_member = hello_two

根据组配置权限控制
[project_name:/]
@dept_manager = rw
* = r
[project_name:/src]    
@dept_manager = rw
@dept_member = rw

注意:[project_name:/src]    这里只是提示你可以对project_name根目录进行细化权限,如果你是别的目录直接替换src,如果不细化权限,就没用了要删掉他

6、Apache配置

进入目录C:\Program Files\Subversion\bin>
找到如下两个文件:mod_authz_svn.so、mod_dav_svn.so
将其拷贝至C:\Program Files\Apache Software Foundation\Apache2.2\modules目录下
进入目录C:\Program Files\Apache Software Foundation\Apache2.2\conf>
修改httpd.conf

找到:
#LoadModule dav_module modules/mod_dav.so,去掉#号
#LoadModule dav_fs_module modules/mod_dav_fs.so,去掉#号
增加[我是加在LoadMoudle最后]:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

 

在httpd.conf末尾加上:

<Location /svn/project_name>
DAV svn
SVNPath e:/svnroot/project_name
AuthzSVNAccessFile e:/svnroot/project_name/conf/authz
Satisfy Any
Require valid-user

AuthType Basic
AuthName "Subversion repositories"
AuthUserFile  e:/svnroot/project_name/conf/users.auth
Require valid-user
</Location>

 

6、users.auth生成
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>htpasswd -cb users.auth hello_one 123456

(会出现如下信息:Automatically using MD5 format.
Adding password for user hello_one)

C:\Program Files\ Apache Software Foundation\Apache2.2\bin>
我们就会发现在bin目录生成了users.auth,我们可以看到, hello_one用户名已经被添加进去了
,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>htpasswd -b users.auth hello_two 123456

(会出现如下信息:Automatically using MD5 format.
Adding password for user hello_two)

C:\Program Files\ Apache Software Foundation\Apache2.2\bin>
注意加入第二个用户的命令参数少了c,第一次新建的时候要加,后面追加用户的时候,就不用这个c了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到e:/svnroot/project_name/conf/里面去,
使我们上面的设置生效.

7、测试

重新启动Apache,发现有如下错误:

Syntax error on line 174 of C:/Program Files/Apache Group/Apache2/conf/httpd.con

f:
API module structure 'dav_svn_module' in file C:/Program Files/Apache Group/Apac

he2/modules/mod_dav_svn.so is garbled - expected signature 41503230 but saw 4150

3232 - perhaps this is not an Apache module DSO, or was compiled for a different

 Apache version?

Note the errors or messages above, and press the <ESC> key to exit.  14...

解决办法:C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下的所有dll文件拷贝到一个临时目录,然后删除他,从C:\Program Files\Subversion\bin>目录拷贝所有的dll文件至C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下,再将临时目录的文件覆盖至C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下。
重新启动Apache,成功。
在IE中输入:http://localhost/svn/prject_name 页面出现如下内容:
project_name - Revision 0: /

代表您已经安装成功

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!