Linux中svn服务器安装与使用

Linux中svn服务器安装与使用,第1张

直接开放svnserve的端口就可以了,默认端口是3690

如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"***/db/txn-current-lock"权限不够

如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux

仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test

在仓库目录 /home/svn/test 的 conf 目录中会有三个文件

修改配置

修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格

权限管理分为组管理和目录权限管理

多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。

在仓库目录 /home/svn 目录中创建authz文件和passwd文件。

修改配置各仓库下conf/svnserve.conf。将password-db和authz-db指向/home/svn/目录下的文件

修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格

修改/home/svn/authz权限管理分为组管理和目录权限管理

如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test

访问地址分别为:

编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"

设置开机启动

修改后也可以用systemctl来启动、停止、重启

svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务

有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。

停止svn服务器,重新附加log-file参数输入日志到指定文件

Linux System Environment

一、配置阿里云yum源和epel源

提示: 阿里云yum源官网 https://developer.aliyun.com/mirror/

二、yum安装SVN软件

三、创建SVN版本库目录

提示: 自定义此目录为版本库目录,为后面创建版本库提供存位置

四、创建SVN版本库

五、创建用户并设置用户权限

六、配置SVN服务器配置文件

提示: 每一项目参数前面都不要留空格,否则会报错

七、关闭防火墙及SElinux

提示: 防火墙可以不关闭,放行SVN端口(SVN默认端口3690)

八、启动SVN服务

九、测试SVN客户端访问SVN服务

1、Windows使用TortoiseSVN 客户端测试

输入 svn://192.168.201.56:3690/xiaoming (xiaoming是自定义的版本库名称)

2、Linux SVN客户端操作命令

 步骤如下:

一,安装服务器端svn和客户端svn

1, 首先安装服务器端软件“svn-1.4.5-setup.exe”(附件可以下载),这个安装就很简单,下一步,下一步就行了。

(这里安装到目录:D:\Program Files\Subversion)

2, 其次安装客户端软件“TortoiseSVN-1.4.5.10425-win32-svn-1.4.5 ”

这个安装也很简单,下一步就行了。客户端软件安装好以后,它会要求你重新启动电脑。重启一下。

二,建立svn版本控制的服务目录

1, 这里就是把“D:\svn_service_root” 这个目录指定为SVN版本控制的服务目录,其实这个目录应该称作仓库所在的目录,假如有三个仓库:repository_1,repository_2,repository_3 他们的位置应该是: 

  d:\svn_service_root\repository_1,

d:\svn_service_root\repository_2,

d:\svn_service_root\repository_3。

2,建立了一个仓库:有2中办法如下

2.1)命令行模式进入”C:\Program Files\Subversion\bin\“

再打入命令:svnadmin create d:\svn_service_root\repository_1,这样第一个仓库就建立好了。以后项目就可以 导入到这个仓库中。(其他仓库的建立类似)此时进入目录:桌面--我的电脑--本地磁盘E:

--svn_service_root-- repository_1 。会看到文件夹 conf,dav,db 等等

2.2)打开目录:我的电脑--本地磁盘E:--svn_service_root。在这个目录下新建文件夹,取名“repository_1”,右击刚才新建的文件夹-->TortoiseSVNàCreate Repository Here.效果同第一种方法一样。

3,打开svn的服务在命令行上转到subversion目录下输入(就是刚才安装svn服务器的目录): svnserve -d -r D:\svn_service_root

该命令解释:

注:

-d参数效果同于--daemon

-r参数效果同于--root

svnserve 将会在端口 3690 等待请求,

--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。不要关闭命令行窗口,关闭窗口会把 svnserve 停止。

可直接创建.bat文件来处理当做系统服务 如下内容

sc create svnserve binpath= "C:\Program Files\CollabNet\Subversion

Server\svnserve.exe --service -r e:\svn" depend= Tcpip start= auto

sc start svnserve

pause

--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间

如果不加root参数,服务url为:svn://localhost/svn/repos

而如果加上root参数,服务url为:svn://localhost/repos

此处的启动配置会影响服务url,如果输入url错误,会导致访问的时候出现异常 。

为了验证svnserve正常工作,使用TortoiseSVN ->Repo-browser 来查看版本库。在弹出的 URL 对话框中输入:

svn://localhost/repos

成功访问后可看到空的文件目录。

这一步是建立开启客户端访问服务器端仓库目录下指定的文件

执行完这步,需要测试以下:

右键à TortoiseSVN ->Repo-browser 来查看版本库。在弹出的 URL 对话框中输入:svn://localhost/repository_1

访问成功后,会看到一个空的文件目录。(因为现在你还没有放任何东西在里面)

4,配置用户和权限

用文本编辑器打开d:\svn_service_root\repository_1\conf目录,修改 svnserve.conf:

将:

# password-db = passwd

改为:

password-db = passwd

即去掉前面的 # 注释符,注意前面不能有空格。

然后修改同目录的passwd文件,增加一个帐号:

将:

[users]

# harry = harryssecret

# sally = sallyssecret

增加帐号:

[users]

#harry = harryssecret

#sally = sallyssecret

admin= admin

如此就可以用客户端Tortoise进行操作了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/81620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-04
下一篇2023-03-04

发表评论

登录后才能评论

评论列表(0条)

    保存