关于svn的安装(Linux+nginx+svn)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于svn的安装(Linux+nginx+svn)相关的知识,希望对你有一定的参考价值。

今天安装一下svn本来觉得很简单的事情趟坑就弄了半天,结合几个线上文档把自己好用的奉上。如有不足和错的地方大家帮忙提意见啊。

1、安装

安装svn

安装之前我们先检查一下是否有svn

命令:svn --version (查看svn版本信息)

-bash: svn: command not found

没有开始安装

两种方法
# yum install subversion

# apt-get install subversion

自选择

我用的是yum

安装之后 svn --version

如图:

 技术分享

 

 

然后就是创建svn仓库

 我是这个路径/opt/svn/project,可以看个人习惯

#mkdir /opt/svn/project

然后就是创建仓库了
#svnadmin create /opt/svn/project

2、配置

上面的操作很简单,几个命令就搞定, 下面的操作也不难。


进入/opt/svn/project目录(这里的project目录不是网站的web目录,仓库名为project)。

会看到conf、hooks、db等目录,我们会用到的也就conf(配置目录)hooks(设置钩子,后面会讲到)
进入conf目录, 有以下几个文件(authz, passwd, svnserve.conf)

其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作。

 

首先配置svnserve.conf
# vim svnserve.conf
修改(把前面的#号去掉,配置后面的值,共修改五行代码)
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /opt/svn/repos (realm = project) # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

 

在passwd文件中添加用户
# vim passwd
[users]
admin = 123456

这里设置了一个用户,根据情况不同可以随意设置。

 

在authz中添加组和权限
# vim authz

[groups]
group1 = admin,dazeair #group1组里的成员
group2 = user1,user2

[/] #配置根目录的权限
admin =rw #admin用户对[/]目录的权限:r读,w写
@group1 = rw #@表示组,group1组有读写权限
@group2 = r #group2组只有r读权限
* = #这里表示其他用户无任何权限

[www:/user1] #配置根目录(www目录)下的user1文件夹的权限
user1 = rw

这里说明下,前面添加了四个用户,分了两个组,对于根目录group1拥有读写权限,而group2只有r权限。
根目录(www目录)下有user1

 

好了,通过以上配置,你的svn就可以了。

 

3、连接

启动svnserve
# svnserve -d -r /data/svn/project

也可以使用 --listen-port 参数指定端口(默认端口3690),启动多个仓库

正常情况下不会出现问题的,如出现请检查刚才的配置文件

如果报错:

svnserve: Can‘t bind server socket: Address already in use

纠结了吧!
解决办法:

# killall svnserve
# svnserve -d -r /opt/svn/repos 启动成功。

或者
# svnserve -d -r /mnt/westos --listen-port 3691

这样同一台服务器可以运行多个svnserver

好了,启动成功后,就可以使用了。

在window上建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口:端口号)

这块注意一定要在你的测试或者项目的目录下:

技术分享

连接后可以上传本地的文件,有效的管理你的代码。

 

4、新建多个版本库

若要在/svn目录下添加新的版本库,直接新建相应的目录,然后设置为版本库,最后配置即可,
不需要重新运行svnserve -d -r /opt/svn/project,

也不需要把该命令应用到/svn目录下你所新建的目录,

比如在/svn目录下另外新建一个project2的资源库,命令如下:

# mkdir -p /opt/svn/project2

# svnadmin create /opt/svn/project2

...(三个文件的配置)

(不需再运行svnserve -d -r /opt/svn/project2)

 

还有一块是管理你的线上代码,这块研究后再编辑。(有后续...)

 






























以上是关于关于svn的安装(Linux+nginx+svn)的主要内容,如果未能解决你的问题,请参考以下文章

linux nginx 配置了SVN,代码提交上去后,谷歌浏览器访问出现403,要怎么解决

CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)转

Linux下svn的安装与部署

关于vmware ,centos 中安装svn服务器 import 项目问题。

linux环境安装svn并进行多个源码库区分管理

Svn———搭建及配置