安装篇
查看是否安装了系统自带的subversion:
[root@topseek ~]# rpm -qa |grep subversion
subversion-1.6.11-12.el6_6.x86_64
若已经安装则卸载掉:
[root@topseek ~]# yum remove subversion
下载subversion程序:
cd /usr/local/src/ && wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.8.11.tar.bz2
解压:
tar -jxvf subversion-1.8.11.tar.bz2
下载subversion依赖的sqlite数据库,放置到subversion的文件夹下:
cd subversion-1.8.11 && wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip && unzip sqlite-amalgamation-3071501.zip && mv sqlite-amalgamation-3071501 sqlite-amalgamation
编译、安装:
[weizhen@topseek ~]$ yum install perl-ExtUtils-Embed
[weizhen@topseek ~]$ cd /usr/local/src/subversion-1.8.11/
[weizhen@topseek subversion-1.8.11]$ ./configure --prefix=/opt/subversion
[weizhen@topseek subversion-1.8.11]$ make
[weizhen@topseek subversion-1.8.11]$ make install
加入系统变量:
echo 'export PATH=$PATH:/opt/subversion/bin'>>/etc/profile && source /etc/profile
至此,安装完成。
配置篇
创建文件夹:
mkdir -p /data/svndata/{project1,project2}
建立svn版本库project1:
svnadmin create /data/svndata/project1
此时在下有若干文件:
conf db format hooks locks README.txt
配置文件在conf下:
authz passwd svnserve.conf
其中svnserve.conf是版本库配置,passwd是用户配置文件,authz是权限配置文件。
修改svnserve.conf配置文件如下:
[general]
# 使非授权用户无法访问
anon-access = none
# 使授权用户有写权限
auth-access = write
# 指明密码文件路径
password-db = passwd
# 访问控制文件
authz-db = authz
修改用户文件passwd:
[users]
user01 = 123456
user02 = 123456
注意,前面是用户名,后面是密码。
修改authz按提示修改即可。
启动SVN服务:
svnserve -d -r /data/svndata/
注:该指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“–listen-port=”或者“–listen-host=”来指定其它端口以及非本地主机。-r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。
关闭SVN进程:
killall svnserve
注:当指向/data/svndata/是表示可以创建多个仓库,访问时的地址是:“svn://IP/project1”、“svn://IP/project2”等形式
查看端口:
[root@topseek ~]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 25456 root 3u IPv4 2128419 0t0 TCP *:svn (LISTEN)
设置随机启动服务器:
echo "svnserve -d -r /data/svndata/" >> /etc/rc.local
客户端:
Windows下应该是TortoiseSVN这个免费的比较好用: