ここまでのシリーズでは、Ubuntu Server 26.04 LTSのインストール、初期設定、静的IPアドレスの設定まで進めてきました。
今回はいよいよ、Ubuntu ServerへApache2をインストールしてWebサーバとして動作させます。
Apache2のインストールだけでなく、サービスの起動確認、ブラウザからのアクセス、UFWを使用している場合のHTTP許可、ドキュメントルートの確認、さらに「Apacheが起動しない」「ブラウザから表示できない」ときの基本的な確認方法まで紹介します。
この記事で行うこと
- Apache2のインストール
- Apache2サービスの起動確認
- 自動起動の確認
- サーバ自身からHTTP応答を確認
- 別PCのブラウザから初期ページを確認
- UFWを使用している場合のHTTP許可
- ドキュメントルート
/var/www/htmlの確認 - テスト用HTMLページの作成
- Apache2の主要設定ファイルを確認
- 起動しない・表示できない場合の基本的な切り分け
Apache2をインストールする
まずパッケージ一覧を更新します。
sudo apt update
続いてApache2をインストールします。
sudo apt install apache2

Apache2のバージョンを確認する
apache2 -v

Apache2サービスが起動しているか確認する
systemctl status apache2
Active: active (running) と表示されていれば、Apache2は起動しています。ステータス画面を終了するときは q キーを押します。

Apache2の自動起動も確認する
systemctl is-enabled apache2
「enabled」と表示されれば自動起動が有効になっています。
通常であればインストールした際に自動起動も有効化されているので、「disabled」「masked」などになっている場合は個別に対応が必要かもしれません。
サーバ自身からApache2の応答を確認する
curl http://localhost/
ここで応答するのに別PCから表示できない場合は、Apache2そのものよりも、IPアドレス・ルーティング・UFWなどネットワーク側を確認する手掛かりになります。

別のPCからApache2の初期ページを表示する
同じLAN内のPCでWebブラウザを開き、Ubuntu Serverに設定したIPアドレスへアクセスします。
http://192.168.1.100/

IPアドレスは各自の環境で読み替えてください
UFWを使用している場合はHTTP通信を許可する
sudo ufw status
UFWを有効にしている環境では、HTTPアクセス用にApacheのプロファイルを許可します。
sudo ufw allow 'Apache'
sudo ufw status
SSHで接続中のサーバで、UFWを新たに有効化する場合は注意してください。
SSHを許可せずにファイアウォールを有効にすると、SSH接続できなくなる可能性があります。この記事では、すでにUFWを利用している環境でApacheのHTTP通信を許可するところを中心に扱います。

Apache2のドキュメントルートを確認する
Ubuntuの標準的なApache2構成では、デフォルトサイトのドキュメントルートとして /var/www/html が使われます。
ls -la /var/www/html

テスト用HTMLページを作成する
echo '<h1>Ubuntu Server 26.04 + Apache2 Test</h1>' | sudo tee /var/www/html/index.html
上の操作では標準の index.html を上書きします。初期ページを残したい場合は、先にバックアップするか別名のHTMLファイルを作成してください。

Apache2の主要な設定ファイルを確認する
/etc/apache2/apache2.conf:メイン設定/etc/apache2/ports.conf:待ち受けポート/etc/apache2/sites-available/:VirtualHost設定/etc/apache2/sites-enabled/:有効なサイト設定/etc/apache2/mods-available/:利用可能なモジュール/etc/apache2/mods-enabled/:有効なモジュール/etc/apache2/conf-available/:追加設定/etc/apache2/conf-enabled/:有効な追加設定
ls -la /etc/apache2/

Apache2が起動しない・ページが表示されない場合
うまく動作しない場合は、闇雲に設定を変更する前に、どこで問題が起きているかを順番に確認します。
1. Apache2の状態を確認
systemctl status apache2
2. 設定ファイルの構文を確認
sudo apache2ctl configtest
3. Apache2のログを確認
sudo journalctl -u apache2 --no-pager -n 50

4. 80番ポートで待ち受けているか確認
sudo ss -ltnp | grep ':80'

5. サーバ自身からアクセスできるか確認
curl http://localhost/
ここまで確認すると、Apache2自身の問題なのか、設定ファイルなのか、ポートなのか、ネットワーク・ファイアウォール側なのかを切り分けやすくなります。
この設定、自分の環境でも大丈夫?と迷ったら
Ubuntu・VPS・WordPressの設定や運用について、 「この進め方で合っている?」「この設定を実行して大丈夫?」と迷う場合は、 個別に環境を見ながら整理できます。
1つの相談テーマについて、原則メール2往復まで対応します。
Apache2を再起動・再読み込みする基本コマンド
# 再起動
sudo systemctl restart apache2
# 停止
sudo systemctl stop apache2
# 起動
sudo systemctl start apache2
# 設定を再読み込み
sudo systemctl reload apache2
設定変更後は、いきなり再起動する前に apache2ctl configtest で構文を確認しておくと、設定ミスに気づきやすくなります。

まとめ
今回はUbuntu Server 26.04 LTSへApache2をインストールし、WebサーバとしてHTTPページを表示できるところまで確認しました。
さらに、UFW、ドキュメントルート、Apache2の主要設定ディレクトリ、設定ファイルの構文確認、ログや80番ポートの確認方法まで押さえました。
次回はPHP-FPMとの連携へ進みます。
Ubuntu Server 26.04 LTSへPHPを導入し、Apache2からPHPを実行できる構成を作っていきます。
今回のスクリーンショット一覧
- Apache2インストール
- Apache2バージョン
- systemctl status apache2
- Apache2自動起動確認
- curl localhost
- ブラウザでApache2初期ページ表示
- UFW状態確認
- UFWでApache許可
- /var/www/html の内容
- テストHTML表示
- /etc/apache2/ の構成
- apache2ctl configtest
- journalctlによるログ確認
- 80番ポートのLISTEN確認