在搭建本地局域网yum源之前,这里作为测试,首先需要准备最少两台机器,一台yum源服务器,一台使用yum的客户端机器.
本文以两种方式发布让yum源服务器发布,第一种是httpd,第二种是nginx
强推使用文章末尾的nginx代理yum>>>简单
这里使用centos7作为演示,首先在服务器机器中配置本地yum源,教程这里就不说了,参考本人的上一篇博客
本地yum源搭建好了,开始进入正题,现在开始创建yum源仓库
1.安装所需依赖httpd,createrepo
# yum install httpd createrepo
2.新建yum源目录并拷贝相关镜像文件:
# mkdir -p /data/yum.repo/centos/7/os/x86_64/Packages # mkdir -p /data/yum.repo/centos/7/updates/x86_64/Packages # mkdir -p /data/yum.repo/tools/ # cp -R /mnt/iso/Packages/* /data/yum.repo/centos/7/os/x86_64/Packages/ # cp -R /mnt/iso/repodata /data/yum.repo/centos/7/os/x86_64 # cp -R /mnt/iso/repodata /data/yum.repo/centos/7/updates/x86_64 # cp -R /mnt/iso/repodata /data/yum.repo/tools # cp -R /mnt/iso/RPM-GPG-KEY-CentOS-7 /data/yum.repo/
3 附上createrepo创建语句
#更新或创建主目录文件索引
#createrepo /data/yum.repo/centos/7/os/x86_64
#更新或创建升级目录文件索引
#createrepo /data/yum.repo/centos/7/updates/x86_64/
#更新或创建tools目录文件索引
#createrepo /data/yum.repo/tools
#更新或创建yum组索引,yum组,比如admintools 它包含多个rpm,可以用yum grouplist查看
#createrepo -g /data/yum.repo/repodata/comps.xml /var/www/html/centos/7/updates/x86_64/ #createrepo -g /data/yum.reporepodata/comps.xml /var/www/html/centos/7/os/x86_64/
4.启动Httpd服务
#删除原有的/var/www/html目录
# rm -rf /var/www/html
#建立安装文件软连接
# ln -s /data/yum.repo /var/www/html
#启动服务
systemctl start httpd
#查看是否启动成功
systemctl status httpd
#验证yum源是否可以正常访问
#wget http:// 192.168.1.102/RPM-GPG-KEY-CentOS-7
#如不能正常访问,查看防火墙,selinux
#查看防火墙状态 #systemctl status firewalld #关闭防火墙 #systemctl stop firewalld #查看selinux状态,将其修改为permissive模式 #getenforce #setenforce 0
#修改httpd配置文件
#vim /etc/httpd/conf/httpd.conf
定位到 <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Deny from all </Directory> 修改 <Directory "/data/iso">#路径填写自己本地yum挂载的位置 Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
5 至此服务器端yum源就配置好了,下面配置客户机端
进入/etc/yum.repo,把所有的配置放入备份目录,使其不生效,并创建本地yum配置文件
#cd /etc/yum.repo # mkdir bak #mv *.repo bak # vim local.repo
local.repo内容如下
[iso] name=CentOS-7-x86_64-Everything-iso baseurl=http://192.168.1.102/centos/$releasever/os/$basearch gpgcheck=1 enabled=1 gpgkey=http://192.168.1.102/RPM-GPG-KEY-CentOS-7
6 进行客户机测试
#yum clean all #yum makecache
下面进入重点了,yum服务器使用nginx进行yum源的发布
1.yum服务器的电脑上安装nginx,首先安装nginx所需依赖
#yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2.上传nginx压缩包并解压(工具FileZillaPortable,使用自己经常使用的即可)
找到压缩包地址进行解压
#tar -zxvf nginx-1.6.2.tar.gz
3.解压完成进入nginx目录进行编译
#cd nginx-1.6.2 #./configure #make #make install
4.进入nginx编译后的目录,修改配置文件
#默认文件路径在/usr/lcoal/nginx #cd /usr/local/nginx #cd conf #vim nginx.conf
配置文件内容如下/data/yum.repo为createrepo镜像位置
5.最后一步,修改客户端yum配置
[iso] name=CentOS-7-x86_64-Everything-iso baseurl=http://192.168.1.102:8888/centos/$releasever/os/$basearch gpgcheck=1 enabled=1 gpgkey=http://192.168.1.102:8888/RPM-GPG-KEY-CentOS-7
至此本地局域网yum源就配置完成了,如有错误的地方,欢迎大家来指点