在VirtualBox上安装Apache至CentOS

安装Apache时在VirtualBox的CentOS上的备忘录。

环境- 环境

前提是在以下文章中已经完成了CentOS的基本设置。
https://qiita.com/kazu_kazu/items/6e8dd09a5b0f641c3bf3

以下是中文的同义句:

苹果 Macbook Pro(macOS Catalina 10.15.6 版)
虚拟机软件 VirtualBox 6.1.14
操作系统 CentOS 8.2
Web 服务器软件 Apache 2.4.37

安装Apache

按照以下的文章描述进行安装。
WEB ARCH LABO
「在CentOS 7上使用yum安装Apache httpd 2.4的步骤」
https://weblabo.oscasierra.net/apache-installing-apache24-yum-centos7-1/

并非从源代码安装,而是使用yum进行安装。
首先,显示包的信息以确认要安装的版本。

[test1@www ~]$ yum info httpd
CentOS-8 - AppStream                            4.8 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                  11 kB/s | 3.9 kB     00:00    
CentOS-8 - Extras                               4.4 kB/s | 1.5 kB     00:00    
利用可能なパッケージ
名前         : httpd
バージョン   : 2.4.37
リリース     : 21.module_el8.2.0+494+1df74eae
Arch         : x86_64
サイズ       : 1.7 M
ソース       : httpd-2.4.37-21.module_el8.2.0+494+1df74eae.src.rpm
リポジトリー : AppStream
概要         : Apache HTTP Server
URL          : https://httpd.apache.org/
ライセンス   : ASL 2.0
説明         : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

接下来是安装。

[test1@www ~]$ sudo yum -y install httpd
[test1@www ~]$ httpd -v
Server version: Apache/2.4.37 (centos)
Server built:   Sep 15 2020 15:41:16

确认启动和停止

[test1@www ~]$ systemctl start httpd.service 
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
'httpd.service'を開始するには認証が必要です。
Authenticating as: 
Password: 
==== AUTHENTICATION COMPLETE ====

[test1@www ~]$ systemctl status httpd.service 
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pres>
   Active: active (running) since Sat 2020-10-24 16:57:35 JST; 45s ago
     Docs: man:httpd.service(8)
 Main PID: 33732 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 4876)
   Memory: 20.9M
   CGroup: /system.slice/httpd.service
           ├─33732 /usr/sbin/httpd -DFOREGROUND
           ├─33737 /usr/sbin/httpd -DFOREGROUND
           ├─33738 /usr/sbin/httpd -DFOREGROUND
           ├─33739 /usr/sbin/httpd -DFOREGROUND
           └─33740 /usr/sbin/httpd -DFOREGROUND

在主机浏览器中输入http://(已安装Apache的虚拟机的IP地址)以访问Web服务器。如果出现以下画面,则表示成功。

スクリーンショット 2020-10-24 17.02.34.png

网页服务器停止运行。

[test1@www ~]$ systemctl stop httpd.service 
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
'httpd.service'を停止するには認証が必要です。
Authenticating as: 
Password: 
==== AUTHENTICATION COMPLETE ====

允许来自主机操作系统以外的访问

当前虚拟机的网络设置是适配器1为NAT,适配器2为仅主机适配器。
主机和客户机的IP地址状态如下。

OSインターフェース名IPv4アドレスゲストenp0s3(NAT)10.0.2.15ゲストenp0s8(ホストオンリーアダプタ)192.168.56.10ホストen0192.168.0.4ホストvboxnet0(ホストオンリーアダプタ)192.168.56.1

主机→客户端的Web服务器访问可以通过主机专用适配器轻松实现,但是除了主机之外,在同一局域网内的访问(例如从我的手机访问客户端)需要经过NAT进行访问。
为了通过NAT访问客户端,需要进行端口转发的设置(默认情况下,NAT设置为无法从主机或其他计算机访问)。

在VM的设置中,转到网络→适配器1→高级→端口转发,在以下方式进行设置(名称可以自行选择,主机端口可以选择除了众所周知的端口以外,且在主机上未使用的端口即可)。

スクリーンショット 2020-10-24 21.00.17.png

请在客户的防火墙上允许HTTP连接。目前无法确定为什么主机模式适配器无法连接。

[root@www ~]# firewall-cmd --add-service=http --permanent 
success
[root@www ~]# firewall-cmd --reload 
success
[root@www ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources: 
  services: cockpit dhcpv6-client http
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

在连接网络服务器的情况下,使用智能手机进行连接确认(下图是主机电脑上的浏览器图片,但是智能手机也可以同样连接)。

スクリーンショット 2020-10-24 21.05.18.png

在浏览器中输入的IPv4地址应该是主机的地址,以及通过端口转发设置的端口号(正如前面所述,由于无法直接访问虚拟机,需要通过主机进行连接)。

关于NAT和端口转发,请参考以下用户手册:
http://download.virtualbox.org/virtualbox/UserManual.pdf

广告
将在 10 秒后关闭
bannerAds