您的位置:首页 > 运维架构 > Linux

Linux下SVN安装教程

2017-10-15 23:07 309 查看
/**温馨提示,该Linux操作系统为CentOS6.5版本的内核,不同Linux操作系统的内核可能有差别*/

检测SVN是否安装

在Linux下执行命令:rpm -qa subversion,如果出现了svn相关的信息,说明该Linux操作系统上已经安装有SVN了;
如果没有安装,执行命令:yum -y install subversion

配置并启动SVN

-- 本人习惯性的喜欢将应用程序安装在/usr/local目录下,大家可以根据自己的喜好创建相应的目录及目录名

建立svn版本库存储根目录(svndata)及用户名、密码权限目录(svnpasswd)

执行命令:cd /usr/local
执行命令:mkdir -p svn/svndata
执行命令:mkdir -p svn/svnpasswd

启动svn服务并指定存储的根目录(即前面创建的目录)

启动svn服务,执行命令:svnserve -d -r /usr/local/svn/svndata
查看svn服务是否启动,执行命令:ps -ef | grep svn 或者ps -aux | grep svn
svn默认启动端口是3690,可执行命令:netstat -lntup | grep 3690 或者lsof -i :3690 来查看端口的使用情况

创建一个svn的版本库,即某个项目的存放位置

执行命令:svnadmin create /usr/local/svn/svndata/project1,进入该目录,可以看到其中还有很多svn相关的目录结构;
配置svn的访问权限
执行命令:cd /usr/local/svn/svndata/project1/conf
将该目录下的authz与passwd文件拷贝至svnpasswd目录下,方便后期对每个项目的权限统一管理,否则每个svn项目有自己的一份权限管理,相当麻烦,命令执行:cp authz
passwd /usr/local/svn/svnpasswd

在该目录下有一个svnserver.conf这样一个配置文件,修改该配置文件,执行命令:vim svnserver.conf
修改后如下,将修改后的文件进行保存即可:



将权限文件的访问权限设置为只有root用户能够进行操作
执行命令:cd /usr/local/svn/svnpasswd
可以看到auth与passwd两个文件已经复制过来了,执行命令:chmod 700 *

修改passwd这个文件,即创建用户,执行命令:vim passwd,如下图所示:



修改authz这个配置文件,即进行权限的设置

其中,1个用户组可以包含1个或多个用户,用户间以逗号进行分隔
版本库格式为:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户组> = <权限>

[/],表示根目录及以下,根目录是svn启动时指定的,我指定的就是"/usr/local/svn/svndata",[/]就是表示对全部版本库设置权限;
[project1:/],表示对版本库project1设置权限
[project1:/xx],表示对版本库中xx目录进行权限设置,因为一个版本库中可以有多个项目,这样可以对不同的项目进行不同的权限设置,同样可以更具体的目录级别;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户
权限可以是 w、r、wr和空,空表示没有任何权限,r、w分别代表读、写权限,如下图:



/**注:修改svnserver.config需要重启svn服务器,修改authz、passwd这个两个文件不需要重启svn服务器*/

重启svn服务器先关闭svn服务器,执行命令:pkill svnserve,然后再启动svn服务器即可。

测试svn服务器是否搭建成功

/**连接svn服务器有多种方式,windows上有相应的svn客户端,eclipse中也有相应的插件,此处就不过多的讲解了,安装了svn客户端的朋友可以根据我的方式进行测试一下*/

因为svn服务器默认端口为3690,linux上默认有防火墙,临时关闭linux上的防火墙,执行命令:service iptables stop
在windows桌面上新建一个名为test的文件夹,右键,CkeckOut,如下图所示


接着填入用户名密码即可:



成功:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  svn