Centos7.2学习记录(3)——搭建本地yum仓库

入职以来,由于公司云主机运行在内网环境下,在搭建kubernetes和openshift集群时都需要进行离线安装,这里粗略记录一下本地yum仓库的搭建过程。

httpd配置

安装httpd

在目标服务器上安装httpd。

# yum install -y httpd

修改httpd端口号

我的80端口已被占用,故这里修改httpd的端口号。 修改/etc/httpd/conf/httpd.conf。 将Listen 80改为Listen 8180。

创建发布yum源的httpd配置文件

# vim /etc/httpd/conf.d/yum.conf

内容如下:

Alias /repo "/var/www/html/yum"

防火墙设置

这里有两种操作。

  • 禁用防火墙
# systemctl disable firewalld
# systemctl stop firewalld
  • 修改iptables并增加selinux中http的端口

由于我的yum仓库部署在openshift集群的master节点上,故这里采用修改iptables并增加selinux中http的端口的方式。 修改/etc/sysconfig/iptables。添加如下规则:

-A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 8180 -j ACCEPT

重启iptables服务。

# systemctl restart iptables

增加selinux中http的端口。

# semanage port -a -t http_port_t -p tcp 8180

重启Httpd,使修改的配置生效

# systemctl enable httpd
# systemctl restart httpd

配置yum源目录

RPM包的准备

可通过yum install --downloadonly --downloaddir=temp packageName的指令下载RPM包,也可以通过reposync同步目标源到本地,这里可以自行选择适合的方式。

上传所有RPM包到目标服务器/var/www/html/yum目录下

我采用ftp的方式将所有RPM包传到了目标服务器上,目录可以自定义(修改目录的话,可能需要对httpd的配置文件做修改,不然可能会出现403 - Forbidden等错误,我没深入研究)。这里采用的目录是/var/www/html/yum。 上传成功后在目标服务器上执行:

# createrepo /var/www/html/yum

yum服务器节点创建 /etc/yum.repos.d/local.repo文件

内容如下:

[local]
name = local
baseurl = file:///var/www/html/yum
gpgcheck = 0
enabled = 1

验证

yum服务器节点验证

# yum clean all 
# yum repolist

可以看出已经加载了上文建立的名为local的yum源。

其他节点验证

创建/etc/yum.repos.d/local.repo文件,指向上文创建的yum源。 内容如下:

[local]
name = local
baseurl = http://10.126.3.207:8180/repo/
gpgcheck = 0
enabled = 1
# yum clean all 
# yum repolist

可以看出已经加载了上文建立的名为local的yum源。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

在Ubuntu 16.04如何使用Percona将MySQL类别的数据库备份到指定的对象存储上呢?

数据库通常会在您的基础架构中存储一些最有价值的信息。因此,在发生事故或硬件故障时,必须具有可靠的备份以防止数据丢失。

1503
来自专栏一个爱瞎折腾的程序猿

Ubuntu16.04下安装mysql

不设置将会提示错误信息:1103 -Host '192.168.1.233' is not allowed to connect to this MySQL s...

2841
来自专栏前端知识分享

第206天:http协议终极详解---看这一篇就够了

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传...

3524
来自专栏進无尽的文章

基础篇-Mac终端指令大全

在日常开发中我们经常会用到一些Mac的指令在终端中进行操作,所以了解和熟练使用一些基本的Mac终端指令是非常有必要的,也有利于自己的职业发展,下面就简单总结下M...

1241
来自专栏hbbliyong

git各种命令介绍以及碰到的各种坑

一.各种命令介绍:  git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就...

3788
来自专栏行者悟空

Nginx性能优化的那些事

2014
来自专栏微信公众号:Java团长

Spring 核心框架体系结构

  很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置...

811
来自专栏散尽浮华

Git忽略规则.gitignore梳理

对于经常使用Git的朋友来说,.gitignore配置一定不会陌生。废话不说多了,接下来就来说说这个.gitignore的使用。 首先要强调一点,这个文件的完整...

1937
来自专栏python学习指南

python爬虫(二)_HTTP的请求和响应

HTTP和HTTPS HTTP(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收HTML页面的方法 HTTPS(Hyp...

45910
来自专栏糊一笑

谈谈webpack2的一些事

从v1迁移到v2 1. 配置类型 在webpack1的时候,主要是通过导出单个object来进行配置。例如下面的配置: // webpack1 导出方式 mod...

3095

扫码关注云+社区

领取腾讯云代金券