Linux SVN HTTP访问服务部署

1.查询是否安装subversion【防火墙,selinx关闭】

[root@localhost ~]# rpm -qa | grep subversion
subversion-1.6.11-15.el6_7.x86_64
[root@localhost ~]# yum update subversion -y

 2.安装apache支持svn

yum -y install httpd httpd-devel mod_dav_svn mod_ssl
mkdir /data/svn/conf -p
mkdir /data/svn/data -p
svnadmin create /data/svn/data/

 3.创建认证用户及密码文件

htpasswd -cm /data/svn/conf/passwd admin
htpasswd -m /data/svn/conf/passwd dev01
vim /data/svn/conf/authz
# 用户组
[groups]
admin = admin
dev = dev01,dev02
test = test01

# 根目录
[/]
@admin = rw
* = r

[ph:/]
@admin = rw
@dev = rw
@test = r

==============================================
[groups]
admin = admin,pinhui02
dev = pinhui01,pinhui02,pinhui03,pinhui04,pinhui05,pinhui06,pinhui12,pinhui13,pinhui14
sup = pinhui10,pinhui11
ops =
ios = pinhui09,pinhui12
android = pinhui07,pinhui08,pinhui04,pinhui12

# 项目根目录
[/]
@admin = rw
@dev = r

# wap.service
[wap.service:/]
@admin = rw
@dev =rw

# web.service
[web.service:/]
@admin = rw
@dev = rw

# web.passport
[web.passport:/]
@admin = rw
@dev = rw

# wap.passport
[wap.passport:/]
@admin = rw
@dev = rw

# web.news
[web.news:/]
@admin = rw
@dev = rw

 4.配置apache的认证

vim /etc/httpd/conf.d/subversion.conf

# ==========================根目录====================================
<Location /svn>
     DAV svn
#   SVNParentPath /var/www/svn
    SVNPath /data/svn/data
    SVNListParentPath on
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "svn for project"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
#   </LimitExcept>
</Location>

# ==========================php项目====================================
<Location /svn/php.service>
     DAV svn
#   SVNParentPath /var/www/svn
    SVNPath /data/svn/data/php.service
    SVNListParentPath on
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "svn for project"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
#   </LimitExcept>
</Location>

# ================================wap源码====================================
<Location /svn/wap.source>
     DAV svn
    SVNPath /data/svn/data/wap.source
    SVNListParentPath on
      AuthType Basic
      AuthName "svn for project"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
</Location>

# ================================tuan源码====================================
<Location /svn/web.tuan>
     DAV svn
    SVNPath /data/svn/data/web.tuan
    SVNListParentPath on
      AuthType Basic
      AuthName "svn for project"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
</Location>
# ================================wap.api源码====================================
<Location /svn/wap.api>
     DAV svn
    SVNPath /data/svn/data/wap.api
    SVNListParentPath on
      AuthType Basic
      AuthName "svn for project"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
</Location>
# ================================shop 2.0源码====================================

 

 5.svn目录权限配置及启动svn

chown -R apache.apache /data/svn/data
svnserve -d -r /data/svn/data/ --pid-file=/data/svn/conf/svn.pid --log-file=/data/svn/conf/svn.log
/etc/init.d/httpd start

 6.登陆svn,http://192.168.1.223/svn  ,[svn是subversion.conf里面配置的目录,指向/data/svn/data启动目录]

 

 7.建立新仓库如:ph仓库,先移除根目录的文件,然后创建新的仓库,并授权新仓库权限:chown -R apache.apache ph

8.增加访问路径

vim /etc/httpd/conf.d/subversion.conf
<Location /svn/ph>
   DAV svn
#   SVNParentPath /var/www/svn                 # 指向新仓库地址
    SVNPath /data/svn/data/ph
    SVNListParentPath on

#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /data/svn/conf/passwd
      AuthzSVNAccessFile /data/svn/conf/authz
      Require valid-user
#   </LimitExcept>
</Location>

 9.访问新仓库

 

10.在Ph仓库上传文件,然后在根目录指向ph仓库,chout,然后新建文件并commit

11.根仓库chout,然后在根仓库新建新仓库同名的目录,

 SVNadmin管理工具安装

cd /usr/local/src
get http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download --no-check-certificate
unzip svnadmin-1.6.2.zip
cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
chmod -R 777 /var/www/html/svnadmin/data
chown -R apache.apache /var/www/html/svnadmin/
chmod 777 /data/svn/conf/passwd
chmod 777 /data/svn/conf/authz

 

posted @ 2017-03-28 15:30  sunmmi  阅读(1789)  评论(0)    收藏  举报