安装步骤如下:
1、yum install subversion
2、输入rpm -ql subversion查看安装位置,如下图:
我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
10、在windows上测试
新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
填写SVN的地址,如下图:
输入密码,如下图:
svn 提示svn: Can't open file '/home/wwwroot/debao/data/filecache/.svn/lock': Permission denied
1.第一次在web服务器checkout的时候,其中debao为SVN仓称,我用的是root超级用户,因为是服务器管理员。
2.我同事svn up的时候会报下面的错误,提示没有权限打开该文件.svn/lock
[root@lamp hooks]# ssh -p 60022 www@192.168.1.170 /usr/local/bin/svn update /home/wwwroot/debao www@192.168.1.170's password: svn: Can't open file '/home/wwwroot/debao/data/filecache/.svn/lock': Permission denied
3.用ll查看当前文件夹下的.svn文件时发现其所属组所有者为root
[root@as4-dev wwwroot]# ll debao/.svn total 28 -r--r--r-- 1 root root 143 Oct 28 12:27 all-wcprops -r--r--r-- 1 root root 313 Oct 28 12:27 entries -r--r--r-- 1 root root 2 Oct 28 12:25 format drwxr-xr-x 2 root root 4096 Oct 28 12:25 prop-base drwxr-xr-x 2 root root 4096 Oct 28 12:25 props drwxr-xr-x 2 root root 4096 Oct 28 12:27 text-base drwxr-xr-x 5 root root 4096 Oct 28 12:27 tmp
知道了问题的真正原因,就可以通过下面的方法解决Can't open file '.svn/lock': Permission denied的问题。
方法一:给目录加权限,www权限,这边www是组
chmod o+w .svn -R su - www svn up