0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VirtualBox上のCentOSにApacheをインストール

Last updated at Posted at 2020-10-24

VitrualBoxのCentOSにApacheをインストールした時の備忘録。

#環境
以下の記事でCentOSの基本設定をしたことを前提としている。
https://qiita.com/kazu_kazu/items/6e8dd09a5b0f641c3bf3

MacBook Pro (macOS Catalina バージョン10.15.6)
VirtualBox 6.1.14
CentOS 8.2
Apache 2.4.37

#Apacheインストール

以下の記事のとおりにインストール。
WEB ARCH LABO
「Apache httpd 2.4 を CentOS 7 に yum でインストールする手順」
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

Webサーバ停止。

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

#ホストOS以外からのアクセスの有効化

現在の仮想マシンのネットワーク設定はアダプタ1のNATとアダプタ2のホストオンリーアダプターである。
ホスト、ゲストのIPアドレスの状態は以下のとおり。

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

ホスト→ゲストのWebサーバへのアクセスは、ホストオンリーアダプタにより簡単に実現できるが、ホスト以外で同一LAN内のアクセス(自分のスマホからゲストへのアクセスなど)は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: 

ゲストでWebサーバを起動した上で、スマホで接続を確認する(以下の写真はホストPCのブラウザの写真であるが、スマホでも同様に接続できた。)。

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

ブラウザに入力するIPv4アドレスはゲストのものではなく、ホストのIPv4アドレスとポートフォワーディングで設定したポート番号を入力する(前述したが、NATでは直接ゲストにアクセスできないため、ホスト経由で接続する。)。

NATやポートフォワーディングについては以下のユーザマニュアルを参考にした。
http://download.virtualbox.org/virtualbox/UserManual.pdf

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?