Ubuntu(Mint)下搭建SVN服务器
为什么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服务器相关推荐
- Ubuntu系统下搭建svn服务器(及设置SVN提交必须输入注释)
1.查看是否安装 安装SVN服务器之前 查看一下是否已经安装了 查看命令 svn 如下图 是已经安装了SVN 如下图是没有安装SVN 安装了的话 可以用如下命令删除 apt-get remove -- ...
- linux下的svn搭建,Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
- Centos6.8下搭建SVN服务器
1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...
- mac搭建svn服务器文件被锁定,mac安装svn_在MAC下搭建SVN服务器的详细教程
摘要 腾兴网为您分享:在MAC下搭建SVN服务器的详细教程,易信,无忧兼职,茄子快传,每日一淘等软件知识,以及android解锁大师,workflow,乐客联盟,海鸥旅游,mm直播app,腾讯新闻,中 ...
- Linux下搭建SVN服务器【亲测可用】
Linux下搭建SVN服务器 简介 第一步:通过yum命令安装svnserve,命令如下: 第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 第三步:创建svn版本库 第四步:配置修 ...
- CentOS 下搭建svn服务器
CentOS 下搭建svn服务器 安装SVN yum 安装 创建 svn 目录 svn 的目录结构 conf 中的设置[重点] 设置 authz 设置 passwd 设置 svnserve.conf ...
- window环境下搭建SVN服务器
第一步:准备工具: 1.SVN服务端工具(window版):VisualSVN-Server-2.1.11.msi,下载地址:http://download.csdn.net/detail/duanc ...
- CentOS6.5下搭建SVN服务器
1.检查是否已安装 rpm -qa | grep subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:y ...
- ubuntu 14.04 下搭建SVN服务器 svn://
安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下的svn目录. cd /srv sudo mkdir svn ...
最新文章
- Hinton 新作!越大的自监督模型,半监督学习需要的标签越少
- CAS SSO实践中,目前解决的问题和有待解决的问题
- docker之阿里云centos 7.x 启动容器报错处理办法
- mongoDB学习——第一天
- linux下配置mysql默认编码utf8
- matlab 机器学习相关函数、api
- python批量修改图片后缀名
- 【运动学】基于matlab斜抛物体斜坡射程【含Matlab源码 980期】
- poj 2356 Find a multiple
- matlab电力系统建模仿真实验,电力系统建模及仿真课程设计
- iOS 各种项目源码集
- python 基础-----list查找重复值
- 静态网页的基本结构及标签
- python可以做ui吗_python做ui
- 笔记本的网络出现红叉,网络连接不上,网络不可用
- 钉钉第三方企业应用开发快速入门
- esp32c3 问题解决
- 《游戏系统设计七》重现王者荣耀抽奖系统
- VVIC平台API接口: item_search - 根据关键词取商品列表
- Linux qq查看对方ip,怎么知道对方是否隐身(基于Linux QQ)