下载相关软件
wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
一、查看是否安装了svn工具
[root@CentOS6-node1 ~]# rpm -qa | grep subversion
subversion-1.6.11-9.el6_4.x86_64
[root@CentOS6-node1 ~]# rpm -e subversion
卸载rpm包的svn安装包
二、安装ssl
[root@CentOS6-node1 ~]# rpm -qa |grep ssl
openssl-devel-1.0.1e-15.el6.x86_64
openssl-1.0.1e-15.el6.x86_64
安装之后用命令找到opensslv.h所在的目录,
[root@CentOS6-node1 ~]# find / -name opensslv.h
/usr/include/openssl/opensslv.h
三.安装svn
mkdir /opt/svn
tar xf subversion-1.6.6.tar.gz -C /opt/svn/
tar xf subversion-deps-1.6.6.tar.gz -C /opt/svn/
cd /opt/svn/subversion-1.6.6/
配置:
./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db
编译和安装
make && make install
创建软链接
ln -s /usr/local/svn/bin/* /usr/local/bin/
如果 make install 出现下面错误:
/home/upload/subversion-1.6.6/subversion/svnversion/.libs/lt-svnversion: error
while loading shared libraries: libiconv.so.2: cannot open shared object file:
No such file or directory
make: *** [revision-install] Error 127
解决办法:
1、编辑/etc/ld.so.conf文件
vi /etc/ld.so.conf
添加下面一行代码
/usr/local/lib
2、保存后运行ldconfig:
/sbin/ldconfig
注:ld.so.conf和ldconfig用于维护系统动态链接库。
3、然后再安装
make && make install
测试是否安装成功
/usr/local/svn/bin/svnserve --version
出现内容,说明安装成功
到此svn安装完成。
四、配置svn服务器
1、建立SVN的根目录
mkdir -p /data/svn/
2、建立一个产品仓库
mkdir -p /data/svn/tshop/
svnadmin create /data/svn/tshop/
3.修改版本库配置文件
vim /data/svn/tshop/conf/svnserve.conf
anon-access = none #修改12行,将read改为none。注意这里必须设置,否则所有用户不用密码就可以访问
password-db = passwd #启用20行配置
authz-db = authz #启用27行配置
修改完配置后,无需重启配置文件。立即生效
4、开始设置passwd用户账号信息
vim /data/svn/tshop/conf/passwd
在最后一行开始添加用户信息。添加zhangsan,lisi用户
adm = 123 #adm设置为运维的管理员,123为密码
zhangsan = 123 #zhangsan设置为运维的管理员,123为密码
lisi = 123 #开发账号
wangwu = 456 #开发账号
5.编辑权限
vim /data/svn/tshop/conf/authz
在实际生产中,我们可以将相同的部门人员添加到同一个组里。在最后一行开始配置。禁用掉上边的[groups]和[alias].我们在下边单独配置。
[groups] #定义组以及组成员
yunwei = adm,zhangsan #向运维组中添加zhangsan,和lisi用户
kaifa = lisi,wangwu
以下为定义权限
[/]
@yunwei = rw
[tshop:/wwwroot]
@kaifa = rw
解释:
[/]:
表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svn/tshop/
[tshop:/wwwroot]:
表示对版本库tshop中的wwwroot项目设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
6、建立启动svn的用户
useradd svn
根据提示,为用户svn设置密码
允许用户svn访问版本库:
chown -R svn:svn /data/svn
7、启动svn:
方式一:svnserve
-d -r /data/svn/ #默认的启动端口号为3690
方式二:su –
svn -c “svnserve -d –listen-port 9999 -r /data/svn/”
启动成功
[root@CentOS6-node1 conf]# netstat -antp |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28750/svnserve
五、安装客户端工具
TortoiseSVN-1.8.10.26129-x64-svn-1.8.11 #安装包
LanguagePack_1.8.10.26129-x64-zh_CN #汉化包
安装完毕后,将客户端设置为中文
在桌面空白处,右击空白处
六、客户端操作
(1)点击版本库浏览器
(2)输入svn版本库的根路径
输入相应的用户名和密码。这里的用户名和密码就是我们在/data/svn/tshop/conf/passwd文件里设置的用户名和密码。这时候我们进入到了svn tshop版本库的根目录里
如果我们想切换用户,可以清除认证数据
检出操作
(3)我们进入到里面,创建两个文件夹,hello 和svn
(4)我们在win7客户端检出服务器上的svn版本库中的内容
检出完成
我们进入到D盘的svn目录,发现里面有了hello和svn两个目录。
注意:第二次在检出的时候,不需要再次点击检出了,只需要到D盘的svn目录中,右键svn更新即可。
提交操作
(1)我们在客户端的D盘中的svn目录中,创建测试文件夹kaifa,以及子文件
右击点击svn提交。
选择要提交的文件
提交完毕。
(2)登陆svn版本库浏览器。
我们发现客户端的开发文件以及子目录已经到提交到svn的tshop版本库中。
七.版本还原
进入到检出目录中(D:svn)
选择要还原的版本即可还原