在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服务器。如果出现以下画面,则表示成功。
网页服务器停止运行。
[test1@www ~]$ systemctl stop httpd.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
'httpd.service'を停止するには認証が必要です。
Authenticating as:
Password:
==== AUTHENTICATION COMPLETE ====
允许来自主机操作系统以外的访问
当前虚拟机的网络设置是适配器1为NAT,适配器2为仅主机适配器。
主机和客户机的IP地址状态如下。
主机→客户端的Web服务器访问可以通过主机专用适配器轻松实现,但是除了主机之外,在同一局域网内的访问(例如从我的手机访问客户端)需要经过NAT进行访问。
为了通过NAT访问客户端,需要进行端口转发的设置(默认情况下,NAT设置为无法从主机或其他计算机访问)。
在VM的设置中,转到网络→适配器1→高级→端口转发,在以下方式进行设置(名称可以自行选择,主机端口可以选择除了众所周知的端口以外,且在主机上未使用的端口即可)。
请在客户的防火墙上允许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:
在连接网络服务器的情况下,使用智能手机进行连接确认(下图是主机电脑上的浏览器图片,但是智能手机也可以同样连接)。
在浏览器中输入的IPv4地址应该是主机的地址,以及通过端口转发设置的端口号(正如前面所述,由于无法直接访问虚拟机,需要通过主机进行连接)。
关于NAT和端口转发,请参考以下用户手册:
http://download.virtualbox.org/virtualbox/UserManual.pdf