Apacheのバージョンを確認する方法|httpd -v・apachectl -V・rpmの使い分け実例

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxtipsWebサーバー管理 > Apacheのバージョンを確認する方法|httpd -v・apachectl -V・rpmの使い分け実例
「Apacheのバージョンって、どうやって調べればいいんだろう?」

脆弱性対応やアップデートの際、まず把握しなければならないのがApacheのバージョン情報です。しかし、確認方法はひとつではありません。サーバーにSSHログインできる場合、パッケージ管理で調べたい場合、さらにはサーバーに直接入れない場合と、状況によって使うコマンドが変わります。

この記事では、Apacheのバージョンを確認する方法を5つ紹介します。基本のhttpd -vから、ビルド情報の詳細確認、rpm/dpkgによるパッケージ確認、さらに外部からの確認方法まで、実際のサーバー出力例とあわせて解説します。

【この記事でわかること】

・httpd -v でApacheのバージョンを即座に確認できる
・httpd -V でビルド日時やMPM・設定ファイルの場所もわかる
・rpm -q httpd でパッケージのリリース番号まで把握できる
・サーバーにログインできない場合はcurlで応答ヘッダーから確認する



「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

Apacheのバージョンを確認する5つの方法

Apacheのバージョン確認には、目的に応じて複数の方法があります。まずは一覧で把握してください。

やりたいこと コマンド 補足
バージョンだけ確認 httpd -v 最も基本的な方法
ビルド情報を詳細に確認 httpd -V MPM・設定ファイルパスも表示
パッケージのバージョンを確認 rpm -q httpd Red Hat系。Debian系はdpkg -l apache2
apachectlで確認 apachectl -v httpdへのラッパー
外部からバージョンを確認 curl -sI http://対象サーバー/ Serverヘッダーで判別

方法1:httpd -v でバージョンを確認する

最もシンプルで確実な方法です。httpdコマンドに-vオプションを付けて実行します。

$ httpd -v Server version: Apache/2.4.62 (Rocky Linux) Server built: Aug 12 2024 00:00:00

Server versionの行にApacheのバージョン番号が表示されます。上の例ではApache 2.4.62がインストールされていることがわかります。

Server builtはApacheがビルドされた日時です。パッケージ管理でインストールした場合は、ディストリビューションがパッケージをビルドした日付が表示されます。

httpd コマンドが見つからない場合

command not found」と表示される場合は、パスが通っていないか、そもそもApacheがインストールされていない可能性があります。

フルパスで実行してみてください。

# Red Hat系(RHEL、AlmaLinux、Rocky Linux) $ /usr/sbin/httpd -v Server version: Apache/2.4.62 (Rocky Linux) Server built: Aug 12 2024 00:00:00 # ソースからインストールした場合の例 $ /usr/local/apache2/bin/httpd -v Server version: Apache/2.4.62 (Unix) Server built: Sep 3 2024 15:20:41

Debian/Ubuntu系ではhttpdではなくapache2コマンドを使います。

# Debian / Ubuntu系 $ apache2 -v Server version: Apache/2.4.62 (Ubuntu) Server built: 2024-08-15T00:00:00

方法2:httpd -V でビルドの詳細情報を確認する

-v(小文字)ではバージョンとビルド日時しか表示されませんが、-V(大文字)を使うと、Apacheのビルド時に組み込まれた設定の詳細を確認できます。

$ httpd -V Server version: Apache/2.4.62 (Rocky Linux) Server built: Aug 12 2024 00:00:00 Server's Module Magic Number: 20120211:132 Server loaded: APR 1.7.0, APR-UTIL 1.6.3, PCRE 8.44 2020-02-12 Compiled using: APR 1.7.0, APR-UTIL 1.6.3, PCRE 8.44 2020-02-12 Architecture: 64-bit Server MPM: event threaded: yes (fixed thread count) forked: yes (variable process count) Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv6) -D HTTPD_ROOT="/etc/httpd" -D SERVER_CONFIG_FILE="conf/httpd.conf" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types"

この出力から読み取れる情報は多岐にわたります。特に重要な項目を解説します。

Server MPM: マルチプロセッシングモジュールの種類。event、prefork、workerのいずれか。パフォーマンスチューニングの基本情報
HTTPD_ROOT: Apacheの設定ファイルのルートディレクトリ
SERVER_CONFIG_FILE: メインの設定ファイルパス(HTTPD_ROOTからの相対パス)
DEFAULT_ERRORLOG: エラーログのデフォルト出力先

「設定ファイルはどこにあるの?」と聞かれた時に、httpd -Vを実行すれば一発で答えが出ます。特にソースからコンパイルしてインストールした環境では、パスが標準と異なることが多いため、この確認は欠かせません。

方法3:rpm / dpkg でパッケージバージョンを確認する

パッケージ管理コマンドを使えば、Apacheを起動していなくてもバージョンを確認できます。リリース番号やアーキテクチャまで含めた正確なパッケージ情報が得られるため、脆弱性対応の報告書作成にも役立ちます。

1. Red Hat系(RHEL、AlmaLinux、Rocky Linux)

$ rpm -q httpd httpd-2.4.62-1.el9.x86_64

出力の読み方は以下のとおりです。

httpd: パッケージ名
2.4.62: Apacheのバージョン
1.el9: リリース番号(el9 = RHEL 9系)
x86_64: アーキテクチャ(64bit)

さらに詳しい情報が必要な場合は、rpm -qiを使います。

$ rpm -qi httpd Name : httpd Version : 2.4.62 Release : 1.el9 Architecture: x86_64 Install Date: 2024年09月15日 10時30分00秒 Group : System Environment/Daemons Size : 4521389 License : ASL 2.0 Signature : RSA/SHA256, 2024年08月15日 12時00分00秒, Key ID 350d275d51cb2c6b Source RPM : httpd-2.4.62-1.el9.src.rpm Build Date : 2024年08月12日 00時00分00秒 Vendor : Rocky URL : https://httpd.apache.org/ Summary : Apache HTTP Server

2. Debian / Ubuntu系

$ dpkg -l apache2 希望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待/(T)トリガ保留 |/ エラー?=(空)無/(R)要再インストール ||/ 名前 バージョン アーキテクチャ 説明 +++-==============-================-================-============================ ii apache2 2.4.62-1ubuntu1 amd64 Apache HTTP Server

方法4:apachectl -v で確認する

apachectlはApacheの起動・停止を管理するラッパースクリプトです。httpd -vと同じ結果が得られます。

$ apachectl -v Server version: Apache/2.4.62 (Rocky Linux) Server built: Aug 12 2024 00:00:00

httpdコマンドにパスが通っていないけど、apachectlなら使える」という状況は実務でよくあります。apachectl/usr/sbin/にあるため、一般ユーザーのPATHにも含まれていることが多いのです。

apachectl -V(大文字)でも、httpd -Vと同じ詳細情報を確認できます。

方法5:外部からHTTPヘッダーで確認する

サーバーにSSHログインできない場合でも、HTTPレスポンスヘッダーのServerフィールドからバージョンを確認できる場合があります。

$ curl -sI http://192.168.1.XXX/ HTTP/1.1 200 OK Date: Mon, 07 Apr 2026 03:15:00 GMT Server: Apache/2.4.62 (Rocky Linux) Content-Type: text/html; charset=UTF-8

Server:の行にApacheのバージョンが表示されています。

【重要】Serverヘッダーが表示されない場合

セキュリティ対策として、本番環境ではApacheのバージョン情報を隠すのが一般的です。httpd.confで以下のように設定されていると、バージョンは表示されません。

# httpd.conf の設定例 ServerTokens Prod

この設定がされている場合、Serverヘッダーには「Apache」とだけ表示され、バージョン番号は含まれません。

$ curl -sI http://192.168.1.XXX/ HTTP/1.1 200 OK Server: Apache

ServerTokensディレクティブの設定値と表示内容の対応は以下のとおりです。

設定値 表示例
Full(デフォルト) Apache/2.4.62 (Rocky Linux) OpenSSL/3.0.7
OS Apache/2.4.62 (Rocky Linux)
Minor Apache/2.4.62
Major Apache/2.4
Prod Apache

本番サーバーではServerTokens Prodに設定することを強く推奨します。バージョン情報の公開は、攻撃者に脆弱性を突くヒントを与えることになります。

トラブルシュート:バージョンが確認できないときの対処


「command not found」と表示される

Apacheがインストールされていないか、パスが通っていません。以下の手順で確認してください。

# Apacheがインストールされているか確認(Red Hat系) $ rpm -qa | grep httpd httpd-2.4.62-1.el9.x86_64 httpd-tools-2.4.62-1.el9.x86_64 httpd-filesystem-2.4.62-1.el9.noarch # 何も表示されなければインストールされていない # Debian / Ubuntu系の場合 $ dpkg -l | grep apache2

パッケージがインストールされているのにコマンドが見つからない場合は、whichfindでバイナリの場所を探します。

$ which httpd /usr/sbin/httpd # 見つからない場合 $ find / -name httpd -type f 2>/dev/null /usr/local/apache2/bin/httpd

複数バージョンが混在している場合

ソースからインストールしたApacheとパッケージ管理のApacheが共存していることがあります。どちらが実際に動いているかを確認するには、プロセスを調べます。

$ ps aux | grep httpd | grep -v grep root 1234 0.0 0.3 123456 7890 ? Ss 10:15 0:00 /usr/sbin/httpd -DFOREGROUND apache 1235 0.0 0.2 123456 5678 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND

左から5列目の/usr/sbin/httpdがバイナリのパスです。このパスを指定して-vオプションを実行すれば、実際に稼働しているApacheのバージョンを正確に把握できます。

$ /usr/sbin/httpd -v Server version: Apache/2.4.62 (Rocky Linux) Server built: Aug 12 2024 00:00:00

実務Tips:バージョン確認が必要になる場面


1. 脆弱性対応(CVE確認)

Apache HTTPDの脆弱性が公表された場合、自分のサーバーが影響を受けるかどうかをすぐに判断する必要があります。httpd -vで得られるバージョン番号と、CVEの影響範囲を照合してください。

2. アップデート前後の確認

yum update httpdapt upgrade apache2の前後でバージョンを記録しておくことで、変更履歴を正確に残せます。

# アップデート前に記録 $ httpd -v >> /tmp/apache_version_before.txt 2>&1 # アップデート実行 $ sudo yum update httpd # アップデート後に確認 $ httpd -v Server version: Apache/2.4.63 (Rocky Linux) Server built: Feb 10 2025 00:00:00

3. .htaccessの構文がバージョンによって変わる

Apache 2.2系と2.4系では、アクセス制御の書き方が大きく変更されました。古い設定ファイルをそのまま使うと「500 Internal Server Error」が発生します。

Apache 2.2系 Apache 2.4系
Order deny,allow Require all granted
Allow from all Require all granted
Deny from all Require all denied

バージョンを確認せずに設定ファイルを変更すると、思わぬエラーの原因になります。

関連記事:Apacheのバージョンを確認したあとに、Timeout / KeepAliveTimeout / ProxyTimeout を用途別に設計するなら Apacheのタイムアウト(Timeout)を設定・確認する方法【2.4対応版】 を併読してください。LB / Apache / バックエンドの3層タイムアウト整合まで解説しています。

本記事のまとめ

Apacheのバージョン確認方法を5つ紹介しました。

やりたいこと コマンド
バージョンだけ確認 httpd -v
MPMや設定ファイルパスも含めて確認 httpd -V
パッケージのリリース番号まで確認 rpm -q httpd
apachectl経由で確認 apachectl -v
外部からHTTPヘッダーで確認 curl -sI http://対象サーバー/
稼働中のバイナリパスを特定 ps aux | grep httpd | grep -v grep

普段の運用ではhttpd -vだけで十分ですが、脆弱性対応やトラブルシュートの際にはhttpd -Vrpm -qの情報が必要になります。いざという時にすぐ確認できるよう、コマンドを覚えておいてください。

Apacheの設定ファイルを触るたびに不安を感じていませんか?

バージョン確認はサーバー管理の第一歩です。しかし、本当に重要なのはその先。脆弱性対応、アクセス制御、パフォーマンスチューニングまで、Apacheを安全に運用するには体系的な知識が必要です。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。