「2023年最新版【初心者】が自前のLinux環境を準備するまで ~第5章~Webサーバー構築」

はじめに

※この記事を始めて読む方へ!!

こちらの記事は6記事に渡るシリーズものの1記事になります。まだ手元に自分のLinux環境がない方は、ぜひ以前の記事も読んでみてください!!

仮想マシンについて:
「2022年最新版【初心者】が自前のLinux環境を準備するまで ~第0章~仮想マシンとは」

仮想化ソフトウェアのインストールについて:
「2022年最新版【初心者】が自前のLinux環境を準備するまで ~第1章~仮想化ソフトウェア(VMware Workstation Player)のインストール」
「2022年最新版【初心者】が自前のLinux環境を準備するまで〜第1章〜仮想化ソフトウェア(VirtualBox)のインストール」

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こんにちは。日本ビジネスシステムズ株式会社の2021年度新卒の岩間です。

Big Data Platformをメインにとり扱う部署でLinux/Hadoop基盤の構築を担当しています。

本記事はLinux環境構築のために必要な技術知識と手順を記載した解説記事です。 IT系キャリア志望の方や情報系の学生、あるいはLinuxに馴染みのないエンジニアの方々といった、Linuxを1から始めたい人が自前のLinux環境(OSはCentOSを使用)を準備して、「Webサーバーを構築」できるようになることを目標としています。

ここまでの記事で自分のLinux VMの作成とネットワークの設定が完了しているかと思います!

今回の記事ではいよいよLinux VMにWebサーバーを構築していきます。前回に続き難しい内容になりますが、落ち着いて手順通りに実施してみてください!

※Webサーバー構築までの解説で1記事で収まらなかったので、章立てにして全部で6回に渡って解説していく予定となっています。

※本シリーズの記事ではVMware Workstation Playerという仮想化ソフトウェアを使用した手順を紹介していきます。

本シリーズの目的としてとりあえず手元に環境を準備するというのを念頭に掲げているため、DNSサーバーなどの説明は最小限かつその知識がなくても作業できるようにしています。ですがぜひ自分でも調べて理解を深めてみてください!

単純に「○○とは」で調べるととても分かりやすく解説されている記事がたくさん見つかるかと思います!

今回できるようになること

今回は今まで作成してきたLinuxマシン上でWebサーバーを構築し、簡易的なWebページを公開します。それをご自身のホストPCのブラウザアプリから閲覧しにいくところまでをご紹介します。

※基本的にインターネットに公開するわけではないのでセキュリティ上も特に問題はありません。

Webサーバーとは

Webサーバーとは、ブラウザ(ユーザー)から受け取ったリクエスト(○○のウェブページが見たい!など)を処理して、そのリクエストに沿ったウェブページをブラウザに返す機能を持ったサーバーのことを言います。

このWebサーバーに表示したいWebページのhtml, css, javascriptファイルなどを置いておくことで、ブラウザからのリクエストに応じたファイルをブラウザに返し、結果としてユーザーが見たいWebページを閲覧することができます。

※基本的にWebサーバーには色々な種類がありますが、本記事では最も普及しているApache(アパッチ) Webサーバーを構築していきます。

【事前作業】DNSサーバーを設定する

※DNSサーバーについての細かい説明はぜひご自身で調べてみてください!一応DNSサーバーの知識がなくても実施できる手順にはなっていますが、理解して進めるとより学びにつながるかと思います!

DNSサーバー設定ファイルを開く
# vi /etc/resolv.conf
キーボードで「i」を入力し編集モードに切り替えて、DNSサーバーのアドレスを入力する

DNSサーバーは自分で構築したりすることもできるのですが、今回はパブリックDNSサーバーという企業が無料で公開しているDNSサーバーを使用することとします。

以下にいくつかパブリックDNSサーバーを紹介しますので、一つ選んで赤枠のように内容を入力してください。

①Google Public DNS:8.8.8.8

②Cloud flare DNS:1.1.1.1

③Quad9:9.9.9.9

例)

nameserver <パブリックDNSサーバーIPアドレス>

設定ファイルの編集を保存し、編集モードを終了する

Escキーを押して画面左下の「-- INSERT --」が消えたことを確認し、「:wq」を入力してEnterキーを押す

【実作業】Webサーバーを構築する

httpdのインストール / 起動

httpdとは、サーバーがApache Webサーバーとして機能するために必要なソフトウェアのことを指します。このhttpdをサーバーにインストールしてあげることでWebサーバーを構築できるということになります。

以下の手順からこのhttpdをインストールする方法を紹介していきます!

httpdをインストールする

以下コマンドを入力

# yum install httpd
httpdがインストールできたことを確認

以下コマンドを入力 ※"yum list installed"だけではインストールされているパッケージがすべて表示されるので、"grep httpd"でhttpdという文字を含んだパッケージのみを表示しています。

# yum list installed | grep httpd

以下のように「httpd.x86_64」と「httpd-tools.x86_64」がインストール済みとして表示されることを確認

httpdの起動状態を確認する

以下コマンドを入力

# systemctl status httpd

以下のように「Active:」の欄が「inactive(dead)」となっていることを確認

httpdを起動する

以下コマンドを入力する

# systemctl start httpd
httpdの起動状態を再確認する

以下コマンドを入力する

# systemctl status httpd

以下のように「Active:」の欄が「active(running)」となっていることを確認

Webサーバーの初期設定 / 動作確認

Webサーバーの初期ページが表示されることを確認する

ブラウザを立ち上げて、自分の作成したLinuxVMのIPアドレスを検索欄に入力する。

以下のような初期ページが表示されることを確認する。

テスト用htmlファイルを作成し、開く

以下コマンドを入力する

# vi /var/www/html/test.html

※こちらで作成するファイルが公開するWebページそのものになります。

キーボードで「i」を入力し編集モードに切り替えて、htmlの内容を記載する

※htmlの内容はご自由に記入ください。htmlについてご存じない方は以下の赤枠の内容を記載してみてください!

※以下html抜粋

<html>
<p>html test</p>
</html>
設定ファイルの編集を保存し、編集モードを終了する

Escキーを押して画面左下の「-- INSERT --」が消えたことを確認し、「:wq」を入力してEnterキーを押す

httpdの再起動

以下コマンドを入力する

# systemctl restart httpd
テスト用htmlページが表示されることを確認

ブラウザで「<Linux VM IPアドレス>/test.html」と検索し、テスト用のhtmlページが表示されることを確認する。

※おまけ:httpdの自動起動をonにしたい場合の手順

上の方の手順で起動していただいたhttpdですが、実はLinuxマシンを停止するとこちらのhttpdも停止してしまいます。ですのでLinuxマシンを起動するときにまたhttpdを起動しないといけないのですが、それが面倒な方は以下の自動起動をお試しください。

これを設定することでLinuxマシンを起動時に自動でhttpdも起動されるようになります。

httpdの自動起動状態を確認する

以下コマンドを入力する

# systemctl is-enabled httpd

httpdの自動起動をonにする

以下コマンドを入力する

# systemctl enable httpd

httpdの自動起動状態を再確認する

以下コマンドを入力する

# systemctl is-enabled httpd

さいごに

今回は簡単なwebサーバーを構築する方法を紹介させていただきました。

今まで第0章から6回に渡って投稿してきた「【初心者】が自前のLinux環境を準備するまで」シリーズですが、今回が最終回となります。

今後もLinux初心者の方が陥りやすい点を解決するような記事をスポットで投稿していこうと思っておりますので、ぜひまた読んでいただければ幸いです!

※繰り返しになりますが、この記事では初学者の方がとりあえず扱える環境を作り上げるというのを第一の目標としているため、細かい用語や仕組みの解説は最小限となっております。一度本記事のWebサーバーを構築できた方は、ぜひ自分で今回疑問に思った点などを調べてみてください!

執筆担当者プロフィール
岩間 義尚

岩間 義尚

2021年度新卒入社後、Hadoopを中心に複数のデータ基盤の開発/運用を経験。 現在はSnowflakeやAzureでのデータエンジニアリングをメインに担当しています。

担当記事一覧