一、安装
直接运行命令用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