SVN与Apache HTTP服务器的整合安装

–>

1.
环境:

a)
操作系统:RedHat AS5

b)
http
apache httpd-2.2.16,假设httpd安装在/opt/apache2目录中

c)
svn
subversion-1.6.0-rc2,假设svn安装在/opt/subversion目录中

2.
安装apache httpd

#./configure –enable-dav –enable-so –prefix=/opt/apache2/

#./make clean && make && make install

3.
安装svn

#./configure –prefix=/opt/subversion –with-apxs=/opt/apache2/bin/apxs –with-apr=/opt/apache2 –with-apr-util=/opt/apache2 –with-ssl
–enable-maintainer-mode

#./make clean && make && make install

4.
创建svn仓库

#/opt/subversion/bin/svnadmin create /var/svn/repos

#ls –l /var/svn/repos

可以看到创建了一些SVN的目录和文件,则表示安装SVN成功。

5.
导入需要进行版本控制的项目目录

#/opt/subversion/bin/svn import /tmp/myproject file:///var/svn/repos/myproject -m “initial

import”

Adding /tmp/myproject/branches

Adding /tmp/myproject/tags

Adding /tmp/myproject/trunk

Committed revision 1.

其中/tmp/myproject是需要导入的项目目录,按照约定,项目中一般需要创建branchestagstrunk目录

6.
SVN
权限控制

a)
创建用户名和密码文件:

#/opt/apache2/bin/htpasswd –c / var/svn/repos/authfile username

然后提示输入密码和确认密码结束密码文件的创建,如果需要追加用户,则不需要-c参数。

b)
创建访问控制文件:

#vi /var/svn/repos/authz.conf

输入如下内容:

[storevm:/]

xiangqing.tan = rw

[/]

* = r

#[groups]

#svn1-developers = wooin, bao

#svn2-developers = wooin

#[svn1:/]

#@svn1-developers = rw

注释:

[storevm:/]

xiangqing.tan = rw

表示设置storevm项目的访问控制,其中xiangqing.tan用户对于该项目拥有读写权限。

[/]

* = r

表示所有用户对所有仓库中的项目拥有读权限。

#[groups]

#svn1-developers = wooin, bao

#svn2-developers = wooin

创建用户组,创建了2个用户组,并指定了组中的成员。

#[svn1:/]

#@svn1-developers = rw

设置用户组的访问控制权限。svn1-developers组对svn1项目拥有读写权限。

7.
Apache http
SVN相关设置

httpd.conf文件中加入如下内容:

# Needed to do Subversion Apache server.

LoadModule dav_svn_module
modules/mod_dav_svn.so

# Only needed if you decide to do “per-directory” access control.

LoadModule authz_svn_module
modules/mod_authz_svn.so

#

# Example location directive.

#

<Location /svn>


DAV svn


SVNPath /var/svn/repos/

#

#
# Limit write permission to list of valid users.

#
<LimitExcept GET PROPFIND OPTIONS REPORT>

#
# Require SSL connection for password protection.

#
# SSLRequireSSL

#


AuthzSVNAccessFile /var/svn/repos/authz.conf


AuthType Basic


AuthName “Authorization Realm”


AuthUserFile /var/svn/repos/authfile


Require valid-user

#
</LimitExcept>

</Location>

注释:

<Location /svn>设置了浏览器访问的上下文路径,例如可以通过http://localhost/svn访问SVN仓库。

SVNPath /var/svn/repos/设置了SVN的仓库路径

AuthzSVNAccessFile /var/svn/repos/authz.conf设置了访问控制权限文件的路径

AuthUserFile /var/svn/repos/authfile设置了密码文件的路径

8.
启动

#/opt/apache2/bin/apachectl –k start

9.
如果安装都成功了,会展现如下的界面:

由于我们给SVN的访问设置了用户名和密码,所以要求我们输入用户名和密码。输入成功后会显示如下的界面

点击链接,我们就能看到我们导入的项目目录了

至此所有安装宣告全部成功!

附件:svn的完整源代码安装包,包含了所有svn安装时需要的依赖(apache
httpd
不包含在内,需要另行安装)。如有需要请email我。
[email protected]

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明