首页 > 其他 > 详细

搭建SVN服务器

时间:2019-08-14 14:58:28      阅读:98      评论:0      收藏:0      [点我收藏+]

一、搭建svn环境并创建仓库:

1,安装Subversion;

# yum install -y subversion

2,检查是否安装成功(查看SVN版本号)

# svnserve  --version

3、创建版本库

//先建目录
#  mkdir  /data/svn
#  cd  /data/svn
//创建版本库
#  svnadmin create /data/svn/project
#  cd project
//会看到自动生成的版本库文件

#  ls
    conf   db  format  hooks  locks  README.txt

这样SVN环境搭建成功。

 

二、创建用户组和用户

1,进入版本库中的配置目录conf,

#  cd conf
#  ls
authz passwd svnserve.conf

权限配置文件(authz),用户名口令文件(passwd),svn服务综合配置文件(svnserve.conf)

要注意一点,任何配置文件的有效配置行,都 **不允许存在前置空格** ,否则程序可能会出错,给你一个 ``Option expected`` 的提示。

2、修改权限配置文件(authz)

#  vim  authz

技术分享图片

将用户svnuser1,svnuser2加入snvuser用户组,

用户组svnuser对版本库project具有读和写的权限。

3、配置用户名命令文件(passwd)

#  vim  passwd

技术分享图片

 

 4、配置SVN服务综合配置文件 (svnserve.conf)

#  vim svnserve.conf

//找到以下配置项,将前面的#号去掉,然后做相应的配置
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /data/svn/project //版本库所在
注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错

5、启动svn服务

#  svnserve  -d  -r  /data/svn

如果提示:

svnserve: Can‘t bind server socket: Address already in use

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

//查看svn服务详情

#  ps aux | grep svn

790 ?        00:00:00 svnserve

//将svn服务强制停止 其中790为svn服务的ID号,-9是kill的参数

#  kill -9 790

或者用:

#  killall svnserve

再运行 svnserve -d -r /data/svn,进行启动服务

6、测试服务器:

//我们在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服务器搭建成功!文件已经能够推送了。

7、本地拉取、推送

在本地安装SVN,建立个文件夹,右键点检svn checkout...

技术分享图片

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

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

 

三、实现svn更新自动同步到web目录:

1、在web目录中checkout 版本库

#  svn co svn://localhost/project /root/www --username svnuser1 --111111

进入/data/svn/project/hooks下,建立post-commit文件:

# cd /data/svn/project/hooks

# vim post-commit

//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里不用改
WEB_PATH=/home/www //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username ‘svnuser1‘ --password ‘111111‘ --no-auth-cache

保存退出,修改post-commit用户为www目录的用户,给past-commit执行权限:

#  chmod  755  post-commit

即成功完成了。

搭建SVN服务器

原文:https://www.cnblogs.com/zwj-linux/p/11351858.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!