Apache とは|Ubuntu へのインストールと HTTPS 化の手順

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

はじめに

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

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

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

Ubuntu への Apache の導入は apache2 パッケージで完結し、外部公開には UFW での通信許可設定を行います。導入後は apt upgrade でセキュリティ修正を取り込み続けることが安定運用につながります。テスト環境の HTTPS 化には自己署名証明書を利用できますが、本番運用では公的な SSL 証明書の利用が推奨されます。

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 サーバーとして稼働させるための基本手順を解説します。本手順は Ubuntu 22.04 LTS・24.04 LTS で共通して利用できます(パッケージ名・設定パス・UFW プロファイルは各バージョンで共通です)。

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

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

sudo apt update
sudo apt install apache2 -y

Ubuntu アーカイブ版の apache2 は、各 LTS で固定されたバージョン系列で提供されます(22.04 は 2.4.52 系、24.04 は 2.4.58 系)。これらの系列に対してセキュリティ修正がバックポートされるため、導入後も定期的な更新が重要です。

sudo apt update
sudo apt upgrade

近年も Apache の HTTP/2 処理に関する DoS 脆弱性(CVE-2026-49975)が公表されています。影響範囲の確認方法と対処は、関連記事『CVE-2026-49975 の影響範囲と対処』( https://mytech-blog.com/apache-http2-bomb/ )にまとめています。

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

インストールが完了したら、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 Full が ALLOW(許可)として表示されていれば設定は完了です。この状態で、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

-days 365 は証明書の有効期限(365 日)、-newkey rsa:2048 は新規に生成する RSA 鍵の鍵長(2048 ビット)を指定しています。テスト用途では現実的な設定ですが、有効期限が切れると再度警告が出るため、期限の管理に留意します。

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 サイト設定を有効化します。なお a2enmod headers は HSTS などのレスポンスヘッダーを設定する場合に使用するもので、基本的な HTTPS 化では必須ではありません。ここでは後の拡張に備えて有効化しておきます。

sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl.conf

再起動の前に設定ファイルの構文を確認しておくと、設定ミスによる起動失敗を防げます。

sudo apache2ctl configtest

Syntax OK と表示されたら、Apache を再起動して設定を適用します。

sudo systemctl restart apache2

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

自己署名証明書は公的な認証機関(CA)から発行されていないため、ブラウザ上に「接続がプライベートではありません」などのセキュリティ警告が表示されます。これは証明書の発行元をブラウザが検証できないためで、テスト環境では詳細メニューから例外としてアクセスを続行して問題ありません。一方、本番環境の公開サービスでの利用は推奨されません。実運用の際は正規の SSL 証明書を取得することをおすすめします。証明書の種類(DV・OV・EV)の違いと選び方は、関連記事『SSL 証明書「DV・OV・EV」の違いとは?見分け方と選び方を図解で解説』を参照してください。

まとめ

本記事では、Ubuntu 環境における Apache2 の基礎知識からインストール、およびテスト環境向けの HTTPS 設定手順を解説しました。Apache は長年の稼働実績を持つ Web サーバーであり、導入後もセキュリティ更新を継続することが安定運用につながります。

  • 実績ある Web サーバーソフトウェアとしての Apache
  • 「Apache License 2.0」は利用規約の名称(ソフトウェアとは別)
  • Ubuntu への導入は apache2 パッケージで完結
  • 外部公開には UFW での通信許可設定が必要
  • 導入後も apt upgrade でセキュリティ修正を継続適用
  • 既知の脆弱性(CVE-2026-49975 等)は影響範囲の確認と対処
  • 自己署名証明書はテスト用途、実運用は公的証明書を推奨

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

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

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次