linux 安装SVN(http、https访问)

一. 安装环境

二. 安装svn组件

yum install mod_dav_svn subversion

三. 创建仓库及其用户(HTTP)

1. 创建仓库

  • 在服务器home路径下创建svn文件夹
  • 在svn文件夹下创建test仓库
  • 授权apache用户svn文件夹操作权限
mkdir /home/svn
cd /home/svn
svnadmin create test 
chown -R apache:apache /home/svn

2. 查看配置文件

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务配置文件
cd /home/svn/test/conf
ls

3. 新增用户

  • 编辑passwd文件,添加
  • user1=123456
  • user2=123456
vi passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
 
user1=123456
user2=123456

4. 配置authz权限

  • 编辑authz权限文件
  • 新增
    [/]
    user1=rw
    user2=r
    *=
vi authz
[groups]
#代表仓库下文件所有权限
[/]
#读写权限
user1=rw
#读权限
user2=r
#其它用户无权限
*=

5. 配置svnserve.conf

  • 编辑svnserve.conf文件
vi svnserve.conf 
  • 打开修改以下参数
#匿名可读
anon-access = read
#权限用户可写入
auth-access = write
#使用账号密码的文件名
password-db = passwd
#使用权限的文件名
authz-db = authz
#认证空间名
realm = /home/svn/test

6. 启动和停止

svnserve -d -r /home/svn/test
kill all svnserve

7. 访问

  • 默认的端口是3690,在检出提交操作之前请检测此端口是否允许出站入站。如不允许,请设置好防火墙
  • http://[ip:3690]/test

三. 创建HTTPS访问模式

1. 安装httpd组件

yum install httpd httpd-devel
yum install mod_ssl  openssl

2. 设置公共config

  • 在/home/svn 下创建配置文件夹 config
cd /home/svn
mkdir config

3. 新增公共subversion.conf

vi /etc/httpd/conf.d/subversion.conf
  • 增加以下内容
<Location  /svn>
    DAV  svn
    SVNParentPath /home/svn/
    SVNListParentPath on
    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /home/svn/config/httpd-passwd
    AuthzSVNAccessFile /home/svn/config/httpd-authz
    Require valid-user
    SSLRequireSSL
</Location>

4. 创建用户

  • 创建usertest用户和密码(密码以123为示例)文件,已有文件把 -c 参数去掉
htpasswd -c /home/svn/config/http-passwd usertest
# 或者
htpasswd /home/svn/config/http-passwd usertest
  • passwd 文件,增加用户
vi /home/svn/config/passwd
#增加以下内容
[users]
usertest=123
  • httpd-authz 文件,增加权限
vi /home/svn/config/httpd-authz

#增加以下内容
[groups]
group1=usertest  # 用户组,多个用户用逗号隔开
[test:/]  # 设置test库的权限
@group1=rw  # group1组里的用户有读写权限
*=  # 其他用户没有任何权限

5. 配置HTTPS

cd /etc/pki/tls/private
openssl genrsa -out svn.key 1024
openssl req -new -key svn.key -out svn.csr
cd /etc/pki/tls/certs
openssl x509 -req -days 365 -in /etc/pki/tls/private/svn.csr -signkey /etc/pki/tls/private/svn.key -out svn.crt

vi /etc/httpd/conf.d/ssl.conf   
#修改参数:
SSLCertificateFile /etc/pki/tls/certs/svn.crt
SSLCertificateKeyFile /etc/pki/tls/private/svn.key

#如需修改端口
Listen 61237 https

6. 授权

chown -R apache:apache /home/svn

7. 启动

svnserve -d -r /home/svn
systemctl start httpd 

8. 访问

  • 在检出提交操作之前请检测此端口是否允许出站入站。如不允许,请设置好防火墙
  • http://[ip:61237]/svn/test
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值