centos下SVN搭建与使用

SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。

1、作为独立服务器运行:

①安装svn,使用本地yum源安装,操作系统镜像里自带的就有,yum install svn,具体步骤请参考http://ailurus.blog.51cto.com/4814469/1168336;

②创建版本库:

mkdir /svn/project        //创建版本库所在文件夹

svnadmin create --fs-type fsfs /svn/project/first

//创建版本库,如果需要使用bdb方式存储,则将fsfs改成bdb即可

③初始化版本库,即导入文件到版本库中:

svn import /home/software file:///svn/project/first --message "初始化版本"

//将home文件夹的文件导入版本库

svn list --verbose file:///svn/project/first  //查看导入的文件

④启动svn服务,svn服务默认端口为3690,可以使用“netstat -ntlp”命令查看服务启动是否成功:

svnserve -d -r /svn/project

⑤修改策略控制文件,vi authz,如果以后要添加用户,就将用户名加在相应的用户组(admin或者user)后面即可:

### This file is an example authorization file for svnserve.

### Its format is identical to that of mod_authz_svn authorization

### files.

### As shown below each section defines authorizations for the path and

### (optional) repository specified by the section name.

### The authorizations follow. An authorization line can refer to:

###  - a single user,

###  - a group of users defined in a special [groups] section,

###  - an alias defined in a special [aliases] section,

###  - all authenticated users, using the ‘$authenticated‘ token,

###  - only anonymous users, using the ‘$anonymous‘ token,

###  - anyone, using the ‘*‘ wildcard.

###

### A match can be inverted by prefixing the rule with ‘~‘. Rules can

### grant read (‘r‘) access, read-write (‘rw‘) access, or no access

### (‘‘).

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

admin=first,second,third             //用户组admin包含的成员

user=anyone                          //用户组user包含的成员

# [/foo/bar]

# harry = rw

# &joe = r

# * =

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[/]

@admin=rw                         //用户组admin内成员拥有读写权限

@user=r                           //用户组user内成员拥有读权限

⑥添加svn访问用户,vi passwd,为authz里分配的用户设置密码,等号左边为用户名,等号右边是密码;

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

first=first

second=second

third=third

anyone=anyone

⑦修改svn读取的权限策略文件,vi /svn/project/first/conf/svnserve.conf:

anon-access = none    //不允许匿名用户读写

auth-access = write

password-db = passwd  //svn读取的passwd文件

authz-db = authz      //svn读取的权限控制文件

⑧安装svn客户端,就可以使用客户端通过如下的url就可以访问了:

svn://IP地址/svn/project/first

2、借助apache服务器,通过web端访问svn:

①给apache服务器安装两个svn插件,这两个插件同样可以使用yum安装:

yum install mod_dav_svn     //使subversion与dav模块通信的功能

yum install mod_authz_svn   //实现权限控制功能

②使用命令“httpd -M”可以查看是否加载这两个模块,如加载,则有如下回应:

Loaded Modules:

core_module (static)

mpm_prefork_module (static)

http_module (static)

so_module (static)

auth_basic_module (shared)

auth_digest_module (shared)

authn_file_module (shared)

authn_alias_module (shared)

authn_anon_module (shared)

authn_dbm_module (shared)

authn_default_module (shared)

authz_host_module (shared)

authz_user_module (shared)

authz_owner_module (shared)

authz_groupfile_module (shared)

authz_dbm_module (shared)

authz_default_module (shared)

ldap_module (shared)

authnz_ldap_module (shared)

include_module (shared)

log_config_module (shared)

logio_module (shared)

env_module (shared)

ext_filter_module (shared)

mime_magic_module (shared)

expires_module (shared)

deflate_module (shared)

headers_module (shared)

usertrack_module (shared)

setenvif_module (shared)

mime_module (shared)

dav_module (shared)

status_module (shared)

autoindex_module (shared)

info_module (shared)

dav_fs_module (shared)

vhost_alias_module (shared)

negotiation_module (shared)

dir_module (shared)

actions_module (shared)

speling_module (shared)

userdir_module (shared)

alias_module (shared)

substitute_module (shared)

rewrite_module (shared)

proxy_module (shared)

proxy_balancer_module (shared)

proxy_ftp_module (shared)

proxy_http_module (shared)

proxy_ajp_module (shared)

proxy_connect_module (shared)

cache_module (shared)

suexec_module (shared)

disk_cache_module (shared)

cgi_module (shared)

version_module (shared)

authz_ldap_module (shared)

dav_svn_module (shared)

authz_svn_module (shared)

Syntax OK

③编辑apache服务配置文件vi /etc/httpd/conf/httpd.conf,加入下面几行:

<Location /svn>

DAV svn

SVNPath /svn/project/zbw

AuthzSVNAccessFile /etc/httpd/conf.d/authz

//apache服务器读取的权限策略文件

AuthType Basic

AuthName "Project"

AuthUserFile /etc/httpd/conf.d/passwd

//apache服务器读取的密码存储文件

Require valid-user

④编辑文件authz放在文件夹/etc/httpd/conf.d中,文件格式同文章上面的那个authz文件,编辑文件passwd放在文件夹/etc/httpd/conf.d中,使用如下命令生成用户名和密码:

htpasswd -c /svn/project/first admin

//命令为htpasswd,-c为参数,/svn/project/first为访问的版本库,admin为用户名

然后重复输入你想设置的密码就可以自动存储在文件passwd中,默认为md5存储。

⑤重启apache服务,就可以在网页端使用刚才设置的用户名密码访问了,网址为http://192.168.2.100:8088/svn.

时间: 2024-10-11 08:25:13

centos下SVN搭建与使用的相关文章

centos下SVN搭建

1.安装SVNyum -y install subversion 2.代码库创建mkdir -p /alidisk/opt/svn/repo1svn admin create /alidisk/opt/svn/repo1 3.编辑配置文件cd /alidisk/opt/svn/repo1/confvi passwd 增加账号 test=123456vi authz [/] test=rwvi svnserve.conf auth-access=write password-db=passwd a

linux下svn 搭建

linux 下SVN搭建加自动提交更新到指定目录 一.安装 #yum install subversion    yum安装SVN #mkdir -p /opt/svn/repos    创建svn目录 #svnadmin create /opt/svn/repos  生成SVN配置文件 二.编辑配置文件 #vim /opt/svn/repos/conf/passwd [users]# harry = harryssecret# sally = sallyssecretnxeon = 123用户

centos下如何搭建pptp service(vpn)

其实这些东西应该一弄完就写就比较清楚了,都弄完好久了再写,可能有些地方没写到,希望看到的童鞋帮忙补充,我再更新,有错误请批评指正. 一.Why? 我们可能很多人都喜欢用一些免费的vpn,那样起码随用随有,但是免费的终究是免费的,不会太稳定,每天爬梯子都得重新找梯子,不费劲么,所以们还不如造一个属于自己的梯子,那多稳定,可能贷款没那么大,但是终究没人和你抢有木有. 二.Where? 说道搭建,那咱们首先得有一个自己VPS(Virtual Private Server 虚拟专用服务器),这样才能搭建

CentOS下Hive搭建

目录 1. 前言 2. MySQL安装 2.1 更换yum下载源 2.2 开启MySQL远程登录 3. Hive安装 3.1 下载Hive 3.2 安装Hive和更改配置文件 4. MySQL驱动包的下载 5. 启动与测试 1. 前言 前提是已经安装好了hadoop,我的hadoop搭建主要参考CSDN的博客,当然此次Hive环境的搭建主要也是参考这位博主的另外一个博客.不过我想将搭配过程中他的博客没有提到的几个点记录下来. 2. MySQL安装 主要参考的是这篇博客的,但是出现的第一个问题就是

一、redis系列之基础知识与centos下环境搭建

1. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. Redis支持数据的备份,即master-slave模式的数据备份. 2. Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行. 3.Redis支持五种数据类型:string(

CentOS下快速搭建SVN服务器

不说原理,只讲步骤,用最快捷的方法把服务搭建起来. 1.本文使用的系统环境# uname -r 2.6.32-642.11.1.el6.x86_64# cat /etc/system-releaseCentOS release 6.8 (Final) 2.更新系统# yum -y update 3.安装subversion,并查看安装状态# yum -y install subversion# rpm -ql subversion 可以输入命令试试# svn --help 4.配置系统服务创建版

阿里云(centos)下svn 服务器搭建

安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[[email protected] /]# rpm -qa subversion #卸载旧版本SVN[[email protected] modules]# yum remove subversion 安装SVN [[email protected] modules]# yum install subversion 确认已安装了svn模块 svn --ve

CentOS下快速搭建SVN并创建版本库

安装svn服务: yum -y install svn mkdir /home/svn 创建svn版本库: <project> 版本库项目名称 <username> 用户名 <password> 密码 以下代码为创建版本库并添加一个用户的脚本 cd ~ mkdir -p ./temp/trunk mkdir -p ./temp/branches mkdir -p ./temp/tags svnadmin create /home/svn/<project>

CentOS6.7环境下SVN搭建与客户端链接

环境:CentOS 6.7系统,安装办法:yum 1. rpm –qa | grep subversion//查看是否有安装了subversion,想卸载就把他卸载了 yum remove subversion//卸载 yum install -y subversion  httpd  mod_dav_svn//安装对应的包和模块 svnserve –version//检查是否成功安装,输出如下即为安装成功 2. 创建svn用户 useradd -s /sbin/nologin  svn 3.