Lmxy1990 ' Blog

linux svn服务器安装

安装

官方安装说明:
https://subversion.apache.org/packages.html#centos

配置

  1. 创建一个svn库文件夹:
    mkdir -p /opt/svn/repo/
  2. 将该文件夹初始化为SVN库:
    svnadmin create /opt/svn/repo/

  3. 生成如下目录和文件:
    目录:locks
    目录:hooks
    目录:db
    目录:conf
    文件:format
    文件:README.txt

  4. conf 是配置文件夹
    svnserve.conf 是 svn 服务综合配置文件
    passwd 是用户名和密码配置文件
    authz 是权限配置文件
  5. 配置svnserve
    vim /opt/svn/repo/conf/svnserve.conf

    1. anon-access: 对不在授权名单中的用户访问仓库的权限控制,有三个可选性:write、read、none
      none 表示没有任何权限
      read 表示只有只读权限
      write 表示有读写权限
    2. auth-access:
      对在授权名单中的用户访问仓库的权限控制,有三个可选性:write、read、none
      none 表示没有任何权限
      read 表示只有只读权限
      write 表示有读写权限
  6. password-db:用户数据配置文件

  7. authz-db:用户权限配置文件

  8. realm:指定版本库的认证域.
    即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
    当前实例的配置内容:realm = myrepo

  9. 添加用户
    vim /opt/svn/repo/conf/passwd
    添加一个格式为:用户名 = 密码

  10. 设置用户/用户组权限
    vim /opt/svn/repo/conf/authz

[groups] 配置

用户组:组名 = 用户1,用户2
使用组权限方式:@组名 = rw

  • = 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录.

启动服务
svnserve -d -r /opt/svn/repo/ --listen-port 3690

-d 表示后台运行
-r /opt/svn/repo/ 表示指定根目录
–listen-port 3690 表示指定端口,默认就是 3690,所以如果要用默认端口这个也是可以省略掉的

停止服务
killall svnserve

http服务配置

安装svn驱动模块
yum install mod_dav_svn

安装http服务
yum install httpd

查看http服务配置,是否监听80端口.
vim /etc/httpd/conf/httpd.conf

配置http的用户密码文件.
htpasswd -cm /opt/svn/repo/conf/svn-auth-conf admin

该命令,是添加一个用户admin,密码会提示输入.

修改http的用户密码文件
htpasswd -m /opt/svn/repo/conf/svn-auth-conf admin

将该密码文件配置到http服务.
vim /etc/httpd/conf.modules.d/odules.d/10-subversion.conf

这里的配置,是http模块的配置文件,在之前的http的配置里面其实有说明,http服务启动的时候,会加在该目录下的所有文件.
编辑这个文件:

1
2
3
4
5
6
7
8
9
10
11
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
DAV svn
SVNPath /opt/svn/repo
#SVNParentPath /home/svn/data
AuthzSVNAccessFile /opt/svn/repo/conf/passwd
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /opt/svn/repo/conf/svn-auth-conf
Require valid-user


End

坚持原创技术分享,您的支持将鼓励我继续创作!