【Apache】とは?Web サーバーの仕組みと Ubuntu へのインストール手順

  • URLをコピーしました!
目次

はじめに

Web サービスを公開する際、システム基盤として欠かせないのが Web サーバーソフトウェアです。中でも「Apache(アパッチ)」は、長年にわたり世界中で広く利用されている代表的なソフトウェアの一つです。

本記事では、Apache の基本的な役割やよく目にするライセンスに関する基礎知識から、Ubuntu 環境へのインストール手順、そしてテスト環境での利用を想定した HTTPS 化(自己署名証明書の設定)までを解説します。

この記事でわかること
  • Apache の基本概念と「Apache License 2.0」の意味
  • Ubuntu 環境における Apache2 のインストールおよび起動確認手順
  • Web サーバーを公開するためのファイアウォール(UFW)の許可設定
  • テスト環境向けの自己署名証明書を用いた HTTPS 化の手順

Apache(アパッチ)とは?

Apache(正式名称: Apache HTTP Server)は、Apache ソフトウェア財団が開発・提供しているオープンソースの Web サーバーソフトウェアです。

世界中で利用される Web サーバーソフトウェアの概要

Web サーバーの主な役割は、ユーザーの Web ブラウザ(クライアント)からのリクエストを受け取り、指定された HTML ファイルや画像などのデータを応答として返すことです。 Apache は1995年の公開以来、長きにわたり世界中の Web サイトで稼働してきた実績があります。モジュールを追加することで機能を柔軟に拡張できる点が特徴であり、小規模なテスト環境から大規模な商用サービスまで幅広く利用されています。

検索でよく見る「Apache 2.0(Apache License 2.0)」との違い

インターネット上で「Apache 2.0」と検索すると、Webサーバーのソフトウェア自体ではなく「Apache License 2.0」に関する情報が多くヒットします。両者は名前が似ていますが、指し示す内容が異なります。

Apache License 2.0

Apache ソフトウェア財団が定めた、ソフトウェアの「利用許諾条件(ライセンス)」の名称です。商用利用や改変が比較的自由に行える使い勝手の良さから、Apache 以外の多くのオープンソースソフトウェアでも採用されています。

apache2

Ubuntu などの Linux 環境において、Web サーバーである「Apache HTTP Server のバージョン2系(現在は主に2.4系)」をインストールする際のパッケージ名です。

ソフトウェアのバージョン(apache2)と、利用規約の名称(Apache License 2.0)は混同されやすいため、情報を調べる際は目的に応じて区別しましょう。

Ubuntu への Apache2 インストール手順

Ubuntu 環境に Apache2 をインストールし、外部からアクセス可能な Web サーバーとして稼働させるための基本手順を解説します。

パッケージの更新とインストールコマンド

まず、システムのパッケージリストを最新状態に更新し、その後に Apache2 本体をインストールします。ターミナルで以下のコマンドを実行します。

sudo apt update
sudo apt install apache2 -y

サービスの起動とステータス確認

インストールが完了したら、Apache2 のサービスを起動し、OS の再起動時にも自動で立ち上がるように設定を有効化します。

sudo systemctl start apache2
sudo systemctl enable apache2

サービスが正常に稼働しているかを確認するには、以下のステータス確認コマンドを実行します。

sudo systemctl status apache2

出力結果の中に Active: active (running) と表示されていれば、Web サーバーは正常に起動しています。確認後は q キーを押して元のプロンプトに戻ります。

ファイアウォール(UFW)の通信許可設定

Web サーバーが起動していても、Ubuntu の標準ファイアウォールである UFW(Uncomplicated Firewall)で通信が遮断されていると、外部ブラウザからのアクセスができません。 HTTP(80番ポート)とHTTPS(443番ポート)の両方の通信を許可するため、以下のコマンドで「Apache Full」プロファイルを適用します。

sudo ufw allow 'Apache Full'

設定が正しく反映されたかを確認するには、以下のコマンドを実行します。

sudo ufw status

出力リスト内に Apache FullALLOW(許可)として表示されていれば設定は完了です。 この状態で、Web ブラウザから http://サーバーのIPアドレス にアクセスすると、Apache のデフォルトのテストページ(Apache2 Ubuntu Default Page)が表示されます。

テスト環境向けの HTTPS 化(自己署名証明書の設定)

Web サービスを安全に運用するためには HTTPS(暗号化通信)が必須です。ここでは、開発やテスト環境での利用を想定し、自分で発行する「自己署名証明書(オレオレ証明書)」を用いた HTTPS 化の手順を解説します。

自己署名証明書(オレオレ証明書)の作成

OpenSSL を使用して、有効期限が365日の秘密鍵と自己署名証明書を作成します。以下のコマンドを実行し、プロンプトに従って国名や組織名などの情報を入力します(テスト用のため、すべて Enter キーでスキップしても構いません)

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

SSL 設定の有効化と Apache の再起動

作成した証明書を Apache に読み込ませるため、SSL 用の設定ファイルを編集します。 まず、デフォルトの設定ファイルをバックアップしてからエディタで開きます。

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
sudo vi /etc/apache2/sites-available/default-ssl.conf

ファイル内の以下の2行を見つけ、先ほど作成した証明書と秘密鍵のパスにそれぞれ書き換えます。

SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile   /etc/ssl/private/apache-selfsigned.key

設定を保存して終了した後、SSL モジュールと SSL サイト設定を有効化し、Apache を再起動して設定を適用します。

sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2

設定完了後、ブラウザから https://サーバーのIPアドレス にアクセスします。

自己署名証明書は公的な認証機関(CA)から発行されていないため、ブラウザ上に「接続がプライベートではありません」などのセキュリティ警告が表示されます。テスト環境においては詳細メニューから例外としてアクセスを続行して問題ありませんが、本番環境の公開サービスで利用することは非推奨です。実運用の際は正規の SSL 証明書を取得してください。

まとめ

本記事では、Ubuntu 環境における Apache2 の基礎知識からインストール、およびテスト環境向けの HTTPS 設定手順を解説しました。

  • Apache は長年の稼働実績を持つ Web サーバーであり、「Apache License 2.0」は利用規約の名称です。
  • Ubuntu への導入はパッケージ管理コマンドで完結し、公開には UFW による通信許可設定が必須です。
  • 自己署名証明書を用いた HTTPS 化はテスト環境に限定し、実運用では公的な SSL 証明書を利用してください。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次