搭建CentOS7内网源

发布时间 2023-12-27 11:33:13作者: 难止汗

需求:因内网环境,无法访问公网,机房新上架一批服务器,使用了centos7的操作系统,为安装软件时方便安装依赖,在内网服务器中搭建了一个centos7的yum源。

yum源服务器:centos7.9系统。

 

外网服务器操作:

1、在一台能够使用外网的服务器中,搭建好网络源(这里使用阿里的源)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 

2、创建一个存放源文件的目录

mkdir /opt/centos7-net

3、安装同步yum源工具

yum -y install yum-utils createrepo

4、同步网络源(根据)

reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /opt/centos7-net

5、生成repodata信息。

createrepo -p  /opt/centos7-net/base/
createrepo -p  /opt/centos7-net/extras/
createrepo -p  /opt/centos7-net/updates/

6、打包同步下来的网络源目录,上传至内网yum源服务器

cd /opt
tar zcf centos7-net.tar.gz centos7-net

6、准备一个nginx的源码包和pcre的源码包,或者pcre-devel的rpm包,传到内网yum源服务器上,我这里内网的centos7服务器使用的最小化安装,我打算编译安装nginx,缺少依赖包,根据实际情况准备。

我这里准备的是:nginx-1.23.4.tar.gz和pcre-devel-8.32-17.el7.x86_64.rpm

 

内网yum源服务器操作

1、在内网服务器(centos7)中配置本地源,(传送阵:配置yum本地源),如果不方便挂在光驱,可以使用ISO镜像,上传ISO镜像后再挂载。例如:mount -t iso9660 -o loop CentOS-7-x86_64-DVD-2009.iso  /mnt

2、安装编译工具和依赖,你可以使用其他方式安装nginx,或者apache。

yum -y install gcc
rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm

3、编译安装nginx

tar zxf nginx-1.23.4.tar.gz
cd nginx-1.23.4
./configure --prefix=/usr/local/nginx  --with-pcre
make && make install

4、配置nginx,在location中添加一行配置。

location / {
            autoindex on;   #添加此行
            root   html;
            index  index.html index.htm;
        }

5、将yum源压缩包解压,并存放到nginx的html目录下,启动nginx

tar zxf centos7-net.tar.gz
mv centos7-net /usr/local/nginx/html/
/usr/local/nginx/sbin/nginx

 

添加ISO镜像中的rpm包

 1、上传ISO镜像,将ISO镜像挂载上。

mkdir /centos7
mount -t iso9660 -o loop CentOS-7-x86_64-DVD-2009.iso /centos7

2、复制镜像文件至nginx的html目录下

mkdir /usr/local/nginx/html/centos7
cp -a /centos7/* /usr/local/nginx/html/centos7/

 

配置服务器yum源

1、删除系统的yum配置,新增内网源配置,配置地址为内网yum源服务器地址。

rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo 
    #添加以下配置
    name=local
    baseurl=http://xxx.xxx.xxx.xxx/centos7/
    enabled=1
    gpgcheck=0

    [base]
    name=local
    baseurl=http://xxx.xxx.xxx.xxx/centos7-net/base/
    enabled=1
    gpgcheck=0

    [extras]
    name=local
    baseurl=http://xxx.xxx.xxx.xxx/centos7-net/extras/
    enabled=1
    gpgcheck=0

    [updates]
    name=updates
    baseurl=http://xxx.xxx.xxx.xxx/centos7-net/updates/
    enabled=1
    gpgcheck=0

2、测试安装软件