设为首页 收藏本站
查看: 1300|回复: 0

[经验分享] 搭建基于http的本地yum源服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-25 09:30:56 | 显示全部楼层 |阅读模式
概述
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++编译器:
1
[iyunv@IP100-CentOS7 ~]# >>yum install -y wget gcc gcc-c++




我们可以登录Apache的官方页面(http://httpd.apache.org/download.cgi#apache24)进行软件下载,我们这里用wget进行下载,并用tar命令进行解压:
1
2
3
4
5
6
7
8
[iyunv@IP100-CentOS7 ~]# >>wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.23.tar.gz
[iyunv@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
[iyunv@IP100-CentOS7 ~]# >>wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
[iyunv@IP100-CentOS7 ~]# >>wget ftp://ftp.csx.cam.ac.uk/pub/soft ... re/pcre-8.38.tar.gz
[iyunv@IP100-CentOS7 ~]# >>tar xf httpd-2.4.23.tar.gz
[iyunv@IP100-CentOS7 ~]# >>tar xf apr-1.5.2
[iyunv@IP100-CentOS7 ~]# >>tar xf apr-util-1.5.4.tar.gz
[iyunv@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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
### 编译安装 apr-1.5.2
[iyunv@IP100-CentOS7 ~]# >>cd apr-1.5.2
[iyunv@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/apr
[iyunv@IP100-CentOS7 ~]# >>make && make install
### 编译安装 apr-util-1.5.4
[iyunv@IP100-CentOS7 ~]# >>cd apr-util-1.5.4
[iyunv@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[iyunv@IP100-CentOS7 ~]# >>make && make install
### 编译安装 pcre-8.38
[iyunv@IP100-CentOS7 ~]# >>cd pcre-8.38
[iyunv@IP100-CentOS7 ~]# >>./configure --prefix=/usr/local/pcre
[iyunv@IP100-CentOS7 ~]# >>make && make install
### 编译安装 httpd-2.4.23 (注意:需要通过--with-apr=指定三个依赖包的安装路径)
[iyunv@IP100-CentOS7 ~]# >>cd httpd-2.4.23
[iyunv@IP100-CentOS7 ~]# >>./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
[iyunv@IP100-CentOS7 ~]# >>make && make install




3. 配置apache2

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

由于我们是默认安装,httpd默认安装于/usr/local/apache2。这里,我们需要将目录添加到系统环境$PATH中
1
[iyunv@IP100-CentOS7 bin]# >>echo 'export PATH=/usr/local/apache2/bin:$PATH' > /etc/profile.d/httpd.sh





2.添加开机启动

1
2
[iyunv@IP100-CentOS7 bin]# >>echo '/usr/local/apache2/bin/apachectl start' >> /etc/rc.d/rc.local
[iyunv@IP100-CentOS7 ~]# >>chmod +x  /etc/rc.d/rc.local



3.导入头文件
我们基于链接的方式实现:
1
[iyunv@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

wKioL1e9ifWRjy7wAAA_QSHx9hE820.jpg
5.修改网页目录地址
1
[iyunv@IP100-CentOS7 ~]# >>vim /usr/local/apache2/conf/httpd.conf



DocumentRoot "/var/www/html"
<Directory "/var/www/html">
wKiom1e9irCBs4CzAAAx1gxm1Ao143.jpg

6.测试网络
在浏览器中输入服务器地址:
wKiom1e9i2zi4TnuAAAl761U3Js214.jpg
到此,我们已经完成了编译安装 httpd服务器了。接下来我们进行yum源服务器的搭建。

YUM源服务器搭建
1.创建文件夹
我们先创建存放 .RPM的目录

1
[iyunv@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/目录,这里我仅做测试,复制了几个包进去:

wKiom1e9jWqDsActAAAyCgItBCo506.jpg
在浏览器上输入网址:
wKiom1e9jaXRGox0AABHF3HPIEs914.jpg

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

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



wKiom1e9juqBASPXAAA4ISzZhAQ821.jpg
到这里我们已经完成了yum源服务器的配置。
我们到客户端进行测试:
1
[iyunv@IP70-CentOS7 ~]# >>vim /etc/yum.repos.d/Local.repo



wKioL1e9kHXxbL6jAAAjQrCNBpI501.jpg

1
2
3
[iyunv@IP70-CentOS7 ~]# >>yum clean all
[iyunv@IP70-CentOS7 ~]# >>yum makecache
[iyunv@IP70-CentOS7 ~]# >>yum repolist



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



扩展
在这里我们可以使用一个小工具:yumdownloader
1
2
3
4
### 查询yumdownloader隶属于哪个安装包
[iyunv@IP100-CentOS7 ~]# >>yum provides yumdownloader
### 安装 yum-utils
[iyunv@IP100-CentOS7 ~]# >>yum install -y yum-utils



wKioL1e9lD2C0tHjAABVhkaHXmg807.jpg wKioL1e9lEihB8uiAAAYapy_39A446.jpg

yumdownloader的用法很简单:


      • yumdownloader [options] package1 [package2...]

直接跟.rpm包的名字,就可以下载包到当前目录,也可以带选项下载到指定目录,具体查看man  yumdownloader
这里我们测试下载kernel*的包:

wKiom1e9lb_zOGKAAACdntyPHKw290.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-262679-1-1.html 上篇帖子: centos7 命令systemd 下篇帖子: Linux启动提示Kernel panic - not syncing: Attempted to kill init解决办法 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表