【SVN】02 环境搭建
一些资料:
Windows下的 Server + Client 环境搭建:
https://www.acfun.cn/v/ac17274924_84
但是一般情况是Linux系统作为服务端
https://www.cnblogs.com/-mrl/p/8980244.html
一、Linux服务端搭建
检查Linux系统是否存在Subversion
svn --version
有则会输出显示,没有则找不到该命令
[root@VM-0-7-centos ~]# svn --version svn, version 1.7.14 (r1542130) compiled Apr 11 2018, 02:40:28 Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme [root@VM-0-7-centos ~]#
Linux 安装SVN服务
yum install subversion -y
yum安装输出
[root@VM-0-7-centos ~]# yum -y install subversion Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile docker-ce-stable | 3.5 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 os | 3.6 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): epel/7/x86_64/updateinfo | 1.0 MB 00:00:00 (2/2): epel/7/x86_64/primary_db | 6.9 MB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package subversion.x86_64 0:1.7.14-14.el7 will be installed --> Processing Dependency: subversion-libs(x86-64) = 1.7.14-14.el7 for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_wc-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_subr-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_repos-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_svn-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_neon-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra_local-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_ra-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_util-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_fs-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs_base-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_fs-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_diff-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_delta-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libsvn_client-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libneon.so.27()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: subversion-1.7.14-14.el7.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-5.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package neon.x86_64 0:0.30.0-4.el7 will be installed --> Processing Dependency: libgnutls.so.28(GNUTLS_3_0_0)(64bit) for package: neon-0.30.0-4.el7.x86_64 --> Processing Dependency: libgnutls.so.28(GNUTLS_2_12)(64bit) for package: neon-0.30.0-4.el7.x86_64 --> Processing Dependency: libgnutls.so.28(GNUTLS_1_4)(64bit) for package: neon-0.30.0-4.el7.x86_64 --> Processing Dependency: libpakchois.so.0()(64bit) for package: neon-0.30.0-4.el7.x86_64 --> Processing Dependency: libgnutls.so.28()(64bit) for package: neon-0.30.0-4.el7.x86_64 ---> Package subversion-libs.x86_64 0:1.7.14-14.el7 will be installed --> Running transaction check ---> Package gnutls.x86_64 0:3.3.29-9.el7_6 will be installed --> Processing Dependency: trousers >= 0.3.11.2 for package: gnutls-3.3.29-9.el7_6.x86_64 --> Processing Dependency: libnettle.so.4()(64bit) for package: gnutls-3.3.29-9.el7_6.x86_64 --> Processing Dependency: libhogweed.so.2()(64bit) for package: gnutls-3.3.29-9.el7_6.x86_64 ---> Package pakchois.x86_64 0:0.4-10.el7 will be installed --> Running transaction check ---> Package nettle.x86_64 0:2.7.1-8.el7 will be installed ---> Package trousers.x86_64 0:0.3.14-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================================================================================================================== Installing: subversion x86_64 1.7.14-14.el7 os 1.0 M Installing for dependencies: apr x86_64 1.4.8-5.el7 os 103 k apr-util x86_64 1.5.2-6.el7 os 92 k gnutls x86_64 3.3.29-9.el7_6 os 680 k neon x86_64 0.30.0-4.el7 os 166 k nettle x86_64 2.7.1-8.el7 os 327 k pakchois x86_64 0.4-10.el7 os 14 k subversion-libs x86_64 1.7.14-14.el7 os 922 k trousers x86_64 0.3.14-2.el7 os 289 k Transaction Summary ================================================================================================================================================================================================================================================================== Install 1 Package (+8 Dependent packages) Total download size: 3.5 M Installed size: 12 M Downloading packages: (1/9): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:00 (2/9): apr-1.4.8-5.el7.x86_64.rpm | 103 kB 00:00:00 (3/9): neon-0.30.0-4.el7.x86_64.rpm | 166 kB 00:00:00 (4/9): gnutls-3.3.29-9.el7_6.x86_64.rpm | 680 kB 00:00:00 (5/9): pakchois-0.4-10.el7.x86_64.rpm | 14 kB 00:00:00 (6/9): nettle-2.7.1-8.el7.x86_64.rpm | 327 kB 00:00:00 (7/9): subversion-1.7.14-14.el7.x86_64.rpm | 1.0 MB 00:00:00 (8/9): trousers-0.3.14-2.el7.x86_64.rpm | 289 kB 00:00:00 (9/9): subversion-libs-1.7.14-14.el7.x86_64.rpm | 922 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 3.6 MB/s | 3.5 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : apr-1.4.8-5.el7.x86_64 1/9 Installing : apr-util-1.5.2-6.el7.x86_64 2/9 Installing : pakchois-0.4-10.el7.x86_64 3/9 Installing : nettle-2.7.1-8.el7.x86_64 4/9 Installing : trousers-0.3.14-2.el7.x86_64 5/9 Installing : gnutls-3.3.29-9.el7_6.x86_64 6/9 Installing : neon-0.30.0-4.el7.x86_64 7/9 Installing : subversion-libs-1.7.14-14.el7.x86_64 8/9 Installing : subversion-1.7.14-14.el7.x86_64 9/9 Verifying : trousers-0.3.14-2.el7.x86_64 1/9 Verifying : subversion-1.7.14-14.el7.x86_64 2/9 Verifying : subversion-libs-1.7.14-14.el7.x86_64 3/9 Verifying : apr-util-1.5.2-6.el7.x86_64 4/9 Verifying : apr-1.4.8-5.el7.x86_64 5/9 Verifying : nettle-2.7.1-8.el7.x86_64 6/9 Verifying : neon-0.30.0-4.el7.x86_64 7/9 Verifying : pakchois-0.4-10.el7.x86_64 8/9 Verifying : gnutls-3.3.29-9.el7_6.x86_64 9/9 Installed: subversion.x86_64 0:1.7.14-14.el7 Dependency Installed: apr.x86_64 0:1.4.8-5.el7 apr-util.x86_64 0:1.5.2-6.el7 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-8.el7 pakchois.x86_64 0:0.4-10.el7 subversion-libs.x86_64 0:1.7.14-14.el7 trousers.x86_64 0:0.3.14-2.el7 Complete! [root@VM-0-7-centos ~]#
创建版本仓库的管理目录
svn支持多个仓库实例,所以这个目录是多个仓库的根目录
mkdir /var/svn-repo
创建一个版本仓库目录
mkdir /var/svn-repo/first-repo
使用SVN命令将仓库目录初始化为SVN仓库
一定要先保证目录是存在的情况,这个命令才会执行,不然SVN报错找不到目录不会初始化
svnadmin create /var/svn-repo/first-repo
同样的,如果要创建多个仓库就以此类推
mkdir /var/svn-repo/xxx-repo1 mkdir /var/svn-repo/xxx-repo2 mkdir /var/svn-repo/xxx-repo3 ...... svnadmin create /var/svn-repo/xxx-repo1 svnadmin create /var/svn-repo/xxx-repo2 svnadmin create /var/svn-repo/xxx-repo3 ......
初始化之后的仓库中会有以下文件与目录:
[root@VM-0-7-centos ~]# cd /var/svn-repo/temp-repo [root@VM-0-7-centos temp-repo]# ll total 24 drwxr-xr-x 2 root root 4096 Sep 20 23:14 conf drwxr-sr-x 6 root root 4096 Sep 20 23:14 db -r--r--r-- 1 root root 2 Sep 20 23:14 format drwxr-xr-x 2 root root 4096 Sep 20 23:14 hooks drwxr-xr-x 2 root root 4096 Sep 20 23:14 locks -rw-r--r-- 1 root root 229 Sep 20 23:14 README.txt [root@VM-0-7-centos temp-repo]#
里面的各种文件这里不详细描述,在上面提供的博客中有介绍
更改SVN的权限配置:
进入仓库中的conf仓库配置目录
编辑authz文件
vim authz
追加用户和对应的执行权限
# admin是用户名称,可随意命名,但是rw 表示是read & write 读写权限 admin = rw
编辑passwd文件
vim passwd
追加admin用户和密码
# 在[users]下面追加上面设置的用户和密码
admin = 123456
编辑svnserve.conf文件
下面描述的内容在文件中都有注释声明,可以直接接触注释,或者备份注释单独写一份
anon-access = none:表示禁止匿名用户访问。 auth-access = write:表示授权用户拥有读写权限。 password-db = passswd:指定用户名口令文件,即 passwd 文件。 authz-db = authz:指定权限配置文件,即 authz 文件。 realm = /var/svn-repo:指定认证域,即 /var/svn-repo 目录。
设置防火墙关闭,或者开放3690端口,这一步不赘述了
启动SVN服务
svnserve -d -r /var/svn-repo
检查SVN服务器是否存在:
ps -ef | grep 'svnserve'
在服务器中检查仓库URL连接:
svn co svn://localhost:3690/first-repo
访问会要求输入Linux系统账号和我们刚刚设置的SVN账号:
【root我好像输错了,但是没事,输入要求给出账号名称,再输入对应的密码就行了】
Authentication realm: <svn://localhost:3690> /var/svn-repo Password for 'root': Authentication realm: <svn://localhost:3690> /var/svn-repo Username: admin Password for 'admin':
第一次访问成功会有警告提示:
然后就是是否不加密保存密码
----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://localhost:3690> /var/svn-repo can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes Checked out revision 0.
因为没有任何文件,只是初始化,所以SVN提示CheckOut检查到的版本为0
二、Windows下的SVN客户端搭建
SVN客户端TortoiseSVN下载:
https://tortoisesvn.net/downloads.html
安装基本无脑下一步,但是注意一下勾选命令行支持
另外,如果要换安装路径,可以自行点击浏览路径进行更换【新版本貌似不允许更换】

安装成功之后,右键就会提供SVN客户端的一些操作选项:


浙公网安备 33010602011771号