centOS linux64 svn服务器搭建

前端之家收集整理的这篇文章主要介绍了centOS linux64 svn服务器搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.首先 看看机器上安装了svn了没有

rpm -qa |grep svn

2.如果没有安装 执行

yum -y install subversion

3.安装好了之后 新建一个svn目录

mkdir /home/svn

4.新建一个版本仓库

svnadmincreate /home/svn/project

红色部分是版本仓库名 在配置文件中会使用的

5.将你需要放在svn上的工程 放进project目录中

6.初始化一下你的版本仓库

svn import需要放到svn上的文件夹/ file:///home/svn/project -m “版本说明” --username xx --password xx

这里需要注意的是 如果后边不加用户名和密码 可能导致 客户端在使用的时候 update时不需要输入用户名和密码就可以update

7.添加用户

添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:

例子:

[root@instance-c1i01r62 conf]# cat 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

lvxxx = lvxxx
lxx= lxx


[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw

8.修改用户访问策略

例子:
root@instance-c1i01r62 conf]# cat 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,0)">### - an alias defined in a special [aliases] section,0)">### - all authenticated users,using the '$authenticated' token,0)">### - only anonymous users,using the '$anonymous' token,0)">### - 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]
project_p = lvxxx,lxx
[project:/]
@project_p = rw
* =

# 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

/home/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
project_p = pm

#[project:/]如果你的仓库下边就一个版本的话就不需要使用xxx直接一个斜杠就完事

:/xxx]如果你的仓库下边有多个版本的话xxx就是那个文件夹的名字

#上边这2个根据自己情况选一个
@project_p = rw
* =

说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上

9.修改svnserve.conf文件,让用户和策略配置升效.

例子:
[root@instance-c1i01r62 conf]# cat 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 = none
auth-access = write

### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,0)">### 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 = /home/svn/project/conf/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 = /home/svn/project/conf/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
[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

svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz

10.启动服务器

# svnserve -d -r /home/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:

# ps -aux|grep svnserve
# kill -9 ID

# svnserve -d -r /home/svn

11.测试服务器

# svn co svn://192.168.x.x/project

[root@instance-c1i01r62 conf]# svn co svn://180.76.178.117/project
认证领域: <svn://150.176.170.157:3690> b1b02406-4881-4dd8-b69b-fb686d1a1fb1
“root”的密码: 服务器的密码
认证领域: <svn://150.176.170.157:3690> b1b02406-4881-4dd8-b69b-fb686d1a1fb1
用户名: lzq
“lzq”的密码: svn里面的用户密码
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
保存未加密的密码(yes/no)?yes
取出版本 0。

输出0测试成功。

这个时候在windows的svn客户端:点击checkout输入


12.到此为止 独立svn服务器就建立好了

原文链接:https://www.f2er.com/centos/381158.html

猜你在找的CentOS相关文章