Apache HTTPD のインストール

LinuxBeginner
オンラインで実践に進む

はじめに

Apache HTTP Server(一般に単に Apache と呼ばれます)は、広く利用されている Web サーバーソフトウェアです。初期の Web の発展に大きく貢献し、現在も Linux 管理における重要な要素です。

Apache が特に大きな影響力を持つようになった理由は、長い歴史、豊富なモジュールエコシステム、柔軟な設定モデルにあります。現在でも、多くの Linux システム、チュートリアル、レガシーアプリケーションが Apache に大きく依存しています。

この歴史的な利用実績は重要です。実際の運用業務では、新しいプロジェクトが別の Web サーバーを選んでいても、Apache ベースのシステムを引き継ぐことが多いからです。

Web サーバーは、図書館司書のようなものだと考えることができます。

  • 図書館はサーバーです。
  • 本はファイル(HTML ページ、画像など)です。
  • 司書は Apache です。

ユーザーが Web サイトにアクセスすると、特定の本を司書に求めていることになります。司書はファイルを見つけ、ユーザーに渡します。

この実験では、次の操作を行います。

  1. Apache をインストールする:ソフトウェアをシステムに導入します。
  2. サービスを開始する:リクエストを処理できるよう、サーバーを起動します。
  3. Document Root を確認する:Web サイトのファイルが保存されている場所を確認します。
  4. カスタムページを公開する:独自の「Hello World」Web ページを作成します。

この実験は、完全な初心者を対象に設計されています。事前の経験は必要ありません。

Apache HTTP Server をインストールする

このステップでは、Apache Web サーバーソフトウェアをインストールします。

Ubuntu および Debian ベースのシステムでは、Apache パッケージの名前は apache2 です。CentOS や RHEL などのディストリビューションでは、通常 httpd と呼ばれます。この環境は Ubuntu を使用しているため、apache2 を使用します。

次のコマンドを実行して Apache をインストールします。

Nginx の場合と同様に、パッケージをインストールするとソフトウェアとデフォルト設定ファイルが導入されます。ただし、これだけでサーバーがすでに起動し、リクエストを正しく処理していることが確認できるわけではありません。

sudo apt install apache2 -y
  • sudo:管理者権限でコマンドを実行します。
  • apt install:パッケージをインストールするコマンドです。
  • -y:確認プロンプトに自動的に「yes」と回答します。

インストールが完了したら、インストールされたバージョンを確認して、処理が正常に完了したことを確認します。

apache2 -v

Server version: Apache/2.4.x のような出力が表示されれば、Apache がインストールされています。

Apache サービスを開始する

Apache のインストールが完了したので、サービスを開始します。ソフトウェアをインストールしただけでは、Web サーバーのプロセスは自動的に開始されません。

これは、他のデーモンで確認した「インストール済みソフトウェア」と「実行中のサービス」の違いと同じです。サーバーパッケージがディスク上に存在していても、HTTP トラフィックを待ち受けるプロセスが実行されているとは限りません。

service コマンドを使用して Apache サービスを開始します。

sudo service apache2 start

次に、サービスが実行中であることを確認します。

sudo service apache2 status

apache2 is running を示すメッセージが表示されれば、サービスは実行中です。

本番環境では通常、systemctl enable apache2 を使用して、サーバーの起動時に Apache が自動的に開始するよう設定します。ただし、この実験環境では、サービスを手動で開始すれば十分です。

Document Root を確認する

Apache は、Web サイトのファイルを探す場所を認識する必要があります。この場所を Document Root と呼びます。

Ubuntu のデフォルトでは、Document Root は /var/www/html にあります。Apache をインストールすると、このディレクトリにデフォルトの「It works!」という HTML ファイルが配置されます。

Document Root は、静的コンテンツを提供する際の Apache のデフォルトの起点です。特別なルーティングやアプリケーションロジックを使用しない場合、リクエストは通常、このディレクトリ配下のファイルに対応付けられます。

次のコマンドで Document Root ディレクトリに移動します。

cd /var/www/html

ディレクトリ内のファイルを一覧表示します。

ls -l

index.html という名前のファイルが表示されます。このファイルは、Web サーバーのアドレスにアクセスしたときに提供されます。

カスタム Web ページを公開する

ここでは、Apache のデフォルトページを独自のメッセージに置き換えます。

/var/www/html は root ユーザーが所有しているため、このディレクトリ内のファイルを変更するには sudo を使用する必要があります。ここでは、既存の index.html を上書きする簡単なコマンドを使用します。

次のコマンドを実行して、「Hello LabEx」という内容の新しい index.html ファイルを作成します。

echo "Hello LabEx" | sudo tee /var/www/html/index.html
  • echo "Hello LabEx":Hello LabEx というテキストを生成します。
  • |:そのテキストを次のコマンドにパイプで渡します。
  • sudo tee ...:受け取った入力を、root 権限を使用して指定したファイルに書き込みます。

ファイルの内容を確認します。

cat /var/www/html/index.html

最後に、localhost(自分のコンピューター)へリクエストを送信して Web サーバーをテストします。

curl localhost

出力に Hello LabEx と表示されれば、Apache が実行中で、カスタムページを提供していることが確認できます。

これで、あらゆる Web サービスに共通する一連の流れ、つまりプログラムのインストール、デーモンの起動、Document Root へのファイル配置、クライアントへの HTTP レスポンス到達を確認できました。

まとめ

この実験では、Apache HTTP Server のインストールと設定を正常に行いました。次の操作を学びました。

  • Ubuntu に apache2 パッケージをインストールする。
  • Apache サービスを開始し、状態を確認する。
  • デフォルトの Document Root /var/www/html に移動する。
  • デフォルトの index.html を独自のコンテンツに置き換える。

これらは、Web サーバー管理の第一歩です。これで、静的な Web ページをホストできる稼働中の Web サーバーを利用できるようになりました。