> Linux教程 >

RedHat/CentOS6制作本地http yum软件源

前两篇文章分别介绍了:
RedHat/CentOS6使用DVD光盘做yum软件源
RedHat/CentOS6使用ISO镜像做yum软件源

但这两种方法搭建的本地yum软件源只能给本机使用,假设局域网中有多台服务器呢?不可能每台服务器都这样一个一个搭建本地源吧?
那如何解决这个问题呢?
首先我们可以联想到RedHat/CentOS系统默认yum就是基于http方式的,那如果我们在局域网中的某台服务器上部署一个http yum软件源,这个问题就很好解决了。
接下来讲解在局域网中搭建RedHat/CentOS本地http yum软件源的具体步骤:
一、挑选局域网中的一台服务器做为http yum软件源服务器,建议关闭这台服务器的Linux防火墙以及SELINUX,避免局域网中其他服务器无法穿过其防火墙而导致访问http源。
1、关闭防火墙(如果你很精通Linux防火墙亦可将80端口设置放行):
view source
 
print?
1 # chkconfig iptables off

2、关闭SELNUX:

view source
 
print?
1 # 修改SELINUX配置
2 # vim /etc/sysconfig/selinux
3 SELINUX=enforcing
4 修改为:
5 SELINUX=disabled
6 # “wq!”保存退出

二、http yum软件源服务器需要安装http服务器组件(如Apache),要安装Apache,还得先搭建个本地源,具体可根据情况参考下面两篇教程:
1、RedHat/CentOS6使用DVD光盘做yum软件源
2、RedHat/CentOS6使用ISO镜像做yum软件源

部署好本地源后,安装Apache:

view source
 
print?
1 # yum -y install httpd
2 # 安装完Apache就可以卸载之前创建的DVD/ISO本地源了:
3 # umount /mnt/cdrom/

三、修改Apache配置文件:

view source
 
print?
1 # vi /etc/httpd/conf/httpd.conf
2 # 找到:
3 ServerName www.example.com:80
4 # 修改为:
5 ServerName localhost
6 # 然后按“Esc”退出编辑模式,再按“Shift”+“:”+“wq!”保存修改并退出
7 # 接下来删除Apache的默认测试页面:
8 # rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
9 # 接下来就可以启动或者重启Apache了:
10 # /etc/init.d/httpd start/restart

四、挂载ISO或者光驱到Apache默认HTTP目录/var/www/html

view source
 
print?
1 # 挂载系统ISO镜像用下面的命令(注意把/home/yimiju换成你的ISO镜像文件路径):
2 # mount -o loop /home/yimiju/rhel-server-6.4-x86_64-dvd.iso /var/www/html/
3 # 挂载光驱则用下面的命令
4 # mount /dev/cdrom /var/www/html/
5 # 如果提示:mount: block device /dev/sr0 is write-protected, mounting read-only,则说明挂载成功
6 # 注意:如果需要开机自动挂载,则将相应的mount指令放到/etc/rc.local文件的exit 0之前

五、用浏览器检测http是否制作成功:
用IE浏览器访问,例如我的http yum软件源服务器IP是192.168.100.2,则打开:

http://192.168.100.2

如果列出了光盘/ISO镜像中的文件内容,恭喜你,http yum软件源制作成功!

六、其他服务器配置http yum源,指向本地http yum软件源服务器:

view source
 
print?
1 # cd /etc/yum.repos.d/
2 # mkdir -p bak
3 # 接下来将之前的yum配置文件移动到上面创建的bak文件夹中 
4 # mv *.repo bak/
5 # 接下来添加一个新的yum源配置文件
6 # vi /etc/yum.repos.d/http.repo
7 # 按“Insert”键进入编辑模式,复制下面的内容到配置文件(注意将192.168.100.2修改成你的http yum软件源服务器IP)
8 [rehl-http]
9 name=rehl-http
10 baseurl=http://192.168.100.2
11 gpgcheck=0
12 enabled=1
13 gpgkey=http://192.168.100.2/RPM-GPG-KEY-redhat-release
14 # 然后按“Esc”退出编辑模式,再按“Shift”+“:”+“wq!”保存修改并退出
15 # 清理yum:
16 # yum clean all
17 # 更新源,测试是否能安装软件:
18 # yum update
19 # yum install 你要安装的软件包名

七、其他说明(建议阅读):
1、按照上面的教程,如果http yum软件源服务器系统重启,Apache不会自动启动,http yum软件源也就无法使用。
出于安全考虑,我个人建议局域网其他服务器需要安装软件时,再手动启动Apache。如SSH登录到http yum软件源服务器,通过下面命令手动启动Apache:

view source
 
print?
1 # /etc/init.d/httpd start

2、如果确实需要http yum软件源服务器系统重启后Apache自动启动,请用下面的指令设置Apache开机自动启动:

view source
 
print?
1 # chkconfig httpd on
(责任编辑:IT)