快速注册 找回密码

QQ登录

只需一步,快速开始

查看: 560|回复: 5

CentOS7服务搭建----搭建yum(软件仓库)在线服务器

[复制链接]

该用户从未签到

发表于 2020-5-19 08:50:39 来自手机 | 显示全部楼层 |阅读模式
x00p34g44H5B03Ap.jpg

闲话不多说,既然选择看,就是想学习,开整。
1,yum服务器搭建环境及软件需求

环境:CentOS7
所需软件:
A,createrepo:用于软件仓库元数据生成
B,nginx/httpd:任选一个,yum是一种web服务,需要web服务器
C,rsync:用于同步其他源镜像站
D,yum-utils:用于下载软件包但不安装
说明:
1)搭建yum镜像站的服务器连接互联网,能正常访问CentOS镜像站点,本例使用中科大的源:mirrors.ustc.edu.cn。
2)CentOS镜像站点需要支持 rsync 协议。
2,nginx软件安装

注:nginx本例选择编译安装,也可直接yum安装
nginx1.16.1稳定版 下载:http://nginx.org/download/nginx-1.16.1.tar.gz
1),依赖环境安装
命令:
yum -y install gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool wget
Cc96J2499O68jja2.jpg 安装依赖软件

注:为了减少出现一下不可预知的事情,先把firewall和SELINUX关闭
关闭firewall并禁止随系统启动
命令:
systemctl stop firewalld #关闭firewall服务
systemctl disable firewalld #禁止firewall随机启动
systemctl status firewalld #查看firewall服务状态
z3mMi8Pq9Hv8A9b1.jpg 关闭firewall并禁止随系统启动

关闭selinux并永久关闭(禁止随机启动)
命令:
getenforce #查看selinux服务状态
setenforce 0 #关闭selinux服务(临时)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #将禁止随机启动写入selinux配置文件
q4792LGXxVbQo74p.jpg 关闭selinux并永久关闭

下载nginx稳定版1.16.1
命令:
wget http://nginx.org/download/nginx-1.16.1.tar.gz
Nad9MtZ4LPlKmnm6.jpg 下载nginx

解压nginx压缩包
命令:
tar -zxf nginx-1.16.1.tar.gz
jut0q5fGt1lP45tZ.jpg 解压nginx软件包

编译nginx源码包
zzpYhBkK2kJcPiep.jpg 编译安装

命令:(注:需要cd到nginx解压的目录中执行)
./configure \
--prefix=/opt/nginx \
--sbin-path=/opt/nginx/sbin/nginx \
--conf-path=/opt/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \


编译注解:
./configure:编译
--prefix=/opt/nginx:指定nginx安装目录,即将nginx安装到哪里去
--sbin-path=/opt/nginx/sbin/nginx:指定nginx的命令存放目录
--conf-path=/opt/nginx/nginx.conf:指定nginx配置文件及位置
--error-log-path=/var/log/nginx/error.log:指定nginx错误日志文件及位置
--http-log-path=/var/log/nginx/access.log:指定nginx日志文件和位置
--pid-path=/var/run/nginx/nginx.pid:指定nginx的pid文件和位置
--lock-path=/var/lock/nginx.lock:指定nginx的lock文件和位置
--with-http_ssl_module:启用http ssl模块
--with-http_stub_status_module:启用提供网站用户接入基本状态的信息模块
--with-http_gzip_static_module:启用gzip压缩模块
--with-pcre:强制使用PCRE库
pM8W4FFJWj64SJIP.jpg 编译完成

编译过程无报错即可
安装nginx
命令:make & make instal


yj76qNnXJNvJ9qsx.jpg make安装

安全起见,新增nginx用户及用户组,nginx服务使用nginx用户启动
命令:
groupadd nginx
useradd -g nginx nginx -s /bin/false


VI4Kk3uUZkN8bUQi.jpg 新建nginx用户和组

修改nginx配置文件,指定启动运行nginx服务的用户和组


qX7zc41EJ97S39n6.jpg nginxconf编辑

启动nginx测试
命令:
/opt/nginx/sbin/nginx
打开浏览器,输入服务器地址,访问到如下界面既nginx安装成功
EBNbwS0ptfNB2scZ.jpg nginx服务

3,yum站点部署

安装所需工具
命令:
yum -y install rsync createrepo yum-utils
G1Aa5AB1WT5VAbjc.jpg 工具安装

建立yum仓库存储位置
命令:
mkdir -p /data/repos/centos/7/{os,updates,extras,centosplus}/x86_64
guyiyarYybUguBtT.jpg 建立仓库目录

如果需要epel也镜像的话,建立epel目录
mkdir -p /data/repos/epel/7/x86_64


RNAH0UCgnnkP91BK.jpg 目录树

同步中科大的centos7源
命令:
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /data/repos/centos/7/os/x86_64/
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ /data/repos/centos/7/updates/x86_64/
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/ /data/repos/centos/7/extras/x86_64/
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/ /data/repos/centos/7/centosplus/x86_64/

#同步gpgkey
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-7 /data/repos/centos/
命令比较长,版面有点乱,看图简洁


jj49YdhXXXbjDmSA.jpg 需要同步的目录

开始同步(过程会比较慢,主要取决于网络带宽了)
同步os部分
bAzs2U96U80n6jjj.jpg 同步os部分

同步update部分
sDZt5P54t7l2ll16.jpg 同步update部分

同步extras部分
PTXb4WTwRxzzCcW7.jpg 同步extras部分

同步contosplus部分
wE7H1H1xFZc23Y83.jpg 同步centosplus部分

如果需要epel源的话,同步epel源(epel源的软件比centos的要多一些,更全面)
命令:
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ /data/repos/epel/7/x86_64/
q022Q0uZK22zZ7uf.jpg 同步epel源

#同步gpgkey
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/epel/RPM-GPG-KEY-EPEL-7 /data/repos/epel/
FRy8O7Y8QR4YDRRQ.jpg 同步gpgkey

使用createrepo创建仓库(生成repodata目录)
命令:
createrepo /data/repos/centos/7/os/x86_64/
createrepo /data/repos/centos/7/updates/x86_64/
createrepo /data/repos/centos/7/extras/x86_64/
createrepo /data/repos/centos/7/centosplus/x86_64/
z1116MfY3HCHxYcF.jpg 创建仓库

创建epel仓库
命令:
createrepo /data/repos/epel/7/x86_64/
yZt27KvL7qUK4rrj.jpg 创建epel仓库



crontab自动同步脚本(实现crontab定时同步镜像与源站更新):
脚本内容就不放上来了,排版会很乱,如有需要,私信发送。
xCY2JGZad0y8e8gd.jpg 同步脚本

完成以上工作,接下来配置nginx服务
找到nginx.conf文件配置如图:


bNgY5pmKp5SFUuuS.jpg nginx配置

配置完成,测试配置文件及启动nginx服务
命令:
/opt/nginx/sbin/nginx -t
/opt/nginx/sbin/nginx
Ya0BOa8aMIO1193A.jpg 测试nginx配置文件

Af40ugLr1fE9xlKj.jpg 浏览器查看服务

4,yum客户端配置

修改 /etc/yum.repos.d/CentOS-Base.repo 文件
内容:
[os]
name=CentOS-$releasever - Base
baseurl=http://10.211.55.21/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=0
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://10.211.55.21/centos/$releasever/updates/$basearch/
enabled=1
gpgcheck=0
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://10.211.55.21/centos/$releasever/extras/$basearch/
enabled=1
gpgcheck=0
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://10.211.55.21/centos/$releasever/centosplus/$basearch/
enabled=1
gpgcheck=0
kSgCM0OCLw8JdYZM.jpg yum源配置

修改 /etc/yum.repos.d/CentOS-Base.repo 文件(如果没有,需要新建)
内容:
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://10.211.55.21//epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=http://10.211.55.21/epel/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://10.211.55.21/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=http://10.211.55.21/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1
KrGm3dY4Gj2zoJY7.jpg epel源配置

清空yum缓存,新建缓存,查看yum源列表
命令:
yum clean all
yum makecache
yum repolist
VMfD1BMaCM5qU1ou.jpg 查看源



软件安装测试
Rf55114y0ybFD30e.jpg 软件安装测试

至此,yum的在线镜像站搭建完毕,有好的意见或建议,可私信互相交流。


红校生-专注互联技术传道授业!

该用户从未签到

发表于 2020-5-19 09:02:29 | 显示全部楼层
这得要多大的空间进行同步呢

该用户从未签到

发表于 2020-5-19 09:14:20 | 显示全部楼层
内网有这个服务将会非常方便,感谢分享!

该用户从未签到

发表于 2020-5-19 09:26:18 | 显示全部楼层
以前搞过,只不过少了同步这一步,感觉看起来步骤挺多的

该用户从未签到

发表于 2020-5-19 09:38:51 | 显示全部楼层
确实不错

该用户从未签到

发表于 2020-5-19 09:51:05 | 显示全部楼层
转发了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

社区精彩导读

Powered by Discuz! X3.4 © 2006-2020 Comsenz Inc

本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与[小城社区]无关。 如有侵犯您版权的,请邮件与我们联系处理(邮箱:10000@546800.com),本站将立即改正。
快速回复 返回顶部 返回列表