【转】linux(Ubuntu)配置svn仓库,搭建svn服务器
原文网址:http://blog.1v2d.com/322.html
在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常实用,通俗易懂,可能做的过程会遇到问题,没事,大家慢慢研究,会成功的,文章我已做优化,就是我在搭建的过程出现的问题.
转自:dazeair
原文地址:http://dazeair.blog.51cto.com/4024187/1421178
系统:Ubuntu 12.04 64位 lnmp环境
集成软件:PHP5.4.27、Nginx1.6.0、MySQL5.5.37
阿里云服务器
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊。我这里是独立的服务器,svnserver。第一次接触感觉很麻烦,网上搜了很多,最后摸索出了一个适合阿里云服务器的环境配置方案。当然也适合普通服务器,linux系统。
--------------------------------------------------------------------------------------------------------------------------------------------
1,首先当然就是下载安装svnserver了
两种方法
# yum install subversion //centos系列 复制这行
# apt-get install subversion //ubuntu系列系统复制这行
2,然后就是创建svn仓库我是创建在 /var/svndata目录下www目录的,这里目录可以自己定。当然这个目录得提前创建好
# cd /var
# mkdir svndata
# cd svndata
# mkdir www
然后就是创建仓库了
# svnadmin create /var/svndata/www
修改配置文件
进入/var/svndata/www目录(这里的www目录不是网站的web目录,仓库名为www)
# cd /var/svndata/www
# ls
会看到conf、hooks、db等目录,我们会用到的也就conf(配置目录)hooks(设置钩子,后面会讲到)
进入conf目录
# cd www
首先配置svnserve.conf
# vim svnserve.conf
修改(把前面的#号去掉,配置后面的值,共修改五行代码,后面的值是修改过得,大家看清楚)
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = www
在passwd文件中添加用户,此步骤就是添加svn用户名和密码,
# vim passwd
[users]
admin = 123456
dazeair = 123456
user1 = 123456
user2 = 123456
这里设置了四个用户,分别为admin,dazeair,user1和user2。根据情况不同可以随意设置。
在authz中添加组和权限
# vim authz
[groups]
group1 = admin,dazeair #group1组里的成员
group2 = user1,user2
[/] #配置根目录的权限
admin =rw #admin用户对[/]目录的权限:r读,w写
@group1 = rw #@表示组,group1组有读写权限
@group2 = r #group2组只有r读权限
* = #这里表示其他用户无任何权限
[www:/user1] #配置根目录(www目录)下的user1文件夹的权限user1 = rw
[www:/user2] #配置user2文件夹的权限
user2 = rw
这里说明下,前面添加了四个用户,分了两个组,对于根目录group1拥有读写权限,而group2只有r权限。根目录(www目录)下有user1和user2两个文件夹,分别配置了user1和user2两个用户相应的权限。如不需要,可以不添加相应的代码。
启动svnserve
# svnserve -d -r /var/svndata/
也可以使用 --listen-port 参数指定端口(默认端口3690),启动多个仓库
正常情况下不会出现问题的,如出现请检查刚才的配置文件
导入项目项目目录为svn://localhost/www
创建svn仓库副本(nginx的读取目录,也就是web目录,我的web目录/var/www)
进入web目录
# cd /var
同步
svn co svn://localhost/www
显示如下
保存用户名与密码,实现之后的自动同步。
这里可能会出现 错误:svn:E170001;认证失败
还有可能出现找不到openssl错误,利用yum安装openssl和openssl-dev即可。
看到这个恭喜,已经搭建成功了。
设置svn更新后自动更新web目录
# cd /var/svndata/www/hooks/
里面会有很多.tmpl文件,这里我们只需要post-commit.tmpl文件,但这个文件只是模板文件,我们需要复制一份放在此目录下,命名为post-commit。此步骤很重要
# cp post-commit.tmpl post-commit
# vim post-commit
在文件的底部修改和添加
# "$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf # 注释掉这段代码
export LANG=zh_CN.UTF-8
export LANG=en_US.UTF-8
svn update --no-auth-cache --non-interactive /var/www #主要是这段代码,最后的地址是web地址
说明:
#!/bin/sh 说明是执行shell命令,不需要修改
export LANG=zh_CN.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8'
到这里自动更新也解决了,下一步就是开机自动启动。
实现开机自动启动
将svnserve -d -r /var/svndata/ 写入/etc/rc.local即可实现开机启动(一般在etc文件下,或者/etc/rc.d/文件夹下)
# vim /etc/rc.local
svnserve -d -r /var/svndata/
exit 0
ps:刚才配置的时候还有个user1之类的用户,user1只能管理user1目录,地址为svn://IP地址/www/user1
并且请保证文件有读写权限,chmod -R 777 /var/www
到这里所有大功告成,现在可以用客户端测试下了,一般都用TortoiseSVN,地址为svn://IP地址/www。
你的svn服务器搭建好了吗?是不是很简单。
大体就是这样,如果有问题,大家可以留言,
【转】linux(Ubuntu)配置svn仓库,搭建svn服务器的更多相关文章
- Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体
http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Ubuntu 14.04快速搭建SVN服务器及日常使用【转】
转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...
- Ubuntu 14.04快速搭建SVN服务器及日常使用
1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以很方面恢复到以前的版本,并可以查看数据更改 ...
- Linux(Centos7)下搭建SVN服务器
操作系统: CentOS 7.6 64位 第一步:通过yum命令安装svnserve,命令如下: 检测svn是否安装: rpm -qa subversion #检查现有版本,如果输入命令后没有提示的话 ...
- linux系统Centos环境下搭建SVN服务器及权限配置
linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍 至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...
- Linux(Centos)下搭建SVN服务器
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人,本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结! /******开始***** ...
- Linux(Centos7)下搭建SVN服务器 (转载)
系统环境:centos7.2 第一步:通过yum命令安装svnserve,命令如下: yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停 ...
- 【转】【Centos】Linux(Centos7)下搭建SVN服务器
系统环境:centos7.2 第一步:通过yum命令安装svnserve,命令如下: yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停 ...
随机推荐
- oracle 11g 报错记录
1.ORA-01034: ORACLE not available sqlplus "sys/password as sysdba" 2.ORA-00119: invalid sp ...
- 在Abp框架中使用Mysql数据库的方法以及相关问题小记
最近发现了一款DDD的框架 看起来不错,据说挺流弊的 刚好最近要弄点小东西,拿来试试也不错 苦于穷逼买不起高配服务器,只好装mysql数据库了 下面说下如何在该框架下使用Mysql数据库 打开项目后, ...
- Context是什么,怎么用
一.Context是什么 开始学安卓的时候发现经常有context,但是都不知道为什么,什么时候需要它. 官方文档概述:关于应用程序环境的全局信息的接口.这是一个抽象类,它的实现是由安卓系统提供的.它 ...
- android下面res目录
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件 ...
- 使用AsyncHttpClient碰到的问题及解决方法
之前做一个项目,项目里面的布局是这样的:一个Viewpager,Viewpager里面有三个Fragment,在第二个Fragment里面有一个ListView,使用了BaseAdapter来显示it ...
- A题笔记(9)
No.2283 No.1387 vector<vector<char> > before, after; 可以创建一个容器的容器,注意 char 后的两个 “>” ,之间 ...
- latch:cache buffers chains的优化思路
数据块在buffer cache存放是以linked list方式存放的.当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于bu ...
- 利用SQL进行推理
数据库环境:SQL SERVER 2008R2 有如下需求: Baker, Cooper, Fletcher, Miller and Smith住在一座房子的不同楼层.Baker 不住顶层.Coope ...
- Mysql中explain命令查看语句执行概况
Mysql中可以使用explain命令查看查询语句的执行方式,使用方法举例:explain + 查询语句 例如:explain select * from user_info 几个重要的字段说明: t ...
- 中文版Chrome浏览器不支持12px以下字体的解决方案
中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览器会默认设定页面的最小字号是12px,英文版则没有限制,主要是因为chrome认为汉字小于12px就会增 ...