机器地址:10.2.2.18(sit-admin)
操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago)
10.77.5.51至10.77.5.58为内网开发人员电脑IP,故只针对10.77.5.51至10.77.5.58开放端口:22、3690、80、1521、3306
SSH账户:root/password
软件包链接:svn安装部署相关软件包-IT管理文档类资源-CSDN下载
安装版本subversion-1.9.4(不同版本可能会有不同的软件依赖),系统环境需要有gcc等C编译软件;具体安装包依赖信息可以参考subversion-1.9.4下的INSTALL文件。

1.将上面下载的安装包都放置到目录: `~/svn-install`,如有目录差别,自行调整。
2.解压安装包
分别解压安装包到/usr/local/src/目录下,其中sqlite-amalgamation-3130000.zip解压到/usr/local/src/subversion-1.9.4/下并重命名,命令行如下:
[root@sit-admin svn-install]# tar -xvf subversion-1.9.4.tar.bz2 -C /usr/local/src/
[root@sit-admin svn-install]# tar -xvf apr-1.5.2.tar.bz2 -C /usr/local/src/
[root@sit-admin svn-install]# tar -xvf apr-util-1.5.4.tar.bz2 -C /usr/local/src/
[root@sit-admin svn-install]# tar -xvf zlib-1.2.8.tar.xz -C /usr/local/src/
[root@sit-admin svn-install]# unzip sqlite-amalgamation-3130000.zip -d /usr/local/src/subversion-1.9.4/
[root@sit-admin svn-install]# cd /usr/local/src/subversion-1.9.4/
[root@sit-admin subversion-1.9.4]# mv sqlite-amalgamation-3130000 sqlite-amalgamation
3.安装apr-1.5.2
[root@sit-admin subversion-1.9.4]# cd /usr/local/src/apr-1.5.2/
[root@sit-admin apr-1.5.2]# ./configure --prefix=/usr/local/apr-1.5.2/
[root@sit-admin apr-1.5.2]# make && make install
4.安装apr-util-1.5.4
注意:必须在apr安装完成后
[root@sit-admin apr-1.5.2]# cd /usr/local/src/apr-util-1.5.4/
[root@sit-admin apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util-1.5.4/ --with-apr=/usr/local/apr-1.5.2/
[root@sit-admin apr-util-1.5.4]# make && make install
5.安装zlib-1.2.8
[root@sit-admin apr-util-1.5.4]# cd /usr/local/src/zlib-1.2.8/
[root@sit-admin zlib-1.2.8]# ./configure --prefix=/usr/local/zlib-1.2.8/
[root@sit-admin zlib-1.2.8]# make && make install
6.安装subversion-1.9.4
[root@sit-admin zlib-1.2.8]# cd /usr/local/src/subversion-1.9.4/
[root@sit-admin subversion-1.9.4]# ./configure --prefix=/usr/local/subversioni-1.9.4 --with-apr=/usr/local/apr-1.5.2/ --with-apr-util=/usr/local/apr-util-1.5.4/ --with-zlib=/usr/local/zlib-1.2.8/
[root@sit-admin subversion-1.9.4]# make
[root@sit-admin subversion-1.9.4]# make install
7.配置环境变量(可选)
在/etc/profile文件的末尾加入 SVN Path 以方便操作(注意备份):
[root@sit-admin subversion-1.9.4]# vi /etc/profile
- PATH=$PATH:/usr/local/ subversioni-1.9.4/bin
-
- export PATH
测试是否安装成功:
[root@sit-admin subversion-1.9.4]# svnserve –-version
1.建立svn版本库目录
[root@sit-admin opt]# mkdir -p /opt/svndata
2.为运行svn设置专用的用户组
[root@sit-admin opt]# groupadd svn
3.为运行svn设置专用的用户,同时指定home目录为:/opt/svndata
[root@sit-admin opt]# useradd -d /opt/svndata -g svn svn
4.为运行svn专用用户设置密码svn
[root@sit-admin opt]# passwd svn
5.开始切换为svn用户进行后续操作
[root@sit-admin opt]# su -l svn
1.为即将创建的代码库建立一下文件夹
[svn@sit-admin opt]# mkdir -p /opt/svndata/repos
2.建立代码库,/opt/svndata/repos/为代码库所在文件夹
[svn@sit-admin opt]# svnadmin create /opt/svndata/repos
1.设置认证相关的配置
[svn@sit-admin opt]# vi /opt/svndata/repos/conf/svnserve.conf
- #匿名用户可读
- anon-access = read
-
- #授权用户可写
- auth-access = write
-
- #指定账号和密码配置文件,默认从与svnserve.conf同目录,即conf/下查找相关文件
- password-db = passwd
-
- #指定权限配置文件,默认从与svnserve.conf同目录,即conf/下查找相关文件
- authz-db = authz
-
- #认证域,这个值会显示在登入时提示的“认证域”名称,默认值是分配给这个版本库的一个UUID,为了直观,我们可以将其设定为版本库的名称
- realm = /opt/svndata/repos
2.设置帐号和密码
[svn@sit-admin opt]# vi /opt/svndata/repos/conf/passwd
在[users]块中添加用户和密码,格式:帐号=密码,如:
- [users]
-
- abc@abc.com = abc@abc.com
-
- gsz@abc.com = gsz@abc.com
3.设置用户的读写权限
[svn@sit-admin opt]# vi /opt/svndata/repos/conf/authz
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
格式示例:
- [groups]
- dev = abc@abc.com,gsz@abc.com
-
- [/]
- @admin = rw
-
- [/abc/aaa]
- test2 = rw
-
- [/pass]
- test3 =
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。
[/] 表示对版本库repos设置权限
[/abc] 表示对版本库repos中的abc项目设置权限
[/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
4.启动svn server (默认端口3690)
[svn@sit-admin opt]# svnserve -d -r /opt/svndata/repos/
注:同一台服务器可以运行多个svnserver,只需要启动时换一个端口即可:
[svn@sit-admin opt]# svnserve -d -r /opt/svndata/another-repo/ --listen-port 3691
5.关闭svn server
[svn@sit-admin opt]# ps –ef | grep svn
获取到pid
通过kill进程关闭服务。