1、Svn安装
a.首先输入如下命令,此命令会自动安装svn服务器的相关服务和依赖,安装成功后会自动停止命令
yum -y install subversion
b.安装成功后,可输入如下命令,查看svn的是否安装成功,以及svn的版本号
svnversion --version
c.如果想查看svn的安装路径可以输入如下命令
rpm -ql subversion
2、创建版本库目录
创建版本库目录,此目录仅为目录,为后面创建svn的库提供存储位置,具体命令如下
mkdir /var/svn/lich (lich为自己定义的版本库存放地址的名称)
3、创建SVN版本库
a.直接创建svn版本库,命令如下:
svnadmin create /var/svn/lich/test (test为自己定义的svn版本库名称)
b.创建成功后,进入到/var/svn下,命令如下
cd /var/svn/lich/test (xxx为自己定义的版本库存放地址的名称)
文件描述:
db目录:就是所有版本控制的数据存放文件
hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端
format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),也是我们要关注的配置文件
4.修改配置
a.进入已经创建好的版本库目录下的conf目录,命令如下:
cd /var/svn/lich/test/conf
b.conf目录下一共存放三个文件:
文件描述:
authz #认证权限相关
passwd #用户名和密码
svnserve.conf #服务器配置文件
c.因为svn服务器上存在多个项目,为方便管理账户信息、授权,则可以使用统一的用户配置文件
首先,在版本库存放的地址下面创建统一配置文件存放位置,命令如下:
mkdir -p /var/svn/lich/svnconf #创建SVN配置文件目录,后期可能会有很多项目所以配置文件最好在统一位置
然后复制password和authz文件,命令如下:
cp /var/svn/lich/test/conf/passwd /var/svn/lich/svnconf/passwd
cp /var/svn/lich/test/conf/authz /var/svn/lich/svnconf/authz
编辑password文件,创建一个test用户,命令如下:
vim /var/svn/lich/svnconf/password
创建用户后对此用户进行配置权限,命令如下:
vim /var/svn/lich/svnconf/authz
注意:对test这个项目授权 r:读 w:写,而test为svn版本库的名称,也就是说test用户对test库有续写权限
此处也可以对用户进行分组,在[groups]下可以配置对应组名和成员,其中dev是组的名字,test是组的成员(多个可以用逗号分隔),在test的版本库中,对dev的组进行授权(用@组名称),来完成授权组的读写权限
编辑svn版本库的conf下的svnserve.conf文件,对其进行指定password和authz的统一配置路径,命令如下:
vim /var/svn/lich/test/conf/svnserve.conf
其中要把 password-db和authz-db修改成统一配置的文件路径下
注:
anon-access = read #原先注释掉了,匿名用户可以读,使用none的话就是匿名用户不可以访问
auth-access = write #这几行都要取消注释,认证用户可以写,可以是read,write,none
password-db = passwd #密码库文件,默认使用的是同一目录下的passwd文件作为用户密码库
authz-db = authz #认证权限文件
realm = Welcome to the ITM project #登陆提示信息
注意:此配置文件的所有内容必须顶格,否则会报错
5、防火墙关闭
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
如果是阿里云的服务器,可以参考博客:https://blog.csdn.net/ljw_jiawei/article/details/80291980
6、启动svn
在跟目录下,执行如下命令:
svnserve -d -r /var/svn/svnrepos
启动成功后,可用ps -aux查看服务启动是否成功
7、客户端访问svn服务器
在windows客户端,输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问
到此,Linux下svn服务器搭建就总结完毕