安装步骤
1,yum install subversion
2,输入rpm -ql subversion查看安装位置,如下图:
3,创建svn版本库目录
mkdir -p /var/svn/repository
4,在版本库目录下创建具体项目目录
mkdir pro_oa
5,创建 SVN 版本库
svnadmin create /var/svn/repository/pro_oa
执行了这个命令之后会在/var/svn/repository/pro_oa目录下生成如下这些文件
6,进入conf目录(该svn版本库配置文件)
authz 权限控制文件
passwd 帐号密码文件
svnserve.conf SVN服务配置文件
7,设置帐号密码
vim passwd
在[users]块中添加用户和密码,格式:帐号=密码,如admin=admin
8,设置权限
vim authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。
9,修改svnserve.conf文件
vim svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/repository # 认证空间名,版本库所在目录
10,启动svn版本库
svnserve -d -r /var/svn/repository
a. 查看SVN进程
# ps -ef|grep svn
root 18164 1 0 17:12 ? 00:00:00 svnserve -d -r /var/svn/repository
b. 检测SVN端口
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
测试连接:
(1) 在本地电脑上安装TortoiseSVN客户端:
成功安装TortoiseSVN后在电脑桌面右键有TortoiseSVN提示;选择Repo-browser;会出现一个地址栏;
(2)在地址栏输入:svn://+服务器IP地址;如果安装没问题的话就会进入服务器的资源库
(3)以之上的配置启动后,对应的仓库url为
svn://ip/project ip替换为启动svn服务的服务器的ip
在linux命令行下 执行
svn checkout svn://ip/project
centos开机自动启动SVN服务的方法
1、编辑rc.local文件
vi /etc/rc.d/rc.local
2、加入如下启动命令
/usr/bin/svnserve -d -r /var/svn/repository
注意:
我们在用终端操作的时候,可以直接使用以下命令启动SVN:
svnserve -d -r /var/svn/repository
但是在/etc/rc.d/rc.local 文件中必须写上完整的路径!
不知道svnserve安装到哪里了?
可以使用 whereis 命令查找一下:
svn认证失败解决方案
配置用户名密码权限
vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
lisi= lisi
新增一行:
lisi= lisi
新增用户“lisi”,密码是“lisi”
vi authz
新增如下内容
[pro_oa:/] #svn根目录(步骤5 新建svn的仓库/项目)
lisi = rw #用户有读权限
vi svnserve.conf
打开如下几行前面的注释,一定要删除前面的空格
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
启动svn
在这里有个坑就是启动时候的路径问题,会造成认证失败,原因就是配置文件authz和启动时候的路径要对应上,否则会出现认证失败。
要注意
authz文件中 使用的是svnadmin create pro_oa出来的目录 [pro_oa:/]
所以我们对应启动时候要以/ext/data/svndir目录启动,这里一定要对应上,否则会出现认证失败,我出错的原因就是启动时候使用svnserve -d -r /ext/data/svndir/pro_oa启动导致的
svnserve -d -r /ext/data/svndir