Linux下配置SVN
1、安装svn
yum -y install subversion
2、创建SVN版本库目录
mkdir -p /var/svn/svnrepos
(-p参数:如果没有这个目录,则创建这个目录)
3、创建版本库
svnadmin create /var/svn/svnrepos
(这个"/var/svn/svnrepos"目录就是我们的版本库目录所在,后面的一系列配置需要用到这个目录)
4、进入/var/svn/svnrepos/conf/svnserve.conf
打开下面的几个注释(将注释符合前面的空格都删掉):
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
5、启动svn版本库
svnserve -d -r /var/svn/svnrepos
6、设置账号密码
vim /var/svn/svnrepos/conf/passwd
在[users]块中添加用户和密码,格式:帐号 = 密码(记得“等号”两边的空格),如cly = 123
7、设置权限
vim /var/svn/svnrepos/conf/authz
在[groups]块中添加如下代码(将用户放入统一的用户组):
组名=用户1,用户2,,用户3
之后在末尾再建一个[/]块(里面对之前定义的用户组赋予权限):
@组名 = rw
* = r
8、同步更新web目录
一、
svn://xxx.xx.xx.xx/svnrepos
这是一个完整的版本库路径,其中svnrepos是svn版本库的名字,通过这个路径可以选择某个版本库
二、
我们每次检出只能检出svn版本库里面的文件夹。
比如:
选择svn://xxx.xx.xx.xx/svnrepos后,看到里面有A,B,C三个文件夹。
此时若检出"svn://xxx.xx.xx.xx/svnrepos"路径,则会形成svnrepos文件夹,里面有A、B、C三个文件夹
若检出"svn://xxx.xx.xx.xx/svnrepos/A"路径,则会形成A文件夹,里面有A文件夹的内容
知道以上两点后就可以开始配置了。
当我们上传web代码到svn上时,我们肯定希望代码能同步更新到服务器的www文件夹里,这时候就要用到“钩子程序”,自动将代码checkout到服务器的web目录,过程如下:
一、
在svn中创建一个版本(在pc端写好程序,然后提交给svn作为初始版本)
二、
将设置post-commit文件的权限设置为777
四、
到你想要存放代码的目录中(如/var/www/html),检出svn,
如:# svn checkout svn://xxx.xx.xx.xx/svnrepos
(依照不同的检出方式会生成不同的文件夹)
三、
在/var/svn/svnrepos/hooks中找到post-commit.tmpl文件,将它在当前目录复制一个,并重新命名为“post-commit”。
之后删除post-commit文件里面所有的内容,重新填写如下内容:
#!/bin/sh
REPOS="$1"
REV="$2"
TXN_NAME="$3"
WEB=/var/www/html/svnrepos
(这个目录的填写比较重要,如果你在/var/www/html目录里检出后生成了svnrepos文件夹,则此处填/var/www/html/svnrepos,如果用svn checkout svn://xxx.xx.xx.xx/svnrepos/A语句检出,则会生成A文件夹(不会生成外面的svnrepos文件夹),则此处填/var/www/html/A)
export LANG=en_US.UTF-8
svn update $WEB --username alps --password chen #alps是svn的用户名,chen是svn密码,自己换成自己的。
9、关于连接svn时的一些常见错误
svn: E170001 Authorization failed
这个错误一般是用户访问权限不足所导致
比如在上面的实例中,/var/svn/svnrepos/conf/authz中的末尾[/]块,如果改成其他路径(如[/vra/svn/svnrepos]),那么在连接svn时就会报这个错
如此这样设置下来,svn的地址为“svn://服务器ip地址/svnrepos”
Linux下配置SVN的更多相关文章
- linux 下配置svn
1.以前配置好的,没做笔记,忘记了.现在重新回忆 查找svn目录:find / -name svn 找到/projects/svn cd /projects/svn 看里面的配置: 查看配置 [roo ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- linux下安装svn
linux下SVN服务器如何搭建和使用 | 浏览:12117 | 更新:2013-09-18 14:28 | 标签:linux linux下SVN服务器如何搭建和使用?说到SVN服务器,想必大家都知道 ...
- Linux下的SVN服务器搭建(转)
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此 ...
- SVN CentOS7 下配置svn的安装及基础配置介绍
CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一. 实践环境 CentOS 7操作系统(CentO ...
- Linux下配置多个tomcat多个域名
Linux下配置多个tomcat多个域名复制tomcat:mkdir /home/server/testcp -rf /home/server/shichuan/* /home/server/test ...
- Linux下安装SVN,仓库创建,用户权限管理
Exported from Notepad++ Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...
- 如何在linux下搭建svn服务
• 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...
- linux下创建svn仓库及用户
1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1. ...
随机推荐
- 细说static关键字及其应用
场景 先看段代码,考虑以下场景,其运行结果是什么? public class Test { static int i = 8; public void printI() { int i = 88; S ...
- DSP using MATLAB示例Example3.16
代码: b = [0.0181, 0.0543, 0.0543, 0.0181]; % filter coefficient array b a = [1.0000, -1.7600, 1.1829, ...
- 20145223《Java程序程序设计》实验一实验报告
实验一 Java开发环境的熟悉(Windows + IDE) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDE 编辑.编译.运行.调试Java程序. 实验步骤 (一)命令行下Ja ...
- jquery mousewheel
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js&quo ...
- wcf,socket,数据传输方式
WCF的最终目标是通过进程或不同的系统.通过本地网络或是通过Internet收发客户和服务之间的消息. WCF合并了Web服务..net Remoting.消息队列和Enterprise Servic ...
- JS实现选择不同select标签option值的验证
js实现不同select标签option值的验证 功能描述: 选择中文时,匹配中文的正则表达式,选择英文选项是匹配英文的表达式,并且有对应的提示信息. html代码片段: <select id= ...
- JavaScript实现li隔行变色
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- HDU4888 Redraw Beautiful Drawings(最大流唯一性判定:残量网络删边判环)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4888 Description Alice and Bob are playing toget ...
- BZOJ4623 : Styx
$g$是积性函数,可以通过分解质因数在$O(n\log n \log\log n)$的时间内求出. 对于$((A\times B)\times C)\times D$,可以转化为$D\times (C ...
- Oracle 存储过程学习
转自:http://blog.chinaunix.net/uid-20495387-id-174394.html http://www.cnblogs.com/rootq/articles/11000 ...