• 通过http将yum仓库发布


    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独构建http和发布yum仓库到内网的参考。

    注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的。

    如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。

    Linux服务综合搭建的文章目录

    ====================================================

    Linux基础服务搭建综合

    1、foundation创建yum仓库

    2、部署DNS

    3、将YUM源通过httpd发布出来

    4、rhel7主机安装JDK

    5、foundation通过Rsyslog搭建集中日志服务器

    6、foundation LAMP环境搭建

    7、foundation搭建NFS服务

    8、rhel7 JAVA web环境搭建(使用Tomcat8整合httpd)

    9、foundation自建CA实现HTTPS

    10、foundation配置kerberos和NTP服务以及安全的NFS挂载

    11、foundation提供SAMBA服务

    12、rhel7 配置软ISCSI存储

    13 rhel7主机配置端口转发和地址伪装

    ====================================================

    主机角色说明

    3、通过http将yum仓库发布

    在foundation配置一个httpd服务(监听在80端口),用于我们把YUM源通过http发布出来。域名是pakg.mei.com

    3.1 安装httpd

    1 [root@foundation:~# yum install httpd
    2 
    3 [root@foundation:~# systemctl enable httpd && systemctl restart httpd && systemctl status httpd
    4 
    5 [root@foundation:~# firewall-cmd --permanent --add-service=httpd && firewall-cmd --reload

    部分截图如下

    设置服务为开机自启动,并且重启和查看运行状态。

     

    配置防火墙,允许http服务通过,也可以直接手动添加端口。

     

    把yum仓库实际位置做一个软链接到站点下。

    把yum仓库实际位置做一个软链接到站点下,但是这样其实不够安全(虽然我们有开启了SELinux),

    如果这样做我们就得在httpd中允许FollowSymLinks符号链接,但是我们一般不希望这样。

    所以这里我们直接把整个yum仓库移动到站点下。

    配置SELinux

    1 [root@foundation:/# semanage fcontext -a -t httpd_sys_content_t '/web(/.*)?'
    2 
    3 [root@foundation:/# restorecon -FRv /web/

    下面是部分截图

    配置虚拟主机

    先移除默认的虚拟主机,配置文件为:welcome.conf,因为我们要做的是下载站,所以没有主页,当没有默认主页的时候这个welcome.conf中定义的虚拟主机是会自动跳转到默认错误页面的。

    先去掉主配置文件中的FollowSymLinks ,我们不需要。

    由于我们做的是下载站,所以保留Indexes参数,这样能够进行目录浏览。

     

    我们在单独的文件中配置好虚拟主机。pakg.conf文件,名字无所谓,但后缀一定要是.conf,名字也最好能够有点意义。

    说明:我们这里也特意定义了 Options Indexes 目的是当我们这里还有其它虚拟主机的时候,

    其它虚拟主机我们可能不希望能够进行目录浏览,所以就必须去掉主配置文件中的Options Indexes,

    这时候如果我们在这个虚拟主机中单独定义了,就不会对我们这个虚拟主机造成影响。

    [root@foundation:/# cat >>/etc/http/conf.d/pakg.conf<<EOF
    <VirtualHost *:80>
            DocumentRoot "/web/www/pakg"
            ServerName "pakg.mei.com"
            Options Indexes 
            <Directory />
                    Require all denied
                    AllowOverride None
            </Directory>
            <Directory "/web/www">
                    Require all granted
                    AllowOverride None
            </Directory>
            <Directory "/web/www/pakg">
                    Require all granted
                    AllowOverride None
            </Directory>
    </VirtualHost>
    EOF

    测试语法,如果遇到下面的问题

    httpd: Could not reliably determine the server's fully qualified domain name, using fe80::8a46:263a:8482:f2ac. Set the 'ServerName' directive globally to suppress this message
    译:
    httpd:使用fe80 :: 8a46:263a:8482:f2ac无法可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以禁止显示此消息

    进入httpd的主配置文件/etc/httpd/conf/httpd.conf中,将添加ServerName localhost:80或者ServerName localhost即可。

    再次测试语法(能通过)

    重启httpd服务,没有任何问题。

    3.3 测试YUM源

    由于这里我们yum源做的是RHEL7的,大版本更替不能把软件冒然安装在RHEL6上,所以我们用RHEL7这台主机做测试

    配置YUM源

    注意:这里的baseurl的路径一般配置到YUM的repodata目录的上一级,它会自动去找repodata目录,这里不要指定错了。

    测试

    3.4 测试

    3.4.1 尝试安装软件

    能够正常解析依赖,下载并安装软件,说明没有问题

    3.4.2 图形化的Firefox进行访问

    在rhel7主机上打开Firefox,输入http://pakg.mei.com

    能够正常访问

     

    最后希望大家提意见、转发、评论和交流!!!

  • 相关阅读:
    Less简介及安装
    Less功能特性
    vue相关技术
    Vue+Bootstrap实现购物车程序(3)
    vue的[__ob__: Observer]
    Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
    Angular 中的 asyncPipe 源码探究
    Vue Template 修饰符和简写,让开发效率有所提高
    使用 React Testing Library 和 Jest 完成单元测试
    异步堆栈追踪:为什么 await 胜过 Promise?
  • 原文地址:https://www.cnblogs.com/meizy/p/httpd_yum.html
Copyright © 2020-2023  润新知