CentOS7搭建svn服务器

1,svn安装

通过yum命令进行安装,命令如下:

[root@localhost ~]$ yum -y install subversion

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bfsu.edu.cn
 * extras: mirrors.dgut.edu.cn
 * updates: mirrors.aliyun.com
base                                                                                                                                              | 3.6 kB  00:00:00     
extras                                                                                                                                            | 2.9 kB  00:00:00     
updates                                                                                                                                           | 2.9 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 subversion.x86_64.0.1.7.14-16.el7 将被 安装
--> 正在处理依赖关系 subversion-libs(x86-64) = 1.7.14-16.el7,它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_wc-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_subr-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_repos-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_ra_svn-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_ra_neon-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_ra_local-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_ra-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_fs_util-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_fs_fs-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_fs_base-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_fs-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_diff-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_delta-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libsvn_client-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 subversion-1.7.14-16.el7.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-7.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 subversion-libs.x86_64.0.1.7.14-16.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================================================================
 Package                                       架构                                 版本                                        源                                  大小
=========================================================================================================================================================================
正在安装:
 subversion                                    x86_64                               1.7.14-16.el7                               base                               1.0 M
为依赖而安装:
 apr                                           x86_64                               1.4.8-7.el7                                 base                               104 k
 apr-util                                      x86_64                               1.5.2-6.el7                                 base                                92 k
 subversion-libs                               x86_64                               1.7.14-16.el7                               base                               922 k

事务概要
=========================================================================================================================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:2.1 M
安装大小:7.5 M
Downloading packages:
(1/4): apr-util-1.5.2-6.el7.x86_64.rpm                                                                                                            |  92 kB  00:00:02     
(2/4): apr-1.4.8-7.el7.x86_64.rpm                                                                                                                 | 104 kB  00:00:03     
(3/4): subversion-1.7.14-16.el7.x86_64.rpm                                                                                                        | 1.0 MB  00:00:09     
(4/4): subversion-libs-1.7.14-16.el7.x86_64.rpm                                                                                                   | 922 kB  00:00:22     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                      96 kB/s | 2.1 MB  00:00:22     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : apr-1.4.8-7.el7.x86_64                                                                                                                               1/4 
  正在安装    : apr-util-1.5.2-6.el7.x86_64                                                                                                                          2/4 
  正在安装    : subversion-libs-1.7.14-16.el7.x86_64                                                                                                                 3/4 
  正在安装    : subversion-1.7.14-16.el7.x86_64                                                                                                                      4/4 
  验证中      : subversion-libs-1.7.14-16.el7.x86_64                                                                                                                 1/4 
  验证中      : apr-1.4.8-7.el7.x86_64                                                                                                                               2/4 
  验证中      : subversion-1.7.14-16.el7.x86_64                                                                                                                      3/4 
  验证中      : apr-util-1.5.2-6.el7.x86_64                                                                                                                          4/4 

已安装:
  subversion.x86_64 0:1.7.14-16.el7                                                                                                                                      

作为依赖被安装:
  apr.x86_64 0:1.4.8-7.el7                         apr-util.x86_64 0:1.5.2-6.el7                         subversion-libs.x86_64 0:1.7.14-16.el7                        

完毕!

2,创建svn版本库

     1)创建仓库文件夹,命令如下:

     [root@localhost opt]# mkdir -p /opt/svn/repository  

     2)创建svn版本库,命令如下:

     [root@localhost opt]# svnadmin create /opt/svn/repository

     创建成功,进入/opt/svn/repository文件夹,信息如下:

      [root@localhost opt]# cd /opt/svn/repository/
      [root@localhost repository]# ll
      总用量 8
      drwxr-xr-x. 2 root root  54 6月   6 17:52 conf
      drwxr-sr-x. 6 root root 233 6月   6 17:52 db
      -r--r--r--. 1 root root   2 6月   6 17:52 format
      drwxr-xr-x. 2 root root 231 6月   6 17:52 hooks
      drwxr-xr-x. 2 root root  41 6月   6 17:52 locks
      -rw-r--r--. 1 root root 229 6月   6 17:52 README.txt

3,权限配置

进入/opt/svn/repository/conf目录,有如下三个文件:

[root@localhost conf]# ll
总用量 12
-rw-r--r--. 1 root root 1080 6月   6 17:52 authz
-rw-r--r--. 1 root root  309 6月   6 17:52 passwd
-rw-r--r--. 1 root root 3090 6月   6 17:52 svnserve.conf


文件说明
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

1)authz配置

执行vim authz,配置关键信息如下:

[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
admin=admin
dev=zhangsan,lisi,wangwu
# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
#[/]表示根目录,即/opt/svn/repository/
[/]
#@加组名称,给该组赋权,r表示读,w表示写
@admin=rw
#[/dev]实际上为/opt/svn/repository/dev
[/dev]
@dev=rw

2)配置passwd

执行 vim passwd,配置svn访问用户和密码:

### 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
# 等号前面为用户名,后面为登录密码
admin = admin@123
zhangsan = zhang@123
lisi = li@123
wangwu = wang@123

3)配置 svnserve.conf

执行vim svnserve.conf,配置访问权限,关键信息如下:

### 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
### 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 = /opt/svn/repository

配置说明: 

anon-access = none:表示禁止匿名用户访问
auth-access = write:表示授权用户拥有读写权限
password-db = passswd:指定用户名口令文件,即passwd文件
authz-db = authz:指定权限配置文件,即authz文件
realm = /opt/svn/repository:指定认证域,即/opt/svn/repository目录

4,启动svn服务

svn默认端口为3690,可以指定端口启动,如3696,启动命令如下:

[root@localhost ~]# svnserve -d -r /opt/svn --listen-port 3696

启动成功后,通过ps -ef | grep svn查看进程,显示如下信息:

[root@localhost ~]# ps -ef|grep svn
root     12499     1  0 22:04 ?        00:00:00 svnserve -d -r /opt/svn --listen-port 3696
root     13482  1386  0 22:05 pts/1    00:00:00 grep --color=auto svn


5,客户端访问svn服务器 

使用IntelliJ IDEA编辑器,通过check out 拉取文件,如图:

 提交文件至svn服务器,如图:

 在此,svn服务器搭建完成,如果有问题,欢迎各位指正。

注意事项:1,上述操作都是采用root权限进行

                  2,需要关闭防火墙或者在防火墙配置中开放svn端口

 


 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在CentOS上离线搭建SVN服务器,需要按照以下步骤进行操作: 1. 首先,在CentOS服务器上安装必要的软件包和依赖项。由于是离线环境,需要先将相关的软件包下载到一个可访问的计算机上,然后通过U盘或其他外部介质将它们传输到CentOS服务器上。在CentOS服务器上使用以下命令安装软件包: ``` rpm -ivh svn-server-rpm包 ``` 2. 创建一个用于存储SVN仓库的目录,并为其分配合适的权限: ``` mkdir /svn-repo chown -R apache.apache /svn-repo ``` 3. 初始化SVN仓库: ``` svnadmin create /svn-repo/myrepo ``` 4. 配置SVN服务。在`/etc/httpd/conf.d/`目录下创建一个新的配置文件,例如`svn.conf`,并添加以下内容: ``` # SVN 配置 <Location /svn> DAV svn SVNPath /svn-repo/myrepo </Location> ``` 5. 重启Apache服务以应用配置更改: ``` systemctl restart httpd ``` 6. 确保防火墙允许通过HTTP访问SVN服务。可以使用以下命令开放端口80: ``` firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload ``` 7. 完成上述步骤后,即可通过浏览器或相应的SVN客户端从其他计算机访问SVN仓库了。 请注意,这只是一个简单的离线搭建SVN服务器的示例步骤。实际操作中可能涉及到更多的细节和配置,具体的步骤可能会有所不同。建议根据自己的实际情况和需求进行相应的调整。 ### 回答2: 要离线搭建CentOS下的SVN服务器,需要以下步骤: 1. 下载SVN软件包:在网络连接正常的环境中,下载最新版本的Subversion软件包,并将其保存到本地或移动存储设备中。 2. 安装CentOS系统:在目标服务器上安装CentOS操作系统,确保操作系统的版本和架构与下载的软件包相匹配。 3. 安装Subversion:将下载的SVN软件包复制到目标服务器,解压并安装。执行相关的安装命令,如使用yum命令安装:sudo yum install subversion。 4. 创建SVN仓库:使用命令行工具,创建一个SVN仓库。在指定的目录中执行命令:svnadmin create /path/to/repository。 5. 配置访问权限:为SVN仓库设置访问权限,确保只有授权的用户可以访问。创建一个authz文件,用于配置用户和组的权限。编辑文件并添加相应的权限规则。 6. 配置SVN服务器:编辑svnserve.conf文件,配置SVN服务器的各项参数。例如,设置SVN服务器监听的端口、启用身份验证等。 7. 启动SVN服务器:执行启动命令,启动SVN服务器。例如,通过命令svnserve -d -r /path/to/repository启动并使其在后台运行。 8. 测试SVN服务器:使用SVN客户端工具,例如TortoiseSVN等,在另一台计算机上测试连接SVN服务器。尝试进行检出、更新和提交等操作,验证服务器是否正常工作。 通过以上步骤,就可以在CentOS服务器上离线搭建一个SVN版本控制系统。 ### 回答3: 要在CentOS上离线搭建SVN服务器,您需要按照以下步骤进行操作: 1. 安装CentOS:首先,确保您已经在离线环境中安装了CentOS操作系统。您可以使用官方的CentOS ISO镜像进行安装。 2. 安装SVN服务器软件:在离线环境中,您需要将SVN服务器软件的安装包下载到离线机器上。您可以从Subversion官方网站或其他可信的软件下载站点下载最新版本的SVN服务器软件安装包。将安装包复制到离线机器上,并使用命令行工具(如yum)安装。 3. 配置SVN服务器:一旦安装了SVN服务器软件,您需要进行相关配置。在离线环境中,您可以编辑SVN服务器的配置文件,通常是在/etc/httpd/conf.d目录下的svn.conf文件。您可以根据实际需求进行配置,如指定版本库的存储位置、访问控制等。 4. 创建SVN版本库:在SVN服务器上创建版本库以存储项目代码。您可以使用svnadmin命令创建版本库,如在命令行中运行"svnadmin create /path/to/repository"来创建名为repository的版本库。 5. 配置访问权限:为了保护SVN版本库中的代码,您需要为其设置访问权限。在离线环境中,您可以在每个项目的conf目录中的svnserve.conf文件中进行配置。通过编辑该文件,您可以控制用户及其对版本库的访问权限。 6. 启动SVN服务器:在离线环境中,您可以启动SVN服务器以便用户可以访问版本库。在命令行中运行"svnserve -d -r /path/to/repository"命令来启动SVN服务器,并将其绑定到指定的版本库路径。 这些步骤将帮助您在CentOS上离线搭建SVN服务器。需要注意的是,在离线环境中,您需要提前准备好所需的软件包及其依赖关系,并保存在本地供安装使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值