当前位置: 代码迷 >> CVS/SVN >> linux上安装svn(subversion)
  详细解决方案

linux上安装svn(subversion)

热度:8352   发布时间:2013-02-26 00:00:00.0
linux下安装svn(subversion)

一、安装
直接运行命令用YUM安装:

  1. yum install subversion -y

二、创建版本库
创建版本库用svnadmin create命令,大概语法是svnadmin create svn库目录,例如我们要将库目录创建到/data/svnroot目录,那么就执行如下的命令:
svnadmin create /data/svnroot
这样子就在创建了一个版本库位于/data/svnroot目录,我们进入svnroot库目录看看下面有哪些文件:

  1. cd /data/svnroot
  2. ls

可以看到svnroot目录下有5个目录和文件:

  1. -rw-r--r-- 1 root root ?229 May 22 00:57 README.txt
  2. drwxr-xr-x 2 root root 4096 May 22 00:57 conf
  3. drwxr-sr-x 6 root root 4096 May 22 00:57 db
  4. -r--r--r-- 1 root root ? ?2 May 22 00:57 format
  5. drwxr-xr-x 2 root root 4096 May 22 00:57 hooks
  6. drwxr-xr-x 2 root root 4096 May 22 00:57 locks

这些文件的大概作用如下:
README.txt是版本库的说明文件
conf是配置文件所在的文件夹
db为SVN数据文件文件夹
format是一个文本文件,里面放的只有一个整数,是当前版本库的版本号
hooks是SVN的钩子脚本文件夹
locks是SVN的文件锁相关的文件夹
三、配置svn
1、添加一个SVN用户
打开conf下的authz文件,在文件最末尾添加如下配置:

  1. [/]
  2. username = rw

authz是用户的权限配置文件。[/]表示用户权限的目录,比如[/]表示用户在SVN的根目录有权限而[/subfolder]表示用户拥有/subfolder这个目录的权限
下面的一行username = rw是为用户权限,r为读权限,w为写权限,如查我们只希望创建一个有读权限的用户,那么可以这样配置:username = r
打开conf下的passwd文件,这个文件是为用户设置密码的配置文件,在文件中添加一行:

  1. username = password

前的是用户名,后面的是密码。
经过这两步我们就已经添加完了一个用户,并且为用户指定了权限和密码
打开conf下的svnserve.conf,把下面四行配置前的分号去掉

  1. anon-access = read
  2. auth-access = write
  3. password-db = passwd
  4. authz-db = authz

这样我们的SVN配置就已经完成了。
下面我们弄一个脚本来启动SVN,并且将脚本加进到系统启动项中实现开机启动:
在root创建一个名为startsvn.sh的脚本文件,粘贴如下内容:

  1. killall svnserve
  2. svnserve -d -r /data/svnroot

保存,退出。
然后给脚本可执行权限:

  1. chmod 777 /root/startsvn.sh

启动脚本:

  1. /root/startsvn.sh

将脚本加入到系统启动项中,打开/etc/rc.d/rc.local文件,将上面的启动SVN的命令加入到文件的最后一行,以后SVN服务就会随着系统的启动而启动了。

四、将SVN的端口添加到服务器防火墙的允许列表中
subversion的默认端口是3690,我们将3690添加的服务器的允许列表中,打开iptables,添加如下一句配置:

  1. iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

?