linux系统上安装svn服务器 环境linux+nginx+svnserver
系统:Ubuntu 12.04 64位 lnmp环境
集成软件:PHP5.4.27、Nginx1.6.0、MySQL5.5.37
阿里云server
svnserver有2种执行方式:独立server和借助apache执行。
两种方式各有利弊。
我这里是独立的server,svnserver。第一次接触感觉非常麻烦,网上搜了非常多。最后摸索出了一个适合阿里云server的环境配置方案。当然也适合普通server,linux系统。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先当然就是下载安装svnserver了
两种方法
# yum install subversion
# apt-get install subversion
然后就是创建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文件里加入用户
# 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
显演示样例如以下
保存username和password,实现之后的自己主动同步。
这里可能会出现 错误:svn:E170001;认证失败
看到这个恭喜,已经搭建成功了。
设置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
到这里全部大功告成,如今能够用client測试下了,一般都用TortoiseSVN,地址为svn://IP地址/www。
你的svnserver搭建好了吗?是不是非常easy。
原创文章转载请注明:http://blog.dazeair.com/转载自:linux系统上安装svnserver
环境linux+nginx+svnserver
linux系统上安装svn服务器 环境linux+nginx+svnserver的更多相关文章
- CentOS 6.5系统上安装SVN服务器
有效地管理源代码的方式是使用工具去帮助我们管理 , SVN(Subversion)就是目前主流的源代码管理工具 , 也称为版本控制工具. 本文主要介绍CentOS6.5上安装SVN服务器,配置SVN服 ...
- 在Linux系统上安装配置ant环境
1.从官网http://ant.apache.org/bindownload.cgi下载tar.gz版ant到本地电脑上 2.通过WinSCP工具将本地电脑上的ant压缩包上传至Linux服务器的/u ...
- 阿里云服务器linux系统上 安装node环境
今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击 更换系统盘 选择linux 的centos版本(操作前需要 停止实例) 弄好后,启动实例 下面 ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis
一.引言 上一篇文章写了"如何安装VMware Pro虚拟机"和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我们才可以在该系统上安装Redis. ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)
Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...
- linux系统上安装java
linux系统上安装java 如何在ubuntu server上安装java(jre或jdk),主要注意以下几点: 1.下载你想要的java版本压缩包. JRE下载:http://java.com ...
- 在VMware的Linux系统上安装Redis
在VMware的Linux系统上安装Redis 具体过程如下: 下载,解压和编译: 在执行make的时候报错,具体报错信息如下: zmalloc.o: In function `zmalloc_use ...
- Linux系统上安装字体
最近项目中需要控制字体类型,然后就上网查了一下在linux系统上安装字体,在window上和linux上,字体要求一样,都是ttf格式,下面这是window上的字体截图 在linux系统中的/usr/ ...
- CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)
SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服 ...
随机推荐
- Install Qualcomm Development Environment
安裝 Android Development Environment http://www.cnblogs.com/youchihwang/p/6645880.html 除了上述還得安裝, sudo ...
- Tomcat是怎么工作的(1) -- 开篇
这是一个系列文章的第一篇. 标题还是费了点脑子才确定的,起什么名字比较好呢.Tomcat工作原理?深入浅出Tomcat运行机制?从零开始研究Tomcat?Tomcat是怎么运行起来的?Tomcat是如 ...
- 在Eclipse中打开Hadoop工程
1. 安装虚拟机,我用的是VMware Workstation 12 Player 2. 在VM中安装Ubuntu,我用的镜像文件是ubuntu-15.10-desktop-amd64.iso 3. ...
- FMDB使用SQLite事务Save Point
FMDB使用SQLite事务Save Point 在SQLite中,事务提供了批量处理,批量撤销的功能.当批量操作中有一步无法完成操作,就会把执行过的语句都撤销,恢复到撤销前的状态.但是由于SQL ...
- Nginx日志参数、location匹配规则、设置密码
1.三个参数 a)$http_referer:记录此次请求是从哪个链接访问过来的: 是直接访问,还是从其他网站跳转过来的. 例如:访问:http://www.etiantian.com/,其页面首页是 ...
- spring管理事务
2.1 事务管理器 Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现. Spring事务管理器 ...
- SQL-基础学习3--通配符:LIKE,%,(_); 拼接:+,||,concat;
第六课 用通配符进行过滤 6.1 LIKE操作符 通配符本身实际上是SQL的WHERE子句中有特殊含义的字符,SQL支持几种通配符.为在搜索子句中使用通配符,必须使用LIKE操作符.LIKE指示DB ...
- 为什么硬盘明明还有空间,linux却说硬盘空间不足?inode;mkdir: 无法创建目录"shen1": 设备上没有空间
现象:df -h显示硬盘还有14G空间,但是touch file/mkdir directory都失败,提示硬盘没有空间 原因:df -ia查看下inode的使用情况,发现已经爆了,(下图显示使用88 ...
- inputclean插件的使用方法
inputclean插件的使用方法 语言:javascript 是jquery插件, 目的:给文本框添加×,点击×,就可以清空文本框内容. 如图: 详细交互效果: 1,当文本框聚焦时,×永久显示,无论 ...
- 随想录(fatfs的学习)
[ 声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 上学的时候就对文件系统非常有兴趣.可是苦于没有合适的fs代码能够学习.市面上的fs代码,要么太 ...