[Linux]Centos7下搭建SVN

参考地址
http://www.centoscn.com/CentosServer/ftp/2016/0515/7236.html

安装Subversion

sudo yum install -y subversion

确认安装openssl与openssl-devel

sudo yum install openssl openssl-devel

检测是否安装成功(查看svn版本号)

svnserve --version

创建版本库

//先建目录
mkdir /var/svn
cd /var/svn
//创建版本库
svnadmin create /var/svn/project
cd project
//会看到自动生成的版本库文件
conf  db  format  hooks  locks  README.txt

创建用户组及用户
进入版本库中的配置目录conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)。

修改权限配置文件:vim authz

《[Linux]Centos7下搭建SVN》 Paste_Image.png

配置用户名命令文件:vim passwd

《[Linux]Centos7下搭建SVN》 Paste_Image.png

配置SVN服务综合配置文件svnserve.conf

//找到以下配置项,将前面的#号去掉,然后做相应的配置
anon-access = none  //匿名用户访问权限:无
auth-access = write     //普通用户访问权限:读、写
password-db = passwd        //密码文件
authz-db = authz        //权限配置文件
realm = /var/svn/project    //版本库所在1

注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错

关闭防火墙

systemctl stop firewalld.service         

启动svn服务:

svnserve -d -r /var/svn

如果提示

svnserve: E000098: Can't bind server socket: Address already in use

证明现在svn已经被启动了,由于我们修改了配置文件,因此要重启svn服务

//查看svn服务详情
ps aux | grep svn
//将svn服务强制停止  其中790为svn服务的ID号,-9是kill的参数
kill -9 790

或者用

killall svnserve

测试服务器

//我们在web目录测试(/home/www)
cd /home/www
svn co svn://localhost/project

如果提示:Checked out revision 1. 表示checkout成功

我们添加新文件来测试是否提交成功

cd /home/www
touch index.php
svn add index.php   //成功的话会显示  A index.php
svn commit index.php -m "测试提交文件"

假如最后提示:

Adding         index.php
Transmitting file data .
Committed revision 2.

则表示我们svn服务器搭建成功!文件已经能够推送了。

《[Linux]Centos7下搭建SVN》 Paste_Image.png
《[Linux]Centos7下搭建SVN》 Paste_Image.png

点击ok,提示输入用户名和密码

就填刚才我们创建的lsgoweb1或lsgoweb2,和对应的密码即可。

错误:

svn: Can’t open file ‘/home/svn/db/txn-current-lock’: Permission denied。

出现这种问题的原因在于搭建SVN服务器,包括创建Repository目录/home/svn目录下的一切子目录和文件都是在root用户下进行的,所 以在root用户下检出、提交都没有问题。可在Windows PC上从客户端访问就有问题了,因为是只有拥有管理器权限的人才能对Repository目录进行完全控制,而在Windows从客户端访问的话,因为是 Users用户组的,对Repository没有修改权限,所以不能提交。

解决办法: 在服务器上把Users对Repository的完全控制权限加上就可以了,执行如下命令对/home/svn目录下的所有文件和子目录添加Users的读写权限

  执行下面的命令:
    chmod -R o+rw /var/svn/project
//你项目库的根目录
    原文作者:子木同
    原文地址: https://www.jianshu.com/p/0d591ffbb33c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞