Linux 安装svn服务器

下载Subversion

尽管Subversion是apache的一个项目,然而Apache没有为任何系统单独开发安装的二进制文件,下面的链接是任何版本的Linux安装svn的方式。

Linux安装Subversion链接  ,使用包管理命令例如,YUM和APT包管理安装软件。

windows安装链接  ,下载之后直接点击安装即可(需要记住安装路径)。

安装Subversion

Linux 安装使用以下命令进行安装:

sudo yum install subversion
apt-get install subversion

windows安装,点击下载的安装包,并设置相应的安装路径。

检验subversion是否成功,输入以下命令就可以看到安装的svn版本。

svnserve --version

windows安装之后检测是否安装成功,需要在环境变量配置中添加相应的安装包的路径。

开启Subversion服务

Linux安装Subversion的时候就自动创建了一个启动服务的文件脚本,路径为 /etc/init.d/svnserve。这个脚本可以用来开启Subversion服务。Linux环境下开启Subversion服务的命令如下:

sudo /etc/init.d/svnserve start

windows的话直接在控制面板中进行该服务的开启。

创建SVN版本库目录

在linux中创建版本库目录的命令如下:

mkdir -p REPOS_PATH

REPOS_PATH  代表的是创建版本库目录的路径。

比如:

mkdir –p /ciroot/subversion/repository

 在windows 下创建版本库目录的命令如下:

mkdir REPOS_PATH

比如:

mkdir C:cirootsubversion
epository

创建SVN版本库

接着通过上一步创建的版本库目录进行SVN版本库创建。在linux下创建版本库的命令如下:

svnadmin create /ciroot/subversion/repository

 在windows下创建版本库的命令如下:

svnadmin create C:cirootsubversion
epository

执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

通过svn客户端访问svn版本是有文件权限以及用户访问权限控制的,下面通过配置文件来配置访问权限。默认用户具有只读权限。

配置SVN版本库

下面为了能够通过SVN客户端进行版本库的访问,通过进入REPOS_PATH/conf/目录下的文件来进行配置,配置方式如下。注:REPOS_PATH 是上面创建版本库目录。

进入到conf目录下:

cd /ciroot/subversion/repository/conf

进入该目录,发现有authz、 passwd、svnserve.conf 。

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

进入配置文件中设置账号密码

输入如下命令进入账号密码设置。

vi passwd 

[users]块中添加用户和密码,格式:帐号=密码,如test=123456

设置权限

输入如下命令进行权限的配置。

vi authz

设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[/]
test=rw  //给该用户访问所有库的权限

[repository:/project] //repository库的根目录权限
test=rw

/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/ciroot/subversion;/ 就是指对全部版本库都具有权限

repository:/ 表示对库repository的根目录设置权限

PS:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

svnserve.conf文件配置

输入如下命令,对svnserve.conf进行配置

 vi  svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/ciroot/subversion/repository

这里注意各标签不能错,也不能有重复,不然无法连接。

启动svn版本库

# svnserve -d -r /ciroot/subversion/repository

输入如下命令检查svn是否启动成功。

ps -ef|grep svn|grep -v grep 

停止和启动svn

# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动

 最后通过安装tortoisesvn 客户端进行验证。

原文地址:https://www.cnblogs.com/Hackerman/p/8484355.html