• 首页

  • 归档

  • 分类

  • 标签

  • 喵星人

  • 心情

  • 关于
W e A r e F a m i l y ! m i a o ~
W e A r e F a m i l y ! m i a o ~

柴子

青春流逝,记录往昔

04月
02
服务器

linux安装svn服务端

发表于 2021-04-02 • 字数统计 3148 • 被 143 人看爆

使用yum安装svn

  1. 安装
yum install subversion -y 

​ -y :自动应答为‘yes’ ,省的老询问,让你输入‘yes or no’。

  1. 安装完成后,输入命令:
svn --version

打印出版本号,说明安装成功。好,第一步已迈出,go on!

建立svn项目仓库

  1. 开始创建仓库

    首先说明下,最好先创建一个存放svn仓库的文件夹,然后一个项目建一个仓库。那么按照这个思路开始:

    • 先创建一个svn仓库根的文件夹

      mkdir /data/svnCangKu
      

      注:mkdir命令是创建文件夹命令,后面是要创建的路径与文件夹名称,我这里创建了/data/下的名为“svnCangku”文件夹。为了方便理解,我就用比较low的拼音命名了,你们可以命名的高大上一点。

    • 创建仓库

      比如你现在有一个项目taobao,一个项目jingdong。那么要为两个项目创建各自的svn仓库。

      项目taobao仓库创建:

      svnadmin create /data/svnCangKu/taobao
      

      项目jingdong仓库创建:

      svnadmin create /data/svnCangKu/jingdong
      

      两个仓库创建完毕,开始配置。

  1. 配置

    以taobao为例:

    • 进入到taobao的配置

      cd /data/svnCangKu/taobao/conf/
      ls
      

      执行ls命令后发现,里面有三个文件:‘authz’,‘passwd’,‘svnserve.conf’

      1. 配置svnserve.conf(配置版本库信息、用户文件和用户密码文件的路径、版本库路径)
      vim svnserve.conf
      

      修改下面列出的项,将前面的“#”和空格都删掉。#号是注释的意思,不删空格会报错。

      anon-access = none       //默认是只读read,改为none让游客不能看
      auth-access = write      //认证后有写入权限  只删#和空格
      password-db = passwd     //帐号密码配置文件  只删#和空格
      authz-db = authz         //权限配置文件  只删#和空格
      realm = /data/svnCangKu/taobao   //改成自己的项目仓库 
      
      1. 配置authz(svn组和组用户的权限)

        在此文件最下面一行加上

        [/] //指定仓库根目录下的权限
        chaixuhong = rw  //用户"chaixuhong"  权限为可读可写
        
      2. 配置passwd(用户密码)

        在此文件最下面一行加上

        yonghu=123456  //用户"yonghu"  密码为123456
        

    至此:svn配置结束,是不是感觉有点简单,但是的确配置完了。。。

    配置jingdong与上述一样,我介绍的这种是多仓库模式,就是说一个项目一个仓库,每建一个项目,都需要配置一个仓库,这种方式的好处是项目查看自己的版本很清楚,不会被其他项目搞乱。也可以就建立一个仓库,然后在这个仓库分项目,也就是分文件夹。没什么特别的,只是使用方式不同。

启动服务

svnserve -d -r /data/svnCangKu

-d 表示svnserve 将会作为一个服务程序运行在后台

-r表示把/data/svnCangKu/目录作为根目录

查看是否启动成功

ps -ef | grep svnserve

如果输出一条信息,说明启动失败,如果输出两条,则启动成功!

关闭服务

killall svnserve

检出svn中项目

上述安装、配置、启动都完成后,我们测试下项目检出。

随便找个路径下,建个文件夹

mkdir /data/test
cd /data/test

进入test文件夹后,执行检出

svn checkout svn://127.0.0.1/taobao  ./

如果提示检出成功,版本号为0。那么就可以在自己的电脑上连接svn做操作了。用自己电脑上的svn客户端进行检出,提交,更新等。

注:如果在服务器可以检出,在自己电脑不可以,可能原因是svn端口未开放,请在iptables文件里添加3690端口开放,或者直接关闭防火墙(不建议)。如果使用的是阿里的服务器,还需在安全组里添加出方向的规则。

其他配置

提交代码后同步更新服务器代码

我的需求,我用hexo搭建的博客,部署到了自己的服务器,当我修改博客提交代码的时候,我希望服务器上的博客也自动更新。

实现:

  1. 进入到svn仓库里,如上面的taobao
cd /data/svnCangKu/taobao
  1. 进入hooks文件夹
cd hooks/
  1. 复制一个post-commit文件
cp post-commit.tmpl post-commit
  1. 编辑这个文件
vim post-commit
  1. 添加以下内容
REPOS="$1"
REV="$2"

BASEPATH=/www/hexo/blog   //这里是你博客项目在服务器检出的文件夹
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
#svn revert $WEBPATH --username yonghu --password 123456 --no-auth-cache #强制更新
svn update $WEBPATH --username yonghu --password 123456 --no-auth-cache
  1. 增加post-commit脚本执行权限
chmod +x post-commit
  1. 重启svn服务
killall svnserve
svnserve -d -r /data/svnCangKu

完毕!可以在本地提交一个新文件,然后到服务器上hexo目录查看是否有更新

分享到:
AES对称加接密Java-Node
linux下安装nginx
  • 文章目录
  • 站点概览
柴子

内蒙 柴子

what do U want?

Github QQ Email RSS
最喜欢的电影
最喜欢的游戏
最喜欢的音乐
最喜欢的图书
最喜欢的动漫
夏洛特的烦恼
英雄联盟
痴心绝对
数据库从入门到删库跑路
斗破苍穹
看爆 Top5
  • 微信getUserProfile兼容性调整以及uniapp写法 1,866次看爆
  • gateway转发微服务请求丢失header参数 855次看爆
  • mybatis-plus代码生成器 848次看爆
  • Spring Boot Security从入门到进阶到高级 444次看爆
  • 物业报修系统设计-简化版 425次看爆
转载注明出处

站点已萌萌哒运行 00 天 00 小时 00 分 00 秒(●'◡'●)ノ♥

Copyright © 2022 柴子 京ICP备17035556号-1

由 Halo 强力驱动 · Theme by Sagiri · 站点地图