学习笔记 (Linux下subversion服务端多版本库配置) [第五课]
2014-02-18 16:44
399 查看
版本控制软件是C/S模式的软件,有服务器端和客户端,这里说的是在Linux上安装Subversion的服务器端,提供版本控制服务功能。
使用下面的命令安装:yum install subversion
安装之后使用下面的命令查看是否安装成功: svnserve --version
此时,并没有启动subversion的服务 svnserve
说明:在centos下启动svnserve的方式有两种:
services svnserve start 或者是 /etc/rc.d/init.d/svnserve start (这种方式是标准的,通用的)
但是我们并不使用这种方法启动,因为这样启动的是默认方式,我们要实现的目标是:启动svnserve,使之同时控制多个版本库,同时所有版本库使用相同的配置文件,又该如何实现?
使用下面的命令可以创建版本库
svnadmin create /data/repo_cms
svnadmin create /data/repo_bbs
svnadmin create /data/repo_blog
这样我们就创建了3个版本库,然后创建配置文件保存目录,mkdir /data/conf
为了方便起见,你可以直接将之前创建的3个版本库中的任何一个版本库下面的conf目录下面的文件拷贝到你新创建的 /data/conf目录下面,
里面有三个文件,分别是 passwd、authz和svnserve.conf
passwd 用户名密码保存文件
authz 认证信息保存文件,可以对用户,用户组等配置权限
svnserve.conf 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
#根据自己实际情况在下面添加用户
#格式为 用户名 = 密码
#要求是每行一个用户
svnuser = svnuser
authz 文件
### 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
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
# 下面是自己添加的授权信息,[/] 表示版本库根目录 svnuser = rw 表示 用户 svnuser 对版本库根目录有读写权限
[/]
svnuser = rw
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
### Visit http://subversion.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file. If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
# realm = My First Repository
realm = repo_cms
[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256
取消上面蓝色标出的五行的注释,并将realm的值设置为其中一个存在的版本库作为默认版本库,这里是设置成了realm=repo_cms
svnserve -d -r /data/ --config-file=/data/conf/svnserve.conf
启动说明:
svnserve :版本控制服务进程名称
-d 表示启动后成为守护进程,在后台运行
-r 表示指定svnserve版本库控制的根目录是 /data/
--config-file=配置文件路径 表示使用指定的配置文件启动svnserve
这样就实现了通过一个配置文件控制多个版本库的目的了
===============================================================================================
然后在客户端使用svn客户端软件连接访问即可。
说明:
我们一般情况下如果只是使用一个版本库,可以直接安装subversion后,使用/ect/rc.d/init.d/svnserve statr启动服务
使用svnadmin create 创建版本库,然后直接通过修改创建的版本库里面的conf文件夹下面的配置文件配置该库的属性和权限
然后使用客户端连接就可以了。
这样如果要创建多个版本库,只需要多次使用svnadmin create创建就可以了,并且默认情况下面每个版本库使用自己的conf目录下面的配置文件进行配置。
subversion安装
先使用下面的命令查看系统是否已经安装了subversion:rpm -qa | grep subversion使用下面的命令安装:yum install subversion
安装之后使用下面的命令查看是否安装成功: svnserve --version
此时,并没有启动subversion的服务 svnserve
说明:在centos下启动svnserve的方式有两种:
services svnserve start 或者是 /etc/rc.d/init.d/svnserve start (这种方式是标准的,通用的)
但是我们并不使用这种方法启动,因为这样启动的是默认方式,我们要实现的目标是:启动svnserve,使之同时控制多个版本库,同时所有版本库使用相同的配置文件,又该如何实现?
创建多个版本库
假设我们的版本库全部放到 /data/目录下面使用下面的命令可以创建版本库
svnadmin create /data/repo_cms
svnadmin create /data/repo_bbs
svnadmin create /data/repo_blog
这样我们就创建了3个版本库,然后创建配置文件保存目录,mkdir /data/conf
为了方便起见,你可以直接将之前创建的3个版本库中的任何一个版本库下面的conf目录下面的文件拷贝到你新创建的 /data/conf目录下面,
里面有三个文件,分别是 passwd、authz和svnserve.conf
passwd 用户名密码保存文件
authz 认证信息保存文件,可以对用户,用户组等配置权限
svnserve.conf svnserve服务主配置文件
设置配置文件信息
下面分别给出3个文件的参考内容,你可以根据自己的情况对下面配置内容进行修改passwd文件
### 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
#根据自己实际情况在下面添加用户
#格式为 用户名 = 密码
#要求是每行一个用户
svnuser = svnuser
authz 文件
### 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
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
# 下面是自己添加的授权信息,[/] 表示版本库根目录 svnuser = rw 表示 用户 svnuser 对版本库根目录有读写权限
[/]
svnuser = rw
svnserve.conf 文件
### This file controls the configuration of the svnserve daemon, if you### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
### Visit http://subversion.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file. If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
# realm = My First Repository
realm = repo_cms
[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256
取消上面蓝色标出的五行的注释,并将realm的值设置为其中一个存在的版本库作为默认版本库,这里是设置成了realm=repo_cms
启动版本控制服务
使用下面的命令启动版本控制服务,这样就可以实现一套配置文件可以控制多个版本库系统svnserve -d -r /data/ --config-file=/data/conf/svnserve.conf
启动说明:
svnserve :版本控制服务进程名称
-d 表示启动后成为守护进程,在后台运行
-r 表示指定svnserve版本库控制的根目录是 /data/
--config-file=配置文件路径 表示使用指定的配置文件启动svnserve
这样就实现了通过一个配置文件控制多个版本库的目的了
===============================================================================================
然后在客户端使用svn客户端软件连接访问即可。
说明:
我们一般情况下如果只是使用一个版本库,可以直接安装subversion后,使用/ect/rc.d/init.d/svnserve statr启动服务
使用svnadmin create 创建版本库,然后直接通过修改创建的版本库里面的conf文件夹下面的配置文件配置该库的属性和权限
然后使用客户端连接就可以了。
这样如果要创建多个版本库,只需要多次使用svnadmin create创建就可以了,并且默认情况下面每个版本库使用自己的conf目录下面的配置文件进行配置。
相关文章推荐
- Linux:Subversion服务端安装及配置
- Linux下jira+Apache2+Subversion+viewvc配置详解(一):subversion版本库搭建
- Linux 下 Subversion 版本管理工具 配置和使用
- linux下svn(subversion)服务端添加工程及配置权限
- Linux配置SVN服务端
- linux下多版本python环境配置
- 我的linux之路[第六篇] 在CentOS7.3中安装配置Apache2.4+Subversion1.9.5版本库
- linux架设subversion(svn)版本控制
- linux下的subversion 配置
- 在RedHat Enterprise Linux server 5.4下安装配置SubVersion
- Linux中利用Subversion进行版本控制
- 查看linux机器配置&内核版本
- LINUX下Subversion安装配置
- Linux 安装配置Subversion edge
- Linux有问必答:如何检查MariaDB服务端版本
- 文件服务器 之 Debian下配置使用Subversion版本控制服务器
- linux架设subversion(svn)版本控制
- linux下单独配置subversion方法
- linux下配置jdk环境变量以及查看java版本
- Linux-Ubuntu下配置 Github ,使用 git命令操作进行版本控制