文章目录
- 一、服务器搭建SVN
-
- 1.检查SVN是否存在
- 2.安装SVN
- 3.创建版本库
- 4.创建版本库存放文件地址
- 5.修改配置文件
-
- [5.1 vim authz](#5.1 vim authz)
- [5.2 vim passwd](#5.2 vim passwd)
- [5.3 vim svnserve.conf](#5.3 vim svnserve.conf)
- 6.启动并查看SVN
- [7.SVN Checkout](#7.SVN Checkout)
- [8.SVN Update](#8.SVN Update)
- [9.SVN Commit](#9.SVN Commit)
- 二、SVN-无法连接主机,目标计算机积极拒绝,无法连接
- 三、SVN备份、迁移
一、服务器搭建SVN
1.检查SVN是否存在
sh
[root@hadoop_zxy ~]# svn -version
-bash: svn: command not found
2.安装SVN
sh
[root@hadoop_zxy ~]# yum install subversion
Loaded plugins: fastestmirror, langpacks
Installed:
subversion.x86_64 0:1.7.14-16.el7
Dependency Installed:
gnutls.x86_64 0:3.3.29-9.el7_6 neon.x86_64 0:0.30.0-4.el7 nettle.x86_64 0:2.7.1-9.el7_9
pakchois.x86_64 0:0.4-10.el7 subversion-libs.x86_64 0:1.7.14-16.el7 trousers.x86_64 0:0.3.14-2.el7
Complete!
3.创建版本库
sh
[root@hadoop_zxy apps]# mkdir /zxy/apps/svn
[root@hadoop_zxy apps]# ls
elasticsearch-6.5.3 jdk1.8.0_311 kafka_2.11-1.1.1 kibana-6.5.3 scala-2.11.8 svn zookeeper-3.6.3
[root@hadoop_zxy apps]# cd svn
4.创建版本库存放文件地址
sh
[root@hadoop_zxy svn]# svnadmin create /zxy/apps/svn/repositories
5.修改配置文件
5.1 vim authz
新增以下部分:
/
用户名= rw
/\] 表示控制的路径是全部,用户名自定义, rw 表示的权限 可读写 ```sh [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 # [/] 用户名 = rw ~ ``` #### 5.2 vim passwd > 新增以下部分: > > 用户名 = 密码 用户名和密码处自定义 ```sh [users] # harry = harryssecret # sally = sallyssecret # 用户名 = 密码 ~ ``` #### 5.3 vim svnserve.conf > 释放并修改以下部分 > > anon-access = none > > auth-access = write > > password-db = passwd > > authz-db = authz > > realm = repositories ```sh ### 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.apache.org/ for more information. [general] ### The anon-access and auth-access options control access to the ### repository for unauthenticated (a.k.a. anonymous) users and ### authenticated users, respectively. ### Valid values are "write", "read", and "none". ### Setting the value to "none" prohibits both reading and writing; ### "read" allows read-only access, and "write" allows complete ### read/write access to the repository. ### The sample settings below are the defaults and specify that anonymous ### users have read-only access to the repository, while authenticated ### users have read and write access to the repository. 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 = 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 = repositories ### The force-username-case option causes svnserve to case-normalize ### usernames before comparing them against the authorization rules in the ### authz-db file configured above. Valid values are "upper" (to upper- ### case the usernames), "lower" (to lowercase the usernames), and ### "none" (to compare usernames as-is without case conversion, which ### is the default behavior). # force-username-case = none [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 ``` ### 6.启动并查看SVN ```sh [root@hadoop_zxy conf]# svnserve -d -r /zxy/apps/svn/ [root@hadoop_zxy conf]# netstat -apn | grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 7757/svnserve ``` ### 7.SVN Checkout > 用于初次下载项目  ### 8.SVN Update > 用于更新项目内容  ### 9.SVN Commit > 用于提交项目更改内容  ## 二、SVN-无法连接主机,目标计算机积极拒绝,无法连接  ### 1.检查SVN进程 > 发现SVN进程已经关闭,想起来前几天重启了一下服务器,SVN服务器没有设置开机自启 ```sh [root@hadoop_zxy ~]# ps -ef | grep svn root 3652 2079 0 11:31 pts/0 00:00:00 grep --color=auto svn ``` ### 2.手动启动SVN ```sh [root@hadoop_zxy ~]# svnserve -d -r/zxy/apps/svn [root@hadoop_zxy ~]# ps -ef | grep svn root 4690 1 0 11:33 ? 00:00:00 svnserve -d -r/zxy/apps/svn root 4707 2079 0 11:33 pts/0 00:00:00 grep --color=auto svn [root@hadoop_zxy ~]# ``` ### 3.重新尝试使用SVN  > 注意:大家在重启服务器后,一定要记得查看SVN的进程 ## 三、SVN备份、迁移 SVN需要`备份`,或者`SVN服务器迁移`,可以使用svnadmin的dump和load命令进行操作。 ### 1.将源SVN版本库文件备份 ```sh svnadmin dump /zxy/apps/svn/old > dataproject ``` ### 2.将备份文件发送到新的服务器 ```sh scp /zxy/apps/svn/dataproject root@ip:/zxy/apps/svn ``` ### 3.在目标服务器的SVN中创建版本库存放文件地址 新创建的版本库文件地址,需要修改相关的配置文件,参考第一章即可 ```sh svnadmin create /zxy/apps/svn/new svnadmin load /zxy/apps/svn/new < ./dataproject ```