首页 > 代码库 > linux下svn服务器的搭建

linux下svn服务器的搭建

网上的教程实在是太恶心了,不是太老,就是有问题,刚参考的一篇文章也有问题。自己记录下来,以后用就方便了,现在一边重新安装一遍,一边记录。笔者亲测,今天是5月29号深夜。

linux用的是centos6.2,yum install subversion,安装svn服务端。本篇操作均为root用户权限。

1.建立svn库目录。

mkdir -p /opt/svndata/repos1

2.建立版本库

svnadmin create /opt/svndata/repos1

3.修改配置文件

  (1)服务器主文件svnserve.conf(据说一定要顶格写)

vi /opt/svndata/repos1/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = /opt/svndata/repos1/conf/passwd
authz-db = /opt/svndata/repos1/conf/authz
realm = repos1

  (2)用户密码

vi /opt/svndata/repos1/conf/passwd

[users]
wang = hello
king = hello

  (3)权限

vi /opt/svndata/repos1/conf/authz

[groups]
admin = wang
[/]
@admin = rw #可读写的意思
[repos1:/]
king = rw

4.建立启动svn的用户:


useradd svn
passwd svn


  根据提示为用户svn设置密码
  允许用户svn访问版本库:

  chown -R svn:svn /opt/svndata

5.启动svn

svnserve -d –-listen-port 3690 -r /opt/svndata

  如果出现cant bind server socket提示,就是端口被占用了。用下面的命令:

ps -e|grep svnserve

  把出现的id给kill掉,再用上面的命令启动。

6.验证启动状态

  使用命令:

ps -ef|grep  svnserve

  出现如下提示,则说明已经启动

root 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 3690 -r /opt/svndata

7.测试服务器

     命令:svn co svn://127.0.0.1/repos1
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
                Password for ‘root‘:
                Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
                Username: server_group

  第一次要输入前面设置的账号和密码,以及linux用户密码,大致内容如上,上面这个是拷贝的别的地方的。最后出现  Checked out revision .. 说明已经ok了。

  还要注意linux的防火墙,端口不通过的话,客户端是访问不了的。

# vi /etc/sysconfig/iptables

添加如下一行,可以参照已有的已经开启的ssh的22端口

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

 

至此,全部ok,网上教程太坑爹,弄了几个小时了。也是第一次配置这个,希望这个能给一些和我一样的人,带来一些帮助。夜深了,晚安了。