一、安装
直接运行命令用YUM安装:
- yum install subversion -y
二、创建版本库
创建版本库用svnadmin create命令,大概语法是svnadmin create svn库目录,例如我们要将库目录创建到/data/svnroot目录,那么就执行如下的命令:
svnadmin create /data/svnroot
这样子就在创建了一个版本库位于/data/svnroot目录,我们进入svnroot库目录看看下面有哪些文件:
- cd /data/svnroot
- ls
可以看到svnroot目录下有5个目录和文件:
- -rw-r--r-- 1 root root ?229 May 22 00:57 README.txt
- drwxr-xr-x 2 root root 4096 May 22 00:57 conf
- drwxr-sr-x 6 root root 4096 May 22 00:57 db
- -r--r--r-- 1 root root ? ?2 May 22 00:57 format
- drwxr-xr-x 2 root root 4096 May 22 00:57 hooks
- 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文件,在文件最末尾添加如下配置:
- [/]
- username = rw
authz是用户的权限配置文件。[/]表示用户权限的目录,比如[/]表示用户在SVN的根目录有权限而[/subfolder]表示用户拥有/subfolder这个目录的权限
下面的一行username = rw是为用户权限,r为读权限,w为写权限,如查我们只希望创建一个有读权限的用户,那么可以这样配置:username = r
打开conf下的passwd文件,这个文件是为用户设置密码的配置文件,在文件中添加一行:
- username = password
前的是用户名,后面的是密码。
经过这两步我们就已经添加完了一个用户,并且为用户指定了权限和密码
打开conf下的svnserve.conf,把下面四行配置前的分号去掉
- anon-access = read
- auth-access = write
- password-db = passwd
- authz-db = authz
这样我们的SVN配置就已经完成了。
下面我们弄一个脚本来启动SVN,并且将脚本加进到系统启动项中实现开机启动:
在root创建一个名为startsvn.sh的脚本文件,粘贴如下内容:
- killall svnserve
- svnserve -d -r /data/svnroot
保存,退出。
然后给脚本可执行权限:
- chmod 777 /root/startsvn.sh
启动脚本:
- /root/startsvn.sh
将脚本加入到系统启动项中,打开/etc/rc.d/rc.local文件,将上面的启动SVN的命令加入到文件的最后一行,以后SVN服务就会随着系统的启动而启动了。
四、将SVN的端口添加到服务器防火墙的允许列表中
subversion的默认端口是3690,我们将3690添加的服务器的允许列表中,打开iptables,添加如下一句配置:
- iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
?