【Azure-08】仮想マシン(Linux)_Apacheインストール、NICネットワークセキュリティグループの設定

仮想マシン(Linux)へApacheをインストールし、WEB接続できるか検証します。
Windowsの仮想マシン同様、作業のなかで受信ポートを許可するためにNICネットワークセキュリティグループも設定してみます。
UbuntuでWebサーバー構築の事前設定
Debian GNU/Linuxを母体としたオペレーティングシステム(OS)のUbuntuは、さわったことがありません。
なので何が正解かなどまったくわかっておりません。今回は目的であるWebサーバーを立てて外部から閲覧するを達成できればどんな設定でもよいという考えのもと設定していきますのご了承ください。
●rootになるには
rootになるには「sudo su -」で大丈夫でした。仮想マシン構成時に設定されているようです。
●ファイアウォール的なものを無効化する
ファイアウォールの管理は、「ufw」コマンドを使うようです。
「ufw status」で確認すると「Status: inactive」となりました。
念のため「ufw disable」を実行して再度確認しましたが結果は同じでした。

●AppArmorを無効化する
AppArmor は、プロセスの動作を制御する仕組みのようです。
理解できておりませんが検証時に何かとブロックなど発生したら嫌なので無効化します。
ちなみに 「systemctl」コマンドが使えるんですね。ググってる時に気づきました。
「systemctl status apparmor」を実行すると「active」になっていました。
「systemctl stop apparmor」を実行して停止します。
「apt remove apparmor」を実行してアンインストールしておきます。
UbuntuでWebサーバー構築
Webサーバーに必要なApacheをインストールしていきます。
1行目と2行目でaptのupdateとupgradeを行い、3行目でapacheをインストールするようです。うまくいきました。
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get -y install apache2
ステータスを確認すると起動していました。
sudo systemctl status apache2
NICネットワークセキュリティグループの設定
80番ポートの受信を許可します。
仮想マシン作成時に「NICネットワークセキュリティグループ」を「Basic」にしていたため、NICセキュリティグループが機能しています。
NICネットワークセキュリティグループですのでサブネット全体ではなく、仮想マシン自体に適用されています。

「NICネットワークセキュリティグループ」は、現在22番ポートしか許可してないので外部からhttp(80番ポート)による接続ができません。
そこでセキュリティグループの受信セキュリティ規則へ80番ポートが許可されるよう設定したいと思います。
ホーム画面の検索ボックスへ「ネットワーク」と入力し、表示された候補の「ネットワークセキュリティグループ」を選択すると「ネットワークセキュリティグループ」画面へ遷移します。

該当のネットワークセキュリティグループ名をクリックします。

左ペインの「受信セキュリティ規則」をクリックすると設定状況の一覧が表示されます。

上部の「+ 追加」をクリックします。
以下のとおりサービスで「HTTP」を選択、アクションが「許可」であることを確認し、追加をクリックします。

規則が追加されました。

外部からブラウザで「http://パブリックIPアドレス」へアクセスするとApacheのスタートページが表示されたので「受信セキュリティ規則」の設定は正常に機能していると思われます。

IPアドレスではなくサーバー名でアクセスできるよう設定します。
cd /etc/apache2/sites-available
000-default.conf ファイルの「ServerName」の箇所をコメントアウトして「www.20230908.com」へ変更します。


サービスを再起動します。
systemctl restart apache2
接続元のhostsファイルへ「パブリックIPアドレス www.20230908.com」を追記します。
C:\Windows\System32\drivers\etc\hosts
外部から「http://www.20230908.com」が表示されました。

次にWindowsと同じようにindex.htmlを作成して外部から「http://www.20230908.com/index.html」が表示されるか確認します。
index.htmlファイルは、DocumentRootである「/var/www/html」へ配置します。

外部から「http://www.20230908.com/index.html」が表示されました。

まとめ
仮想マシンのLinuxでApacheを構築して外部から閲覧することができました。次はロードバランサーを作成したいと思います。