Virtual Box + CentOS Minimal + Apache搭建Web服务器

时间:2023-03-09 05:38:24
Virtual Box + CentOS Minimal + Apache搭建Web服务器

  本文并不介绍关于Virtual Box, CentOS, Apache的安装, 主要针对安装后相关的配置, 使宿主机(Host)可以访问客户机(Guest: CentOS in Virtual Box)提供的Web服务.

  1. Virtual Box网络设置

    网上不少文章说要使用Host访问Guest的Web服务, 需要提供两种网络(NAT与HostOnly), 实际上我们只需要使用NAT网络即可达到目的.

    Virtual Box + CentOS Minimal + Apache搭建Web服务器

    以网卡1为例, 在连接方式中选择"网络地址转换(NAT)", 混杂模式设为"拒绝";

    单纯使用NAT不能使Host直接访问Guest, 需要通过设置端口映射,

    Virtual Box + CentOS Minimal + Apache搭建Web服务器

    上图所示, 我们将Host的部分端口映射到Guest上, 如我们访问 http://127.0.0.1:80 即是即问CentOS的80端口.

  2. CentOS的配置

    当设置好端口映射后, 通过浏览器访问 http://127.0.0.1:80 时并不能打开Guest提供的Web服务; 但是通过SSH方式正常连接Guest.

    通过 netstat -tlpn 查看CentOS的端口信息:

    Virtual Box + CentOS Minimal + Apache搭建Web服务器

    其中虽然有监听80端口, 但仅是针对tcp6 (ip6), 而tcp (ip4)并末监听该端口, 故使用浏览器连接时不能正常打开web服务.

    可以通过如下命令打开端口80并允许iptable4s 访问:

    iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

    并使用 service iptables save 保存配置.

    使用IE访问CentOS中的Apache如下所示:

    Virtual Box + CentOS Minimal + Apache搭建Web服务器

  1. 参考资料

    设置iptable4s 并打开相应端口:

    http://serverfault.com/questions/324190/virtualbox-and-centos-6-cannot-connect-to-httpd

    安装iptables4服务:

    http://*.com/questions/24756240/how-can-i-use-iptables-on-centos-7