残剑

Stop walking today and you'll have to run tomorrow!

CentOS安装SVN

| Comments

安装ssh服务器和subversion服务器

1
2
3
# yum update      
# yum install openssh-server     
# yum install subversion      

创建登陆svn的用户

1
2
3
# useradd test // 添加test用户     
# groupadd svn // 添加svn用户组     
# usermod -a -G svn test // 将test用户添加到svn用户组   

另外,如果test用户不存在,则可以用以下语句完成:

1
# useradd -g svn test     

建立用户存储

1
2
# mkdir -p /home/test/svn/trunk        
# svnadmin create /home/test/svn/trunk      

为svn用户组赋予权限

1
2
3
# chown -R root:svn /home/test/svn/trunk      
# chmod -R g+rws /home/test/svn/trunk    /*给svn组赋予读写权限,可以根据需要更改相应权限*/     
# chmod -R o-rwx /home/test/svn/trunk    /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/       

为成员生成密钥

生成密钥对:

1
# ssh-keygen -b 1024 -t rsa -N passwd -f testkey    

其中,passwd为密钥关键字(相当于密码),由用户自定义;testkey为密钥文件名,生成之后会产生两个文件(testkey和testkey.pub,前者为密钥,后者为公钥);rsa指定使用rsa进行加密,如果改成dsa,则使用dsa加密。

创建/home/test/.ssh目录,拷贝公钥并重命名成authorized_keys:

1
# cp testkey.pub /home/test/.ssh/authorized_keys     

注意:文件名称必须为authorized_keys。

更改资源访问权限

修改/home/test/svn/trunk/conf/svnserve.conf文件,在general中加入以下几行:

1
2
3
4
5
[general]    

anon-access = none // 未认证的用户没有任何访问权限     
auth-access = write // 认证的用户有写权限          
authz-db = authz // 认证文件为conf目录下的authz文件      

修改/home/test/svn/trunk/conf/authz文件(如果没有则创建),在其中加入:

1
2
[/]       // 访问权限为本资源的根目录以及以下目录      
test = rw // test用户的访问权限为“读+写”      

还可以采用以下方法进行认证:

1
2
3
4
5
[groups]      
svn = test,sam // 定义用户组svn包含两个用户:test和sam     
      
[/]     
@svn = rw // svn用户组的成员访问权限为“读+写”      

启动svnserve

1
# svnserve -d -r /home/test/svn/


参考文章

CentOS中安装subversion,并使用svn+ssh访问
linux(centos)搭建SVN服务器
CentOS Linux搭建SVN Server配置详解
CentOS Linux下配置svn HTTP server
svn: E170001 : Authorization failed
解决svn Authorization failed错误
ubuntu下架设svn服务器及在windows建立svn+ssh客户端
svn登陆时它出现:Authorization failed
Howto: Linux Add User To Group

Comments