天天看点

Centos5.4 yum安装svn

出自:http://blog.sina.com.cn/s/blog_53b95aec0100i638.html

http://wiki.centos.org/HowTos/Subversion

http://www.akii.org/2010-04/centos-install-configure-subversion-and-submitted-to-automatic-release/

查看linux详细版本命令

lsb_release -a

工具版本

svn   :svn, version 1.4.2

linux :CentOS release 5.4 (Final)

 SVN形式

1.yum install mod_dav_svn subversion httpd

(vim /etc/httpd/conf/httpd.conf -- Edit what you need and save the file

service httpd start

chkconfig httpd on

2.

cd /etc/httpd/conf.d/

vim subversion.conf

<Location /repos>

        DAV svn

        SVNPath /var/www/svn/repos

        AuthType Basic

        AuthName "Subversion repos"

        AuthUserFile /etc/svn-auth-conf

        Require valid-user

</Location>

在一个svn目录下建立多个项目的方法

vim /etc/httpd/conf.d/subversion.conf

更改 SVNPath =》 SVNParentPath

   SVNParentPath /var/www/svn/repos

这样在cd  /var/www/svn/repos/

svnadmin create testsvn1

在客户端就可以访问

 svn://192.168.255.71/testsvn1

3.

cd /var/www/

mkdir svn

cd svn

mkdir repos

cd repos

4.

cd  /var/www/svn/repos/

svnadmin create testsvn来创建一个库

chown  root.root testsvn给予apache的权限

5.开启svn

svnserve -d -r /var/www/svn/repos

6.配置

vim /var/www/svn/repos/testsvn/conf/svnserve.conf

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

当用show log 命令时候 会出现 'Item is not readable' 的问题解决办法

在snvserve.conf设置 anon-access = none

7.设置svn用户访问权限

7.1.单人登录

vim /var/www/svn/repos/testsvn/conf/passwd

gongyu=gongyu

vim /var/www/svn/repos/testsvn/conf/authz

[/]

* = rw

7.2.按组登录

当允许tester组进行删改操作时候 gongyu用户是不能进行修改工作的

vim /var/www/svn/repos/testsvn/conf/passwd

gongyu=gongyu

test = test

test1 = test1

vim /var/www/svn/repos/testsvn/conf/authz

[groups]

master = gongyu

tester = test,test1

[/]

@tester = rw

7.3按组和按文件夹目录分开控制权限

tester组用户可以读写src但不能读写doc

gongyu用户可以读写doc但不能读写src

vim /var/www/svn/repos/testsvn/conf/passwd

gongyu=gongyu

test = test

test1 = test1

vim /var/www/svn/repos/testsvn/conf/authz

[groups]

master = gongyu

tester = test,test1

[/]

@tester = rw

[testsvn:/doc]

gongyu  = rw

@tester = r

[testsvn:/src]

@tester = rw

8.关闭服务器防火墙或者开启端口

service iptables stop

开启防火墙端口

service iptables restart

vim /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

客户端运行

svn://192.168.255.71/testsvn

-------------------------------------------

svn+ssh形式

方法:ssh验证 需要svn服务器中创建真实linux用户名,使svn服务器允许此用户访问

      svn验证 需要对当前用户验证是否可以访问svn项目权限

http://blog.csdn.net/wangjingfei/archive/2010/03/28/5424338.aspx

1.yum install mod_dav_svn subversion

2.cd /etc/httpd/conf.d/

vim subversion.conf

<Location /repos>

        DAV svn

        SVNParentPath /var/www/svn/repos

        AuthType Basic

        AuthName "Subversion repos"

        AuthUserFile /etc/svn-auth-conf

        Require valid-user

</Location>

3.

cd /var/www/

mkdir svn

cd svn

mkdir repos

cd repos

4.

useradd zhaogongyu  添加用户

passwd zhaogongyu   添加密码

groupadd svn    添加svn用户组

usermod -a -G svn zhaogongyu 将用户添加到svn用户组

5.

cd  /var/www/svn/repos/

svnadmin create testsvn来创建一个库 

chown -R root.svn /var/www/svn/repos/testsvn69  

chmod -R g+rws | 775 /var/www/svn/repos/testsvn69    

6.开启svn

svnserve -d -r /var/www/svn/repos

7.配置

vim /var/www/svn/repos/testsvn69/conf/svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

添加权限

vim /var/www/svn/repos/testsvn69/conf/authz

[groups]

svn = zhaogongyu

[/]

@svn = rw

#zhaogongyu = rw

* = rw

vim /var/www/svn/repos/testsvn69/conf/passwd

zhaogongyu=zhaogongyu

开启防火墙端口

service iptables restart

vim /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

8. 客户端访问地址

svn://192.168.255.69/testsvn69

9.增加ssh组件

yum install openssh-server

10.切换用户生成密钥

su zhaogongyu

cd /var/www/svn/repos/chinapaysvn/conf

ssh-keygen -b 1024 -t rsa -N zhaogongyu -f zhaogongyu

会在当前目录中生成密钥

zhaogongyu  zhaogongyu.pub

11.导入密钥

创建/home/zhaogongyu/.ssh 目录

mkdir /home/zhaogongyu/.ssh

拷入公钥文件

 cp /var/www/svn/repos/testsvn69/conf/zhaogongyu.pub /home/zhaogongyu/.ssh/authorized_keys

12.windows下运行

用pageant.exe, putty.exe, puttygen.exe

生成putty密钥

打开puttygen.exe

选择菜单:conversions->Import key

导入gongyu密钥文件

puTTygen:Enter Passphrase 输入gongyu

此时可以看到该密钥的一些信息。点击Save private key,生成ppk文件(假设保存为gongyu.ppk文件),即PuTTY使用的密钥。

13.svn运行

在svn checkout 时候输入

svn+ssh://[email protected]:/var/www/svn/repos/testsvn69

14.

添加新用户

useradd test  添加用户

passwd test   添加密码

usermod -a -G svn zhaogongyu 将用户添加到svn用户组

设置test 用户权限

vim /var/www/svn/repos/testsvn69/conf/authz

[groups]

svn       = zhaogongyu

developer = test

[/]

@svn = rw

@developer  = r

#gongyu = rw

* = rw

vim /var/www/svn/repos/testsvn69/conf/passwd

zhaogongyu = zhaogongyu

test       = test

切换用户生成密钥

su test

cd /var/www/svn/repos/chinapaysvn/conf

ssh-keygen -b 1024 -t rsa -N testsvn -f testsvn

创建/home/test/.ssh 目录

mkdir /home/test/.ssh

拷入公钥文件

 cp /var/www/svn/repos/testsvn69/conf/test.pub /home/test/.ssh/authorized_keys