安装svn

使用yum安装

yum install subversion -y

安装成功后查看版本库

svnserve  --version

生成目录

cd /var

mkdir svn

cd svn

创建版本库

svnadmin create /var/svn/project

cd project

查看目录下的所有文件

ls -a

README.txt  conf  db  format  hooks  locks

cd conf

进入版本配置目录conf,此目录下有authz  passwd  svnserve.conf三个文件

vi authz  //添加用户组并使用户组具有读写权限

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
用户组名 = 用户名1,用户名2    //添加用户组,并设置用户组下的用户,用户名之间用 , 隔开

[project:/]  //     版本库名:/
@用户组名 = rw    //添加用户组读写权限

vi passwd    //配置用户以及密码

[users]
# harry = harryssecret
# sally = sallyssecret
用户名1 = 用户名1的密码
用户名2 = 用户名2的密码

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

//找到以下配置项,将前面的#号去掉,然后做相应的配置

anon-access = none//匿名用户访问权限:无

auth-access = write //普通用户访问权限:读、写

password-db = passwd //密码文件

authz-db = authz //权限配置文件

realm = /var/svn/project //版本库所在

启动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

或者使用 ps -ef|grep svn  //查看svn进程

kill 进程号

还有   killall svnserve  //结束svn所有进程

测试svn服务

mkdir /home/www

cd /home/www

svn co svn://服务器ip地址/project /home/www //回车后,此时可能会提示密码验证,先填写服务器用户名和密码,后面是svn用户名和密码

如果现实Checked out revision 1.则表示成功

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

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

本地拉取服务器上的版本库(本地window)

右键检出

按照如图所示地址拉取,点击确定后再输入用户名和密码即可

最后,本地推送到svn并同步更新至web目录

cd /var/svn/project/hooks

vi 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 '用户名' --password '密码' --no-auth-cache

//修改post-commit权限

chmod 755 post-commit

在本地检出时,如果不能连接svn可能是3690端口未开放

firewall-cmd --zone=public --add-port=3690/tcp --permanent

systemctl restart firewalld    //重启firewall防火墙

linux下搭建svn并同步更新至web目录的更多相关文章

  1. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  2. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

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

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

  4. linux下搭建SVN服务器完全手册

    原文:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 系统环境        RHEL5.4最小化安装(关iptables,关 ...

  5. linux下搭建SVN服务器完全手册【转】

    转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境        RHEL5.4最小化安装(关iptables,关selinux) ...

  6. 在Linux下搭建SVN服务器

    svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档. CentOS下:安装 这样同一台服务器便可以运行多个svnserver了 检查端口 注:如果修改了svn配置,需要重启svn服务 -j ...

  7. linux下搭建SVN服务器完全手册【摘抄】

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

  8. linux下搭建SVN服务器完全手册-很强大!!!!!

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.        yum install subversion ( ...

  9. linux下搭建SVN

      官网下载: http://subversion.apache.org/packages.html SVN客户端:TortoiseSVN :https://tortoisesvn.net/downl ...

随机推荐

  1. python3+selenium获取列表某一列的值

    python3+selenium获取列表某一列的值 我们在坐自动化测试时,我们可能不想单纯的想验证一个选项卡,我们让脚本随机选择一个选项进行接下来的操作.例如我们想获取列表某一列的某一个数据(随机的) ...

  2. 1 Groovy

    1.1  什么是Groovy? groovy 是一个弱类型,动态语言,并且运行在JVM之上.它与java联系紧密.它是一个功能丰富和友好的java语言. Groovy源代码,通过Groovy编译器编译 ...

  3. Problem04 分解质因数

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的 ...

  4. java 开发体系参考学习

    https://www.oschina.net/question/2663968_2283797

  5. C++之构造函数、拷贝类型

    无参数的构造函数适合没初始化值的初始化对象,而引用拷贝适合创建对象时用另一个对象对其初始化,如果此时用的是浅拷贝则释放一个对象内存时系统会释放2次从而出错(因为它指向同一个内存),深拷贝就不存在这个问 ...

  6. Unity GetComponentsInChildren

    1 Component.GetComponentsInChildren 和 GameObject.GetComponentsInChildren 一样吗?  API上解释一样. 2. //拿到游戏对象 ...

  7. (转)CentOS下的trap命令

    trap命令用于指定在接收到信号后将要采取的动作.常见的用途是在脚本程序被中断时完成清理工作.不过,这次我遇到它,是因为客户有个需求:从终端访问服务器的用户,其登陆服务器后会自动运行某个命令,例如打开 ...

  8. instancemethod, staticmethod, classmethod & abstractmethod

    实例方法.静态方法.类方法.抽象方法 1.  Python中方法的工作方式(How methods work in Python) A method is a function that is sto ...

  9. gcc标准,c++中的inline

    1. GCC的inlinegcc对C语言的inline做了自己的扩展,其行为与C99标准中的inline有较大的不同. 1.1. static inlineGCC的static inline定义很容易 ...

  10. java Redis工具类

    redis就是一个nosql数据库,做存储做缓存的,java代码中就是嵌入了一个客户端,读取与存储数据而已. 先来一个简单的工具类: package com.ming.redis; import re ...