IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 部署http+svn,yum安装svn 1.9版本 -> 正文阅读

[网络协议]部署http+svn,yum安装svn 1.9版本

本文意在轻松愉快安装svn1.9版本,绕过繁琐的编译安装,利用yum安装来解决依赖关系
参考链接:
链接1:部署http+svn
链接2:yum安装svn指定版本,svn.repo文件制作
难点1:关键还是从链接2知道了svn镜像库地址;
难点2:直接安装的subversion 不符合版本要求,tar.gz包编译安装问题多到想砸键盘

一、 软件版本问题

本次部署是因为生产环境中的svn库完整备份后,在备份机上还原SVN的使用;生产环境使用的版本是subversion-1.9.9,低于这个版本部署完成后会报错,yum默认安装的版本是1.7,在yum安装之前必须先准备1.9.9以上版本的yum源,或者rpm包。一定要编译安装的请出门左转继续搜索,不要浪费时间。

在网上找到subversion的安装源,版本库,http://opensource.wandisco.com/rhel/7/svn-1.9/RPMS/

yum源,将下面内容写入到文件/etc/yum.repos.d/svn.repo
[root@localhost ~]> cat /etc/yum.repos.d/svn.repo 
[subversion]
name=subversion
baseurl=http://opensource.wandisco.com/rhel/7/svn-1.9/RPMS/
enabled=1
gpgcheck=1    #也可不验证,gpgkey=0,下面一行删除
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco   

在这里插入图片描述

二、安装软件

方法1.利用repo文件在线安装

做好svn.repo后,直接yum install subversion
[root@localhost ~]> yum install subversion -y
[root@localhost ~]> rpm -q subversion
subversion-1.9.12-1.x86_64

其他两个软件直接安装即可
[root@localhost ~]> yum -y install httpd mod_dav_svn
[root@localhost ~]> rpm -q subversion httpd mod_dav_svn
subversion-1.9.12-1.x86_64
httpd-2.4.6-95.el7.centos.x86_64
mod_dav_svn-1.9.12-1.x86_64

方法2.下载rpm包后安装

如果制作的repo文件不能安装成功,直接在浏览器里打开repo文件里的链接,找到符合系统版本的rpm包,直接点击即可下载,或者右键软件包"复制链接"在centos里用wget下载
在这里插入图片描述
在rpm包所在的目录执yum install xxxx.rpm,同样可以安装其他依赖包,不建议用rpm -ivh xxx.rpm安装,rpm 安装不能解决软件包的依赖关系

下载离线rpm包
[root@localhost ~]> wget http://opensource.wandisco.com/rhel/7/svn-1.9/RPMS/x86_64/subversion-1.9.12-1.x86_64.rpm
[root@localhost ~]> ls
anaconda-ks.cfg  subversion-1.9.12-1.x86_64.rpm
[root@localhost ~]> yum -y install subversion-1.9.12-1.x86_64.rpm

同样,其他两个软件直接安装即可
[root@localhost ~]> yum -y install httpd mod_dav_svn
[root@localhost ~]> rpm -q subversion httpd mod_dav_svn
subversion-1.9.12-1.x86_64
httpd-2.4.6-95.el7.centos.x86_64
mod_dav_svn-1.9.12-1.x86_64

三、重点:配置文件

这里我分了两种情况供大家参考

1.全新创建配置过程

1.1创建SVN库,并把目录所有者和所属组改成apache

[root@localhost ~]> mkdir -p /data/svn
[root@localhost ~]> svnadmin create /data/svn/
[root@localhost ~]> chown -R apache:apache /data/svn/*    #把权限给apache
[root@localhost ~]> cd /data/svn/ ;ls -lh
drwxr-xr-x 2 apache apache  76 Apr 25 10:51 conf
drwxr-sr-x 6 apache apache 233 Apr 25 10:51 db
-r--r--r-- 1 apache apache   2 Apr 25 10:51 format
drwxr-xr-x 2 apache apache 231 Apr 25 10:51 hooks
drwxr-xr-x 2 apache apache  41 Apr 25 10:51 locks
-rw-r--r-- 1 apache apache 246 Apr 25 10:51 README.txt
[root@localhost ~]> htpasswd -c conf/passwd liudh 
#初次创建密码用-c,若已有的passwd和authz直接拷贝到该目录

#authz文件 这里放一段做参考吧
[root@svnbak authfile]> head -n100 authz
[groups]                        #群组设置
sup_admin = xuxuyu,liudonghai   #管理员组
# PM 组:
pm_admin = litingrong
pm = liuwei,dengchangwei,lilianzhu,litingrong

# 市场部: 
mkt_admin = litingrong
mkt = liuwei,dengchangwei,lilianzhu,litingrong
mkt_sj_admin = sunpeng
mkt_sj = sunpeng,sunjiayue,bufan,longhuan

[/]    #根目录的权限
@sup_admin = rw    #管理组有读写权限
* = r              #everyone均有读权限
[/PM组]            #PM项目的权限
@pm = r
@pm_admin = rw
@sup_admin = rw
* = 
[/s市场部]
@mkt_sup_admin = rw    
@mkt = r
@mkt_sj = r            #下一级目录的访问者
* = 
[/s市场部/s设计]
@mkt_sj_admin = rw
@mkt_sj = r
* = 

1.2配置/etc/httpd/conf.d/svn.conf 文件

[root@localhost ~]> cat /etc/httpd/conf.d/svn.conf 
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
	DAV svn
	SVNPath /data/svn
	AuthType Basic
	AuthName "10.0.0.76"
	AuthUserFile /data/svn/conf/passwd
	Require valid-user
	AuthzSVNAccessFile /data/svn/conf/authz
</Location>
#注:因为我在部署的时候把http访问日志的配置写到这里的话,httpd服务无法启动,于是就没写了
#日志将会存放到默认目录下/var/log/httpd/
#ErrorLog /data/logs/httpd/svn_error.log    
#CustomLog /data/logs/httpd/svn_access.log common

[root@localhost ~]> ll /var/log/httpd/
-rw-r--r-- 1 root root 1712 Apr 25 14:38 access_log
-rw-r--r-- 1 root root 1902 Apr 25 14:37 error_log
[root@localhost ~]> systemctl start httpd.service

到此配置完成,如果/etc/httpd/conf.d/svn.conf 文件没错,httpd即可正常启动
svn访问地址:http://主机IP/svn
注意:在浏览器或svn客户端访问时必须先关闭svn服务器的防火墙和selinux

成功访问svn库

2.利用完整备份文件还原SVN访问

svn完整备份出来后存放在了 /data/svn/202204241100/svn_office/,此时不用再创建svn库,需要做的是:
1)把svn库目录的所有者和所属者给apache;
2)适当修改/etc/httd/conf.d/svn.conf文件

[root@localhost ~]> chown -R apache:apache /data/svn/202204241100/
[root@localhost ~]>  ll /data/svn/202204241100/
drwxr-xr-x. 2 apache apache 4096 424 19:22 authfile    #passwd和authz文件放在这,并非放在svn库下的conf文件夹
drwxr-xr-x. 6 apache apache 4096 424 17:45 svn_office
[root@svnbak svn_office]# ll
drwxr-xr-x. 2 apache apache 4096 424 10:59 conf
drwxr-sr-x. 6 apache apache 4096 424 17:45 db
-r--r--r--. 1 apache apache    2 424 17:45 format
drwxr-xr-x. 3 apache apache 4096 424 10:59 hooks
drwxr-xr-x. 2 apache apache 4096 424 10:59 locks
-rw-r--r--. 1 apache apache  246 424 10:59 README.txt

修改完成的svn.conf文件
[root@localhost ~]> cat /etc/httpd/conf.d/svn.conf 
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
	DAV svn
	SVNPath /data/svn/202204241100/svn_office
	AuthType Basic
	AuthName "192.168.0.12"
	AuthUserFile /data/svn/202204241100/authfile/passwd    
	Require valid-user
	AuthzSVNAccessFile /data/svn/202204241100/authfile/authz
</Location>

同样的日志文件未指定将存放在默认/var/log/httpd/目录下
svn访问地址:http://主机IP/svn
注意:在浏览器或svn客户端访问时必须先关闭svn服务器的防火墙和selinux

在这里插入图片描述

3.域名访问svn库

以上是没有域名解析的svn访问,这里放一个可域名访问svn库的配置文件供参考

[root@localhost ~]> cat /etc/httpd/conf.d/svn.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<VirtualHost *:80>
    ServerName svn.yinhejuzhen.com   
    ServerAlias svn.yinhejuzhen.com   
    DocumentRoot /data/wwwroot/svn.yinhejuzhen.com    
    ErrorLog /data/logs/httpd/svn.yinhejuzhen.com_error.log    
    CustomLog /data/logs/httpd/svn.yinhejuzhen.com_access.log common
    <Directory "/data/wwwroot/svn.yinhejuzhen.com">
        Options FollowSymlinks
        Require all granted
        RewriteEngine on
        RewriteRule index.html http://docs.galaxymx.com/index.php?title=SVN_版本控制系统
    </Directory>
    <Files ~ "\.php$">
        Require valid-user
        AuthType Basic
        AuthName "svn.yinhejuzhen.com"
        AuthUserFile /data/svn/authfile/passwd
    </Files>
    <Location /office>
    DAV svn
    SVNPath /data/svn/svn_office
    AuthType Basic
    AuthName "svn.yinhejuzhen.com"
    AuthUserFile /data/svn/authfile/passwd
    Require valid-user
    AuthzSVNAccessFile /data/svn/authfile/authz
    </Location>
    <Location /office_test>
    DAV svn
    SVNPath /data/svn_test/svn_office.test
    AuthType Basic
    AuthName "svn.yinhejuzhen.com"
    AuthUserFile /data/svn_test/authfile/passwd.test
    Require valid-user
    AuthzSVNAccessFile /data/svn_test/authfile/authz.test
    </Location>
    
</VirtualHost>

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:30:01  更:2022-04-29 12:31:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:45:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码