linux安装svn服务端不使用apache
一、安装
1.查看是否安装cvs
rpm -qa | grep subversion
2.安装
yum install subversion
3.测试是否安装成功
/usr/bin/svnserve --version
如果提示/usr/bin/svnserve: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
出现这个错误的原因就是svnserver在编译时是加了apache支持的,现在无法找到apr-util库,一般情况下我们将apache的lib目录加入到系统的lib路径中就可以了(查到方法 find / -name libaprutil-1.so.0)
然后我们打开/etc/ld.so.conf文件,并加入上面两个目录下的lib路径到文件中,如下:
# vi /etc/ld.so.conf
/www/wdlinux/httpd-2.2.22/lib/
在文件的最后加入上面的指定路径即可,然后更新下:
ldconfig -v
如提示以下内容,说明已安装成功
--------------------------------------
svnserve,版本1.6.11 (r934486)
编译于Apr 11 2013,17:28:04
版权所有(C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅http://subversion.tigris.org/ 站点。
此产品包含由CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
--------------------------------------------------------------
二、配置
1、新建一个版本仓库(使用svnadmin create 创建目录仓库路径)
svnadmin create /www/svndata/project
2、修改svn版本库的配置文件
vi /www/svndata/project/conf/svnserve.conf
按以下格式内容修改,其中realm的值为项目名称,本例中即为project。
[general]
anon-access = none(这里必须修改为none负责日志不会记录)
auth-access = write
password-db = /www/svndata/project/conf/passwd
authz-db = /www/svndata/project/conf/authz
realm = repos
注意:对用户配置文件的修改立即生效,不必重启svn。
3、添加用户
vi /www/svndata/project/conf/passwd
要添加SVN用户非常简单,只需在/web_data/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。
为了测试,我添加了如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw
4、修改用户访问策略
vi /www/svndata/project/conf/authz
记录用户的访问策略,以下是参考:
[groups]
project_p = pm
project_s = server_group
project_c = client_group
project_t = test_group
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = rw
@project_c = rw
@project_t = rw
* =
以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录。
当然,以上是比较复杂的权限控制,如果只是测试,可以简单些。建立一个用户组,把所有的用户都放到一个用户组,如下:
[groups]
admin = pm,server_group,client_group,test_group
[/]
@admin = rw
三、启动svn
输入命令:
svnserve -d -r /www/svndata 如果不能启动请重启服务器
后面那个要跟你自己的数据仓库目录。
这样我们就启动了SVN了,SVN默认监听的是3690。
有时候我们需要更改一下监听的端口,这时就需要设定一下监听端口了,按照如下命令来进行:
svnserve --listen-port 9999 -d -r /opt/svndata
这样我们就把监听端口改成了9999了,当然你也可以可以把9999改成你自己想监听的端口~
四、测试svn服务器
进入网站根目录
cd /www/web/repos/public_html
svn co svn://127.0.0.1:3690/project /www/web/repos/public_html --username pm --password pm_pw
会出现以下认证的提示
保存未加密的密码(yes/no)?
输入“yes” 回车,因为版本仓库还没有添加任何文件,所以取出版本为0,如下:
取出版本0。
五、把svn的bin目录加入到环境变量之中
六、配置post-commit,实现自动同步svn版本库文件到web目录
为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,进入hooks目录,
cd /www/svndata/project/hooks
ls
可以看到有一个post-commit.tmpl文件,这是一个模板文件,复制一份放在此目录下,命名为post-commit
svn: 提交失败(细节见下):
svn: 无法使用外部编辑器取得日志信息;请尝试设定 $SVN_EDITOR 环境变数,或是使用 --message (-m) 或 --file (-F) 选项
svn: 没有一个 SVN_EDITOR,VISUAL 或 EDITOR 环境变数被设定,执行时期的设定中也没有 'editor-cmd' 选项
解决方法: 设置vim为你的SVM_EDITOR
命令:
export
SVN_EDITOR=vi
如果希望该环境变量能永久生效,把以下这行添加到你的个人文档目录下的.bash_profile文件中即可。文件路径~/.bash_profile
export
SVN_EDITOR=vi
linux安装svn服务端不使用apache的更多相关文章
- 最全Linux搭建SVN服务端教程
文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...
- suse安装svn服务端和客户端的使用
suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...
- Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题
Linux安装svn服务 ** 示例都是用的root权限,可选择用 sudo** 1:检查 安装条件为:Linux(centos)上未安装过svn服务,若安装过或安装失败请自行删除,这里不多介绍.检查 ...
- Linux下安装SVN服务端
安装 使用yum安装非常简单: yum install subversion 配置 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下 ...
- CentOS7下安装SVN服务端
CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...
- CentOS 7 安装SVN服务端
CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...
- Linux下安装SVN服务端小白教程
安装 使用yum安装非常简单: yum install subversion 配置 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成 ...
- linux 搭建SVN服务端
搞了个服务器,然后现在想搞点事情,于是乎整个SVN在上面,算是熟悉下svn的操作过程 以下内容转载自: https://yq.aliyun.com/articles/6693 ------------ ...
- CentOs linux安装SVN服务
SVN服务器有2种运行方式:1.独立服务器(例如:svn://xxx.com/xxx):2.借助apache (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选择 ...
随机推荐
- Unable to execute dex: Multiple dex files define Lcom/gl
[2015-04-16 17:42:04 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/gl/softphon ...
- ios 开发之 Xcode6 No valid signing identities (i.e. certificate and private key pair) matching...
之前的项目用证书真机测试过,我想再无证书Build,出现下面的报错提示! 下面的team我无法改成None!一点击None选的还是Unhonw name(JPGE28K3W9)这个是报错的关键 最后由 ...
- djangoadmin导出csv
from django.contrib import admin from .models import Order,OrderItem from django.http import HttpRes ...
- python网络编程socket之多进程
#coding:utf-8 __author__ = 'similarface' import os,socket,threading,SocketServer SERVER_HOST='localh ...
- MEAN-全栈javascript开发框架
引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB.ExpressJS,AngularJS和Node.js越来越受到欢迎,其开发的灵活性和易用性加快开发效率, ...
- 记一次基于Unity的Profiler性能分析
A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和.用于 ...
- 关于OneProxy推广
通过以下关键字 分库分表,读写分离,连接池,跨库查询,开源数据库,MySQL,高性能,并行查询 在搜索引擎中,都找不到OneProxy和OneSQL的影子
- 如何精确地测量java对象的大小-底层instrument API
转载: 如何精确地测量java对象的大小-底层instrument API 关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象 ...
- 关于GET请求带Body的问题
今天在进行接口联调时遇到这个问题了,当时是很茫然的,因为从来没遇过. 后来又搜索了一下GET和Post的区别. 然后看见了这篇文章.不再以讹传讹,GET和POST的真正区别 我有限的知识还是无法去确定 ...
- 素定位器(ElementLocators)
元素定位器(ElementLocators)告诉Selenium是向HTML中的哪一个元素发送命令.一个定位器的格式如下:locatorType=argument 我们支持如下写法用于定位元素:ide ...