CentOS系统中安装subversion并使用svn+ssh访问

在使用CentOS系统的很多时候,我们都需要使用subversion,那么如何在CentOS系统中安装subversion,并使用svn+ssh访问呢,下面我们就来详细讲解步骤。

1. CentOS系统服务器安装

(1) 在CentOS系统安装ssh服务器和subversion服务

yum update  
yum install openssh-server  
yum install subversion 
yum update
yum install openssh-server
yum install subversion

(2) 在CentOS系统创建登陆svn的用户

useradd fify ; 添加fify用户  
groupadd svn ; 添加svn用户组  
usermod -a -G svn fify ; 将fify用户添加到svn用户组 
useradd fify ; 添加fify用户
groupadd svn ; 添加svn用户组
usermod -a -G svn fify ; 将fify用户添加到svn用户组

另外,如果fify用户不存在,则可以用以下语句代替以上三句:

useradd -g svn fify 
useradd -g svn fify

(3) CentOS系统建立用户存储

mkdir /home/fify/svn  
mkdir /home/fify/trunk  
svnadmin create /home/fify/svn/trunk 
mkdir /home/fify/svn
mkdir /home/fify/trunk
svnadmin create /home/fify/svn/trunk

(4) 为svn用户组赋予权限

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

(5) 为成员生成密钥

切换用户:

view plaincopy to clipboardprint?
su fify 
su fify

生成密钥对:

view plaincopy to clipboardprint?
ssh-keygen -b 1024 -t rsa -N passwd -f fifykey 
ssh-keygen -b 1024 -t rsa -N passwd -f fifykey

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

(6) CentOS系统创建/home/fify/.ssh目录,把公钥拷贝并重命名成authorized_keys到该目录下:

cp fifykey.pub /home/fify/.ssh/authorized_keys 
cp fifykey.pub /home/fify/.ssh/authorized_keys

注意:文件名称必须为authorized_keys

(7) CentOS系统更改资源访问权限

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

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

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

view plaincopy to clipboardprint?
[/]       // 访问权限为本资源的根目录(以及以下目录)  
fify = rw // fify用户的访问权限为“读+写” 
[/]       // 访问权限为本资源的根目录(以及以下目录)
fify = rw // fify用户的访问权限为“读+写”

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

相关推荐