如果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进行操作了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)