LinuxでWebサーバーを立ち上げるとき、最初に名前が挙がるのが Apache(アパッチ)です。世界シェアトップクラスを誇るHTTPサーバーで、Ubuntu公式リポジトリから1コマンドでインストールできます。
この記事では Ubuntu 24.04 LTS にApacheをインストールして、実際にブラウザで確認できる状態にする手順を、コマンドの実出力とともに解説します。Dockerコンテナで実際に動かして取得したデータを使っているので、「本当にこの通りに動くのか?」という不安はありません。
正直、Apacheのインストール自体は apt install apache2 の1行で終わります。この記事のポイントは、インストール後の「サービスの起動確認」「ファイアウォールの設定」「設定ファイルの構造理解」の3点です。
この記事のポイント
- Ubuntu 24.04 LTS に Apache 2.4.58 がインストールされることを実測確認
systemctl enable apache2で OS 再起動後も自動起動するよう設定する- UFW ファイアウォールには
Apache/Apache Full/Apache Secureの3つのプロファイルがある - 設定ファイルは
/etc/apache2/配下、ドキュメントルートは/var/www/html/ - 本番VPS運用には
a2ensite/a2dissiteでバーチャルホストを管理する
前提環境
この記事は以下の環境で動作を確認しています。
- OS:Ubuntu 24.04 LTS(Noble Numbat)
- 検証方法:Docker公式イメージ
ubuntu:24.04+ 実機VPS - Apacheバージョン:2.4.58-1ubuntu8.13(2026年6月時点)
- 権限:
sudo権限のあるユーザー(または root)
注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 では Apache 2.4.52 が、24.04 では 2.4.58 が入ります(後述のバージョン比較表を参照)。
手順1:パッケージリストを更新する
インストール前にパッケージリストを最新化します。これを怠ると古いバージョンが入ることがあるので、毎回実行する癖をつけましょう。
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
…
Fetched 36.5 MB in 2s (16.8 MB/s)
Reading package lists… Done
Building dependency tree… Done
手順2:Apache2をインストールする
パッケージ名は apache2 です(Debian/Ubuntu系の命名規則)。-y で確認プロンプトをスキップします。
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils …
Unpacking apache2 (2.4.58-1ubuntu8.13) …
Setting up apache2 (2.4.58-1ubuntu8.13) …
$ apache2 -v
Server version: Apache/2.4.58 (Ubuntu)
Server built: 2026-06-03T15:41:58
インストールが完了すると apache2 -v で Server version: Apache/2.4.58 (Ubuntu) と表示されました。Ubuntu 24.04 では 2026年6月時点でこのバージョンが入ります。

依存パッケージとして apache2-bin(実行バイナリ)、apache2-data(デフォルトページなどの静的ファイル)、apache2-utils(abベンチマークツール等)も一緒にインストールされます。
手順3:Apacheを起動して自動起動を有効にする
Ubuntu の systemd(システムの起動プロセス管理ツール)を使ってApacheを起動します。start だけだと再起動後にApacheが停止してしまうため、enable も忘れずに実行してください。
$ sudo systemctl enable apache2
Synchronizing state of apache2.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /usr/lib/systemd/system/apache2.service.
$ sudo systemctl status apache2
● apache2.service – The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-06-13 10:23:15 UTC; 3s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 3409 (apache2)
CGroup: /system.slice/apache2.service
├─3409 /usr/sbin/apache2 -k start
├─3413 /usr/sbin/apache2 -k start
└─3415 /usr/sbin/apache2 -k start
Active: active (running) と表示されれば起動成功です。プロセスが3つ表示されているのは、Apacheが1つの親プロセスと複数のワーカープロセスで動作する仕組み(event MPM)のためです。

手順4:ブラウザでデフォルトページを確認する
Apacheが起動したら、ブラウザで http://サーバーのIPアドレス/ にアクセスします。VPS の場合はパブリックIPを、ローカルマシンなら http://localhost/ を開いてください。

「Apache2 Ubuntu Default Page」という画面が表示されれば、Apacheが正しく動いています。この画面は /var/www/html/index.html が表示されています。独自のWebサイトを公開するときは、このファイルを書き換えるか、後述のバーチャルホスト設定で別のディレクトリを指定します。
手順5:UFWファイアウォールでHTTPを許可する
VPSではデフォルトでファイアウォール(UFW)が有効になっている場合があります。Apacheのインストール時に自動で ufw プロファイルが追加されるため、以下のコマンドで簡単に許可できます。
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
$ sudo ufw allow ‘Apache’
Rules updated
Rules updated (v6)
$ sudo ufw status
Status: active
Apache ALLOW Anywhere
OpenSSH ALLOW Anywhere
実際に ufw app list を実行すると、Apacheのインストール後に3つのプロファイルが追加されていました。
| プロファイル名 | 許可するポート | 用途 |
|---|---|---|
| Apache | 80 (HTTP) | HTTP のみ(SSL証明書なしの初期設定) |
| Apache Full | 80 + 443 (HTTP/HTTPS) | HTTP と HTTPS の両方を許可 |
| Apache Secure | 443 (HTTPS) | HTTPS のみ(HTTP → HTTPS リダイレクト後) |

Let’s Encrypt でSSL証明書を取得した後は、sudo ufw allow 'Apache Full' に切り替えてHTTPSも許可するのがおすすめです。
設定ファイルの構造を理解する
Apacheの設定ファイルはすべて /etc/apache2/ 以下にまとまっています。実際にコンテナで確認した構成は以下の通りです。
apache2.conf conf-available conf-enabled
envvars magic mods-available mods-enabled
ports.conf sites-available sites-enabled
$ ls /etc/apache2/sites-available/
000-default.conf default-ssl.conf
$ cat /etc/apache2/ports.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>

各ディレクトリの役割を整理すると次の通りです。
sites-available/:バーチャルホストの設定ファイルを置く場所。ここに置くだけでは有効にならないsites-enabled/:有効なバーチャルホストの設定へのシンボリックリンクが置かれるmods-available/:利用可能なモジュールの定義mods-enabled/:有効化されたモジュールへのシンボリックリンクconf-available//conf-enabled/:追加設定(自動補完や charset など)ports.conf:Listenするポート番号(デフォルトは80と443)
sites-available/ にファイルを置いて a2ensite コマンドで有効化するという設計は、設定ファイルを壊さずに「この設定だけ一時的に無効化する」といった運用がしやすくなっています。
手順6:独自サイトのバーチャルホストを設定する
実際のWebサイトを公開するときは、デフォルト設定をそのまま使うのではなく、サイト専用の設定ファイルを作るのが定石です。
$ sudo mkdir -p /var/www/mysite/public_html
$ sudo chown -R $USER:$USER /var/www/mysite
# ② 設定ファイルを作成
$ sudo nano /etc/apache2/sites-available/mysite.conf
# ③ 設定ファイルの内容
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/mysite/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# ④ 有効化して再読み込み
$ sudo a2ensite mysite.conf
Enabling site mysite.
To activate the new configuration, you need to run:
service apache2 reload
$ sudo systemctl reload apache2
デフォルトサイトを無効化する
独自のサイト設定を有効にした後は、デフォルト設定を無効化しておくのが安全です。sudo a2dissite 000-default.conf を実行してから sudo systemctl reload apache2 で反映させてください。
Ubuntu 22.04 vs 24.04 バージョン比較
Ubuntu のバージョンによってインストールされる Apache のバージョンが異なります。Docker 公式イメージで両バージョンを実際に確認した結果は以下の通りです。
$ docker run –rm ubuntu:22.04 bash -c “apt-get update -qq && apt-get install -y -q apache2 && apache2 -v”
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2026-06-03T15:42:24
# Ubuntu 24.04 (Noble) で確認
$ docker run –rm ubuntu:24.04 bash -c “apt-get update -qq && apt-get install -y -q apache2 && apache2 -v”
Server version: Apache/2.4.58 (Ubuntu)
Server built: 2026-06-03T15:41:58

Ubuntu 22.04 では Apache 2.4.52、Ubuntu 24.04 では 2.4.58 が入ります。設定ファイルの構造やコマンドは基本的に同じなので、どちらのバージョンでもこの記事の手順は通用します。ただし Ubuntu 22.04 のサポート期限は2027年4月なので、これから新しくサーバーを立てるなら 24.04 を選ぶのがおすすめです。
よくあるエラーと解決策
①「403 Forbidden」が表示される
ドキュメントルートのディレクトリパーミッションが原因のことが多いです。
$ sudo chmod 755 /var/www/mysite
$ sudo chmod 644 /var/www/mysite/public_html/index.html
# Apacheのエラーログを確認
$ sudo tail -f /var/log/apache2/error.log
②「Address already in use」でApacheが起動しない
ポート80がすでに別プロセス(NginxやNode.jsなど)に使われています。
$ sudo ss -tlnp | grep ‘:80’
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((“nginx”,pid=1234,fd=7))
# Nginxが動いていた場合は停止してからApacheを起動
$ sudo systemctl stop nginx
$ sudo systemctl start apache2
③「apache2: Could not reliably determine the server’s fully qualified domain name」
警告メッセージで、動作には影響しません。気になる場合は ServerName を設定します。
$ sudo a2enconf servername
$ sudo systemctl reload apache2
まとめ
Ubuntu 24.04 に Apache をインストールする手順をまとめます。
sudo apt updateでパッケージリストを更新sudo apt install -y apache2でインストール(Apache 2.4.58 が入る)sudo systemctl start apache2 && sudo systemctl enable apache2で起動・自動起動設定sudo ufw allow 'Apache'でファイアウォールを設定(VPS の場合)- ブラウザで
http://サーバーIPアドレス/を開いて「Apache2 Ubuntu Default Page」を確認 - 独自サイトは
/etc/apache2/sites-available/にバーチャルホスト設定を追加してa2ensiteで有効化
ApacheはNginxと並んで世界で最も使われているWebサーバーです。設定ファイルの構造を一度理解してしまえば、WordPressのインストールやリバースプロキシの設定なども応用として扱えるようになります。
本格的にVPSでWebサーバーを運用するなら、コストパフォーマンスの良いVPSを選ぶことも重要です。各社VPSの料金・スペック・東京リージョンの有無を比較した記事も参考にしてください。



コメント