1、安装SVN服务
[root@bogon ~]# yum -y install subversion

2、查看svnserve安装目录
[root@bogon ~]# whereis svnserve
svnserve: /usr/bin/svnserve /usr/share/man/man8/svnserve.8.gz

3、查看是否安装成功,如果出现以下提示则安装成功
[root@bogon ~]# svnserve -h
usage: svnserve [-d | -i | -t | -X] [options]

Valid options:
-d [--daemon] : daemon mode
-i [--inetd] : inetd mode
-t [--tunnel] : tunnel mode
-X [--listen-once] : listen-once mode (useful for debugging)
-r [--root] ARG : root of directory to serve
-R [--read-only] : force read only, overriding repository config file
--config-file ARG : read configuration from file ARG
--listen-port ARG : listen port
....

4、创建版本库
[root@bogon /]# vi /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn"    #默认版本库位置

  4.1)[root@bogon /]# mkdir /var/svn    #可自定义目录
  4.2)[root@bogon /]# svnadmin create /var/svn/ushark.net

5、配置
  5.1)新增用户
    [root@bogon /]# vi /var/svn/ushark.net/conf/passwd
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    #
    ushark = www.ushark.net       #用户名=用户密码
  5.2)编辑用户权限
    [root@bogon /]# vi /var/svn/ushark.net/conf/authz
    [/]
    ushark = rw                        #授予ushark用户对根目录的读写权限,也可指定子目录
  5.3)编辑svnserve.conf
    [root@bogon /]# vi /var/svn/ushark.net/conf/svnserve.conf
    anon-access = none         #控制非鉴权用户访问版本库的权限
    auth-access = write           #控制鉴权用户访问版本库的权限
    password-db = passwd     #指定用户名口令文件名
    authz-db = authz              #指定权限配置文件名
    realm = ushark.net           #指定版本库的认证域,即在登录时提示的认证域名称
    !!! 以上五项不仅要去掉前面的#号,而且还要删除前面的空格,不然会报 “xxxxx: Option expected”错误 !!!

6、启动SVN
[root@bogon /]# systemctl start svnserve.service

7、设置开机自启
[root@bogon /]# systemctl enable svnserve

8、查看SVN端口,并设置防火墙开放其端口
[root@bogon /]# ss -tnlp | grep svnserve
LISTEN 0 7 *:3690 *:* users:(("svnserve",pid=1869,fd=3))
[root@bogon /]# firewall-cmd --permanent --add-service=telnet
[root@bogon /]# firewall-cmd --permanent --add-port=3690/tcp
[root@bogon /]# firewall-cmd --reload

9、解决SVN报“xxxxx: permission denied”错误
[root@bogon /]# systemctl stop svnserve.service
[root@bogon /]# killall svnserve
[root@bogon /]# svnserve -d -r /var/svn/     #以root用户运行

10、在win10下载安装TortoiseSVN
checkout时填写的url: svn://www.ushark.net/ushark.net              #svn://your/server/addr/版本库名
认证用户名:ushark
认证密码:www.ushark.net

11、提交代码自动同步到WEB服务目录
[root@bogon html]# cp /var/svn/ushark.net/hooks/post-commit.tmpl /var/svn/ushark.net/hooks/post-commit
[root@bogon html]# vi /var/svn/ushark.net/hooks/post-commit
!!!把文件里所有行注释掉,添加如下关键代码:!!!
cd /LNMP/nginx/html
svn co file:///var/svn/ushark.net/ #checkout本地svn版本库, 如果WEB服务与SVN服务不在同一主机,则用http://svn/url/svn_name
svn cleanup
svn up /LNMP/nginx/html/ushark.net/ --username ushark --password 123456 --no-auth-cache

Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录的更多相关文章

  1. CentOS7下安装SVN服务端

    CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...

  2. CentOS 创建SVN 服务器,并且自动同步到WEB 目录

    CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: ...

  3. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  4. 【LINUX】SVN 代码提交之后。同步到web目录下

    1  当你使用svn在成功提交一个新版本的时候,svn仓库目录下的hook文件夹下的post-commit脚本会运行 用shell写一个脚本,在提交完版本后,自动在web目录运行一下svn updat ...

  5. svn提交自动同步到web目录

    环境:CentOS6.5  测试线   svn和web服务器在同一台机器上   SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这 ...

  6. Linux下搭建svn服务端

    安装 使用yum安装非常简单: yum -y install subversion (压缩包安装比这麻烦的多) Tortoise本是window下客户端工具,但也可以建仓库,作为服务端.Linux只有 ...

  7. LNMP环境下搭建SVN服务

    最近自己买了个服务器,试着在上面搭建了LNMP环境,因为以前在本地用MAMP Pro搭建过LAMP环境,所以基本上还算是轻车熟路,第一次搭建LNMP,使用的是一键安装,过程是顺利的,后来在使用过程中遇 ...

  8. CentOS7下搭建SVN服务器

    (1).安装SVN 1)安装SVN [root@youxi1 ~]# yum -y install subversion mod_dav_svn [root@youxi1 ~]# cat /etc/s ...

  9. windows下搭建svn服务端、客户端

    1.安装SVN服务器subversion以及客户端TortoiseSVN,在网上下载windows版的subversion,TortoiseSVN并安装,比如我的服务端安装在了D:\Program F ...

随机推荐

  1. php省市联动实现

    设计模式:ajax实现,数据库格式:id,name,parent_id 数据库: CREATE TABLE IF NOT EXISTS `city` ( `id` ) NOT NULL AUTO_IN ...

  2. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar报错

    缺少jstl依赖解析xml文件,报错jaspException 添加依赖如下: <dependency>              <groupId>jstl</grou ...

  3. 全网最详细的实用的搜索工具Listary和Everything对比的区别【堪称比Everything要好】(图文详解)

    不多说,直接上干货! 引言 无论是工作还是科研,我们都希望工作既快又好,然而大多数时候却迷失在繁杂的重复劳动中,久久无法摆脱繁杂的事情.   你是不是曾有这样一种想法:如果我有哆啦A梦的口袋,只要拿出 ...

  4. 从零开始学 Web 之 Ajax(六)jQuery中的Ajax

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. docker compose示例

    version: ' services: game-server: image: /tomcat: container_name: 'game-server' ports: - '8019:8019' ...

  6. python文件处理b模式

    执行环境:windows+Python3.51.rb模式,从文件中读取内容,得到的是bytes类型 因为我们使用的是b模式,所以在open函数中不能指定编码格式,所以打印出来的格式的二进制的格式,而我 ...

  7. ElasticSearch聚合分析

    聚合用于分析查询结果集的统计指标,我们以观看日志分析为例,介绍各种常用的ElasticSearch聚合操作. 目录: 查询用户观看视频数和观看时长 聚合分页器 查询视频uv 单个视频uv 批量查询视频 ...

  8. 判断使用设备是PC还是phone

    <script type="text/javascript"> //如果是手机设备,则.. if(/Android|webOS|iPhone|iPod|BlackBer ...

  9. JS截取字符串substr 和 substring方法的区别

    substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数 stringvar 必选项.要提取子字符串的字符串文字或 ...

  10. Task.Run Vs Task.Factory.StartNew 【收藏】

    在.Net 4中,Task.Factory.StartNew是启动一个新Task的首选方法.它有很多重载方法,使它在具体使用当中可以非常灵活,通过设置可选参数,可以传递任意状态,取消任务继续执行,甚至 ...