Svn服务器的安装和配置

1.安装svn服务器端软件
从镜像服务器或者YUM源下载安装SVN服务器软件:yum install subversion
mkdir /usr/local/svn //创建SVN安装目录
chmod -R 777 svn //修改目录权限为777
svnadmin create /usr/local/svn/sunny //创建一个SVN版本仓库sunny(sunny可以自定义)
cd /usr/local/svn/sunny/conf //进入sunny版本仓库下的配置文件目录

下面要修改这个目录下的三个配置文件

(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径,把
# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成
anon-access = none //匿名访问,改成none
auth-access = write
password-db = passwd
realm = sunny //改成自己的版本库名称
保存退出

(2)vi authz //文件,创建SVN组和组用户的权限
[groups]
sunny = gep,wce //创建一个sunny的组,并指定两个用户gep和wce

[/] //制定根目录下的权限
@sunny = rw //sunny组用户权限为读写
* = r //其他用户只有读权限
保存退出

(3) vi passwd //创建或修改用户密码
[users]
gep = 123456 //用户名为gep的用户的密码为123456
wce = 123456 //。。。
保存退出

启动SVN服务器:
//这里采用多版本库的方式启动
svnserve -d -r /usr/local/svn/

如果是单版本库可以添加一行
svnserve -d -r /usr/local/svn/sunny

然后要设置自启动
vi /etc/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/

到此为止可以从服务端检出文件了.

svn命令:
netstat -tnl |grep :3690 查看svn是否启动
安装成功!

ps aux |grep svn 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程

svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //检出一份版本库文件到指定目录
svn up //更新文件

自动更新
在vi /usr/local/svn/sunny/hooks/post-commit中加入

#!/bin/sh
#设置一些变量
SVN=/usr/bin/svn
WEB=/home/testsvn #要更新的目录
export LANG=en_US.UTF-8
$SVN update $WEB --username xxx --password xxx

其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn
WEB=右边改成你实际的web目录
赋予可执行权限
chmod 777 /usr/local/svn/sunny/hooks/post-commit
安装完毕

出现启动svn显示报错(已启动)情况或者当项目的时候出问题解决:
cd etc
cd sysconfig
vim iptables(仿照句子写一句3690的端口号的句子)
重启防火墙service iptables restart

最后我要着重描述一下svn自动更新的问题:

 1.首先找到 版本库的{ hooks },在hooks下创建 post-commit文件 不需要后缀.
2.vim post-commit  加入如下代码:
#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn     // 你去 cd 一下看看你服务器有没有这个路径 
WEB=/procject/w-project     这个是你项目路径  
$SVN update $WEB --username svn{用户名} --password svn{密码}   //这里面的这个{}是不需要的 相当于注释符号
wq 保存
重启svn  
测试  
 
svn重启命令:
 killall  svnserve
svnserve -d -r /usr/local/svn/   这样是启动svn下所有的版本库的
 
 
如果上述不行  试着把post-commit改成这样的内容
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update /phpstudy/www --username gxf --password 123456
看到了吗?只需要改红色部分!
 
注意:我是在www下使用的  svn checkout命令  所以直接指向www就可以了!!!!

svn搭建以及可能遇到的问题解决方案的更多相关文章

  1. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  2. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

  3. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  4. svn搭建

    原文:svn搭建 二.Subversion的安装与测试 Subversion的配置方式有很多种,同时也可以配置不同的操作系统之上,本文我讲解的是Subversion 1.5.4 for Apache2 ...

  5. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  6. Svn———搭建及配置

    一.Svn介绍 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows ...

  7. jenkins和svn搭建自动代码构建发布

    jenkins安装和配置 .安装jenkins .yum install java wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins. ...

  8. 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇

    版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...

  9. SVN使用出现的问题及解决方案

    SVN使用出现的问题及解决方案 一.问题描述: 使用TortoiseSVN-1.9.5进行CheckOut时,出现报错信息如下:  Unable to connect to a repository ...

随机推荐

  1. android关于The connection to adb is down, and a severe error has occured.这个问题的解决办法

    有时在打开模拟器的时候会出现The connection to adb is down, and a severe error has occured.这个问题,这个问题的解决办法有两个: 方法一:找 ...

  2. Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  3. [QT]抄—影像显示实验

    QtCreator新建一个Qt Application,命名为ImageView 在项目文件夹下添加gdal库,统一放在ImageView\gdal目录下. 右键单击项目,选择添加库命令,添加gdal ...

  4. Flask服务入门案例

    安装 pip install Flask 入门例子 from flask import Flask app = Flask(__name__) @app.route('/hello.world') d ...

  5. java获取泛型的真实类型

    ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass(); Type[] actualTyp ...

  6. spring 定时任务标注

    使用spring框架,需要定时任务只需要在方法上加@Component 就可以了 package hello; import java.text.SimpleDateFormat; import ja ...

  7. SQL SERVER2005 的三种复制类型概述

    一.事务复制 事务性复制通常从发布数据库对象和数据的快照开始.创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器.数据更改将按照其在发布服务器上 ...

  8. C++Primer STL算法

    //1.概览: // A:beg和end是表示元素范围的迭代器. // B:beg2是表示第二个输入序列开始位置的迭代器.end2表示第二个序列的末尾位置,若没有end2,则假定beg2表示的序列至少 ...

  9. Leetcode: Range Sum Query - Mutable && Summary: Segment Tree

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  10. win32 listbox

    real-time refresh: the scrollbar will jump when the listbox refresh change color: how to change the ...