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, ### - 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] 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 直接一个斜杠就完事
#[project:/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 /,
### 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://150.176.170.157:3690> b1b02406-4881-4dd8-b69b-fb686d1a1fb1 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion 可以保存加密后的密码。请参阅文档以获得详细信息。 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”, 来避免再次出现此警告。 ----------------------------------------------------------------------- 保存未加密的密码(yes/no)?yes 取出版本 0。
输出0测试成功。
这个时候在windows的svn客户端:点击checkout输入
12.到此为止 独立svn服务器就建立好了
转载请注明原文地址: https://ju.6miu.com/read-1310082.html