阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

搭建基于http的本地yum源服务器

161次阅读
没有评论

共计 4069 个字符,预计需要花费 11 分钟才能阅读完成。

概述

yum 相较于 rpm,能够更好地解决安装软件时的依赖包问题,使用 yum 安装更简单更方便。搭建本地 YUM 源服务器,可以避免升级安装软件时占用公网带宽;有了本地 YUM 源服务器,可以解决无法连接 Internet 的其他 YUM 客户端的软件升级和安装。

本文主要介绍了以下内容:

通过编译 Apache 源码包安装 httpd 服务;

搭建基于 HTTP 的 yum 源服务器;

将 Internet 的 yum 源 rpm 包下载到自己的 yum 服务器。

搭建环境

系统:CentOS Linux release 7.2.1511 (Core)(minimal 安装)

服务器:10.10.10.100/24

客户端:10.10.10.70/24

httpd 版本:httpd-2.4.23

服务器安装 httpd

1. 准备环境及软件源码包

首先我们要安装编译环境所需的 gcc 和 gcc-c++ 编译器:

[root@IP100-CentOS7 ~]# >>yum install -y wget gcc gcc-c++

我们可以登录 Apache 的官方页面 (http://httpd.apache.org/download.cgi#apache24) 进行软件下载,我们这里用 wget 进行下载,并用 tar 命令进行解压:

[root@IP100-CentOS7 ~]# >>wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.23.tar.gz
[root@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
[root@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
[root@IP100-CentOS7 ~]# >>wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf httpd-2.4.23.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf apr-1.5.2
[root@IP100-CentOS7 ~]# >>tar xf apr-util-1.5.4.tar.gz
[root@IP100-CentOS7 ~]# >>tar xf pcre-8.38.tar.gz

httpd-2.4.23.tar.gz 是主程序包,其他三个是安装需要的依赖包,pcre-8.38.tar.gz 需要 gcc-c++ 编译支持。

2. 开始编译安装

安装顺序是 apr-1.5.2 ==> apr-util-1.5.4.tar.gz ==> pcre-8.38.tar.gz ==> httpd-2.4.23.tar.gz

### 编译安装 apr-1.5.2
[root@IP100-CentOS7 ~]# >>cd apr-1.5.2
[root@IP100-CentOS7 ~]# >>./configure –prefix=/usr/local/apr
[root@IP100-CentOS7 ~]# >>make && make install 
### 编译安装 apr-util-1.5.4
[root@IP100-CentOS7 ~]# >>cd apr-util-1.5.4
[root@IP100-CentOS7 ~]# >>./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
[root@IP100-CentOS7 ~]# >>make && make install 
### 编译安装 pcre-8.38
[root@IP100-CentOS7 ~]# >>cd pcre-8.38
[root@IP100-CentOS7 ~]# >>./configure –prefix=/usr/local/pcre
[root@IP100-CentOS7 ~]# >>make && make install 
### 编译安装 httpd-2.4.23(注意:需要通过 –with-apr= 指定三个依赖包的安装路径)
[root@IP100-CentOS7 ~]# >>cd httpd-2.4.23
[root@IP100-CentOS7 ~]# >>./configure –with-apr=/usr/local/apr/ –with-apr-util=/usr/local/apr-util/ –with-pcre=/usr/local/pcre
[root@IP100-CentOS7 ~]# >>make && make install

3. 配置 apache2

1. 二进制程序目录导入至 PATH 环境变量中;

由于我们是默认安装,httpd 默认安装于 /usr/local/apache2。这里,我们需要将目录添加到系统环境 $PATH 中

[root@IP100-CentOS7 bin]# >>echo ‘export PATH=/usr/local/apache2/bin:$PATH’ > /etc/profile.d/httpd.sh

2. 添加开机启动

[root@IP100-CentOS7 bin]# >>echo ‘/usr/local/apache2/bin/apachectl start’ >> /etc/rc.d/rc.local
[root@IP100-CentOS7 ~]# >>chmod +x  /etc/rc.d/rc.local

3. 导入头文件

我们基于链接的方式实现:

[root@IP100-CentOS7 apache2]# >>ln -s /usr/local/apache2/include/ /usr/include/httpd

4. 导入帮助手册

编辑 /etc/man_db.conf 文件(CentOS6 为 /etc/man.config),添加如下条目:

MANDATORY_MANPATH            /usr/local/apache2/man

搭建基于 http 的本地 yum 源服务器

5. 修改网页目录地址

[root@IP100-CentOS7 ~]# >>vim /usr/local/apache2/conf/httpd.conf

DocumentRoot “/var/www/html”

<Directory “/var/www/html”>

搭建基于 http 的本地 yum 源服务器

6. 测试网络

在浏览器中输入服务器地址:

搭建基于 http 的本地 yum 源服务器

到此,我们已经完成了编译安装 httpd 服务器了。接下来我们进行 yum 源服务器的搭建。

YUM 源服务器搭建

1. 创建文件夹

我们先创建存放 .RPM 的目录

[root@IP100-CentOS7 conf]# >>mkdir -p /var/www/html/centos/7/os/x86_64/Packages/

2. 我们可以将光盘镜像 Packages 目录里的 .rpm 包复制到 /var/www/html/centos/7/os/x86_64/Packages/ 目录,这里我仅做测试,复制了几个包进去:

搭建基于 http 的本地 yum 源服务器

在浏览器上输入网址:

搭建基于 http 的本地 yum 源服务器

3. 安装 createrepo,此程序主要用于生成创建 yum 仓库,创建索引信息。

[root@IP100-CentOS7 x86_64]# >>yum install createrepo
[root@IP100-CentOS7 ~]# >>createrepo /var/www/html/centos/7/os/x86_64/

搭建基于 http 的本地 yum 源服务器

到这里我们已经完成了 yum 源服务器的配置。

我们到客户端进行测试:

[root@IP70-CentOS7 ~]# >>vim /etc/yum.repos.d/Local.repo

搭建基于 http 的本地 yum 源服务器

[root@IP70-CentOS7 ~]# >>yum clean all
[root@IP70-CentOS7 ~]# >>yum makecache
[root@IP70-CentOS7 ~]# >>yum repolist

搭建基于 http 的本地 yum 源服务器

搭建基于 http 的本地 yum 源服务器

可以看到,这正是 yum 源服务器测试的 rpm 软件包,大功告成~!

扩展

在这里我们可以使用一个小工具:yumdownloader

### 查询 yumdownloader 隶属于哪个安装包
[root@IP100-CentOS7 ~]# >>yum provides yumdownloader
### 安装 yum-utils
[root@IP100-CentOS7 ~]# >>yum install -y yum-utils

搭建基于 http 的本地 yum 源服务器

搭建基于 http 的本地 yum 源服务器

yumdownloader 的用法很简单:

yumdownloader [options] package1 [package2…]

直接跟.rpm 包的名字,就可以下载包到当前目录,也可以带选项下载到指定目录,具体查看 man  yumdownloader

这里我们测试下载 kernel* 的包:

搭建基于 http 的本地 yum 源服务器

更多 YUM 相关教程见以下内容

RedHat 6.2 Linux 修改 yum 源免费使用 CentOS 源 http://www.linuxidc.com/Linux/2013-07/87383.htm

配置 EPEL YUM 源 http://www.linuxidc.com/Linux/2012-10/71850.htm

Redhat 本地 yum 源配置 http://www.linuxidc.com/Linux/2012-11/75127.htm

yum 的配置文件说明 http://www.linuxidc.com/Linux/2013-04/83298.htm

RedHat 6.1 下安装 yum(图文) http://www.linuxidc.com/Linux/2013-06/86535.htm

YUM 安装及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm

CentOS 6.4 上搭建 yum 本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134602.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计4069字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中