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

1.  环境:

a)         操作系统:RedHat AS5

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

c)         svnsubversion-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 httpSVN相关设置

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我。 jacktanlikejava@hotmail.com

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值