为什么80%的码农都做不了架构师?>>>   

1.安装Subversion

1
sudo apt-get install subversion

2.创建仓库

假定我们仓库的父目录为/home/svn

1
2
cd /home/svn
sudo svnadmin create /home/svn/test

可以看到/home/svn目录下面有一个test文件夹,里面有conf,db,format,hooks,locks,README.txt几个文件

3.启动svn服务器

1
sudo svnserve -d -r /home/svn

4.测试svn服务器

1
2
svn co file://localhost/home/svn/test
输出:Checked out revision 0

说明安装成功

如果要通过浏览器访问的,则需要与apache配合:

1.安装apache

如果没有安装apache,需要先安装apache以及libapache2-svn

1
sudo apt-get install apache libapache2-svn

2.整合SVN

修改/etc/apache2/mods-available/dav_svn.conf

1
2
3
4
5
6
7
8
9
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/dav_svn.passwd
AuthzSVNAccessFile /etc/subversion/dav_svn.authz
Require valid-user
</Location>

说明:
1.SVNParentPath表示的所有库的父级目录,SVNParentPath与SVNPath只能启用一个。SVNPath只能创建一个仓库,SVNParentPath则可以创建多个,由于通常不会只有一个仓库,所以通常都会选择SVNParentPath
2.AuthUserFile 是svn的用户配置文件,位置可以自定义,文件也需要自己创建,不过得保证apache有访问权限
3.AuthzSVNAccessFile 是svn的权限控制文件,其他同AuthUserFile

3.添加SVN用户

1
sudo htpasswd -c /etc/subversion2/dav_svn.passwd username

回车之后需要输入两次密码。
据说 -c 参数创建文件会覆盖原有的信息,但是经过测试,并没有覆盖原有的用户信息,所以,执行

1
2
sudo htpasswd -c /etc/subversion2/dav_svn.passwd user1
sudo htpasswd -c /etc/subversion2/dav_svn.passwd user2

dav_svn.passwd文件中依旧会有user1和user2两个用户信息,没有冲突。
另外,/etc/subversion2/dav_svn.passwd文件需要与第2步中自定义的文件位置一致
完成之后可以看到dav_svn.passwd中有类似

1
xiao:$apr1$wq1l1SCM$lAgKYtQJUzpPZPgvQXTnX1

的片段,xiao是用户名,后面的是加密后的密码

4.修改SVN访问权限

编辑 /etc/apache2/dav_svn.authz
如果想开放所有权限,那么可以直接

1
2
[/]
* = rw

表示用户都有读写权限

5.重启apache

1
sudo /etc/init.d/apache2 restart

访问http://127.0.0.1/svn/test/可查看结果

补充说明:

1.整合SVN出错

出现错误:

1
2
Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.

原因:没有导入auth模块
解决方法:

1
/etc/apache2/mods-enabled/dav_svn.load

中加入

1
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

2.访问仓库列表

如果希望访问所有的仓库列表,可以修改/etc/apache2/mods-available/dav_svn.conf如下:

1
2
3
4
5
6
7
8
9
10
<Location /svn/>
DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/dav_svn.passwd
AuthzSVNAccessFile /etc/subversion/dav_svn.authz
Require valid-user
</Location>

注意上面的变化,%lt;Location /svn/>添加了尾部斜线,SVNListParentPath On是新添加的。
重启apache后访问http://127.0.0.1/svn/(结尾有个’/')可以看到结果

3.权限控制说明

/etc/apache2/dav_svn.authz 权限控制的一个示例

1
2
3
4
5
6
7
8
9
10
11
[groups] #用来分组用户
group1 = xiao, xe
group2 = user1, user2
[test:/] #仓库名称,[/]表示所有仓库
@group1 = rw #表示group1组的用户(xiao, xe)对test具有读写权限
@group2 = r  #表示group2组的用户(user1, user2)对test只具有读权限,没有写的权限
* = #表示所有用户都没有权限,即既不能读,也不能写
[test2:/]
* = rw #表示所有用户都具有读写权限

4.权限错误

出现
Can’t open directory ‘/home/svn’: Permission denied
或者
403 forbidden
错误的话,表示apache(通常账户是www-data)没有权限文档到svn所在目录的权限,此时需要检查/home/svn及其子文件夹的权限,比如

1
sudo chown -R www-data /home/svn

然后再访问http://127.0.0.1/svn/test/查看结果

5.重启apache的时候如果出现

Permission denied: make_sock: could not bind to address 0.0.0.0:80
等字样,记得加sudo

转载于:https://my.oschina.net/xesam/blog/113923

Ubuntu(Mint)下搭建SVN服务器相关推荐

  1. Ubuntu系统下搭建svn服务器(及设置SVN提交必须输入注释)

    1.查看是否安装 安装SVN服务器之前 查看一下是否已经安装了 查看命令 svn 如下图 是已经安装了SVN 如下图是没有安装SVN 安装了的话 可以用如下命令删除 apt-get remove -- ...

  2. linux下的svn搭建,Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  3. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  4. Centos6.8下搭建SVN服务器

    1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...

  5. mac搭建svn服务器文件被锁定,mac安装svn_在MAC下搭建SVN服务器的详细教程

    摘要 腾兴网为您分享:在MAC下搭建SVN服务器的详细教程,易信,无忧兼职,茄子快传,每日一淘等软件知识,以及android解锁大师,workflow,乐客联盟,海鸥旅游,mm直播app,腾讯新闻,中 ...

  6. Linux下搭建SVN服务器【亲测可用】

    Linux下搭建SVN服务器 简介 第一步:通过yum命令安装svnserve,命令如下: 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 第三步:创建svn版本库 第四步:配置修 ...

  7. CentOS 下搭建svn服务器

    CentOS 下搭建svn服务器 安装SVN yum 安装 创建 svn 目录 svn 的目录结构 conf 中的设置[重点] 设置 authz 设置 passwd 设置 svnserve.conf ...

  8. window环境下搭建SVN服务器

    第一步:准备工具: 1.SVN服务端工具(window版):VisualSVN-Server-2.1.11.msi,下载地址:http://download.csdn.net/detail/duanc ...

  9. CentOS6.5下搭建SVN服务器

    1.检查是否已安装 rpm -qa | grep subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:y ...

  10. ubuntu 14.04 下搭建SVN服务器 svn://

    安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下的svn目录. cd /srv sudo mkdir svn ...

最新文章

  1. Hinton 新作!越大的自监督模型,半监督学习需要的标签越少
  2. CAS SSO实践中,目前解决的问题和有待解决的问题
  3. docker之阿里云centos 7.x 启动容器报错处理办法
  4. mongoDB学习——第一天
  5. linux下配置mysql默认编码utf8
  6. matlab 机器学习相关函数、api
  7. python批量修改图片后缀名
  8. 【运动学】基于matlab斜抛物体斜坡射程【含Matlab源码 980期】
  9. poj 2356 Find a multiple
  10. matlab电力系统建模仿真实验,电力系统建模及仿真课程设计
  11. iOS 各种项目源码集
  12. python 基础-----list查找重复值
  13. 静态网页的基本结构及标签
  14. python可以做ui吗_python做ui
  15. 笔记本的网络出现红叉,网络连接不上,网络不可用
  16. 钉钉第三方企业应用开发快速入门
  17. esp32c3 问题解决
  18. 《游戏系统设计七》重现王者荣耀抽奖系统
  19. VVIC平台API接口: item_search - 根据关键词取商品列表
  20. Linux qq查看对方ip,怎么知道对方是否隐身(基于Linux QQ)

热门文章

  1. python浮点数多少位_Python中的最大浮点数是多少?
  2. 【知识图谱系列】清华大学基于对比学习的图谱预训练模型GCC
  3. 关于全局异常捕获的思考-真正的全局异常捕获
  4. OpenCV-Python教程(8、Canny边缘检测)
  5. 小红帽系统进入oracle,11G RAC 安装在红帽6上,grid跑root.sh报错
  6. android卡机字符串,Android调用replace方法正则表达式卡死
  7. PHP实现常用的数据结构之链表
  8. Panabit安装snmp插件
  9. Intellij IDEA创建maven项目无java文件问题
  10. 前端数据修改的两种方式