1、通过 yum 命令安装 svnserve,命令如下:

# 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
yum -y install subversion # 若需查看svn安装位置,可以用以下命令:
rpm -ql subversion

2、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

# 选择在 var 路径下创建版本库,当前处于根目录下,一次性创建如下:
mkdir /var/svnrepos

3、创建 svn 版本库

# 在第二步建立的路径基础上,创建版本库,命令如下:
svnadmin create /var/svnrepos/xxxx (xxxx为你预期的版本库名称,可自定义) # 创建成功后,进入 xxxx 目录下
cd /var/svnrepos/xxxx # 进入目录,可以看见如下文件信息:
total 24
drwxr-xr-x 2 root root 4096 May 2 13:48 conf
drwxr-sr-x 6 root root 4096 May 2 13:48 db
-r--r--r-- 1 root root 2 May 2 13:48 format
drwxr-xr-x 2 root root 4096 May 2 13:48 hooks
drwxr-xr-x 2 root root 4096 May 2 13:48 locks
-rw-r--r-- 1 root root 229 May 2 13:48 README.txt

4、配置修改

# 进入已经创建好的版本库目录下,也就是前文说创建的 xxxx,进入 conf
cd /var/svnrepos/xxxx/conf # conf 目录下,一共存放三份重要的配置文件,如下:
total 12 -rw-r--r-- 1 root root 1080 May 2 13:48 authz
-rw-r--r-- 1 root root 309 May 2 13:48 passwd
-rw-r--r-- 1 root root 3090 May 2 13:48 svnserve.conf # authz:负责账号权限的管理,控制账号是否读写权限
# passwd:负责账号和密码的用户名单管理
# svnserve.conf:svn 服务器配置文件
  • 编辑 authz 文件(注意:[/] 也是必须的)

# 用户组(权限分组管理,组名 = 用户1,用户2)
[groups]
teacher = zhengying,zhugc
class1 = zhangsan # 拥有根目录(版本库)下权限的用户组配置,r 代表可读权限--可以从 svn 服务器上dowm 资料,但是不能上传和删除资料;rw 代表可读可写权限--可以从 svn 服务器上dowm 资料,也可以上传和删除资料
[/]
@teacher = rw # 拥有版本库下 class1 文件夹权限的用户组配置(xinfs 为版本库)
[xinfs:/class1]
@class1 = rw
  • 编辑 passwd 文件,管理用户密码(用户名 = 密码)

  • 编辑 svnserve.conf 文件,取消下面几行注释(注意:配置的前面不能有空格,一定要顶格写)

anon-access = none    # 表示禁止匿名用户访问。
auth-access = write # 表示授权用户拥有读写权限。
password-db = passswd # 指定用户名口令文件,即 passwd 文件。
authz-db = authz #指定权限配置文件,即 authz 文件。
realm = /var/svnrepos # 指定认证域,即 /var/svnrepos 目录。

5、防火墙开启(iptable 防火墻

  • 多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】
vi /etc/sysconfig/iptables    # 添加配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT wq: # 保存退出 service iptables restart # 重启防火墙使配置生效

6、启动 svn 服务器(注意:重启命令中不要带入版本号)

svnserve -d -r /var/svnrepos    # 启动 svn 服务

ps -ef | grep 'svnserve'    # 查看 svn 进程

7、客户端访问 svn 服务器

  • 在 windows 客户端,输入地址:svn://ip地址:3690/xxxx   (IP 地址为你 linux 的 IP,xxxx 为前文创建的版本库名称,3690 为 svn 默认端口)

    • 弹出输入用户名和密码,输入即可访问
  • 或者在 linux 服务器输入命令测试
    • svn co svn://ip地址:3690/xxxx
  • 如下为例子:

8、问题

  • 输入账号密码后,提示 svn: Authorization failed 解决办法

    • 把 authz 文件 [/] 改为 [\] 试试

最新文章

  1. github 相关英语
  2. 记一次ifconfig命令
  3. 2016.02.14 总结JS事件
  4. Java获取客户端IP
  5. 《Java程序设计》第八周学习总结
  6. 使用Unity制作游戏关卡的教程(三)
  7. 在Linux使用mingw32来编写win32程序
  8. 别让emacs损伤你的小母指
  9. To change the sharepoint CA port
  10. App引导页面源代码的实现
  11. Android 开发笔记___初级控件之实战__计算器
  12. oracle:批量插入不同方案对比
  13. js 倒计时跳转
  14. Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress
  15. 序列化模块组 pickle,json , xml , shelve , configparser
  16. laravel 容器注入的坑
  17. InnoDB体系架构(一)后台线程
  18. python multiprocess pool模块报错pickling error
  19. SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用
  20. win10进入到安全模式的三种方法

热门文章

  1. qt creator源码全方面分析(4-0)
  2. 本地项目推送到Github
  3. 虚拟机VMware 安装后虚拟机网卡与主机网卡数据交换关系
  4. Python 文件拼接
  5. 【DataBase】更改root根用户密码 和 SQLyog安装
  6. IE各版本CSS Hack(兼容性处理)语法速查表
  7. Python-selenium 元素定位
  8. python画图——雪花(科赫曲线)
  9. PHP常量:JSON_UNESCAPED_UNICODE
  10. 使用 selenium 实现谷歌以图搜图爬虫