AlmaLinuxでApacheのバージョンを確認する方法|コマンド一覧と詳細情報の見方

Linux

サーバー管理をしていると、「今使っているApacheのバージョンって何だっけ?」と確認したくなる場面がありますよね。

バージョン確認が必要になるタイミングは、実はたくさんあります。

  • セキュリティ対策:脆弱性情報が出た時に影響があるか判断したい
  • トラブルシューティング:エラーが起きた時に原因を調べる手がかりにしたい
  • アップデート前の確認:更新作業の前に現在の状態を記録しておきたい
  • 動作要件の確認:新しいアプリケーションが対応しているか調べたい

この記事では、AlmaLinuxでApacheのバージョンを確認する複数の方法を、初心者の方にも分かりやすく解説していきます。


スポンサーリンク

基礎知識:AlmaLinuxとApacheの関係

まず基本的なことを押さえておきましょう。

AlmaLinuxって何?

AlmaLinuxは、Red Hat Enterprise Linux(RHEL)と互換性のある無料のLinuxディストリビューションです。
CentOSの後継として注目されていて、多くの企業サーバーで採用されています。

Apache=httpdという事実

ここが初心者の方が混乱しやすいポイントなのですが…

Red Hat系のLinux(AlmaLinuxを含む)では、Apacheのパッケージ名は「httpd」と呼ばれています。

  • 一般的な呼び方:Apache HTTP Server、Apache
  • AlmaLinuxでのパッケージ名:httpd
  • サービス名:httpd

つまり、コマンドを実行する時は「apache」ではなく「httpd」と入力する必要があるんです。
これを知らないと、「コマンドが見つかりません」というエラーになってしまいますよ。


最も簡単な確認方法【基本コマンド】

それでは実際にバージョンを確認してみましょう!

httpdコマンドで確認する方法

最もシンプルで確実なのが、この方法です。

httpd -v

実行結果の例:

Server version: Apache/2.4.57 (AlmaLinux)
Server built:   Aug 14 2023 00:00:00

表示される情報:

  • Apache/2.4.57:メジャーバージョンとマイナーバージョン
  • (AlmaLinux):ディストリビューション情報
  • Server built:ビルドされた日時

これだけで、必要な情報がサッと分かります!

より詳しい情報を表示する

もっと詳細な情報が知りたい場合は、大文字の「V」を使います。

httpd -V

実行結果の例:

Server version: Apache/2.4.57 (AlmaLinux)
Server built:   Aug 14 2023 00:00:00
Server's Module Magic Number: 20120211:119
Server loaded:  APR 1.7.0, APR-UTIL 1.6.1
Compiled using: APR 1.7.0, APR-UTIL 1.6.1
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 (IPv4-mapped addresses enabled)
 ...(以下省略)

このコマンドで分かること:

  • コンパイルオプション
  • 使用しているMPM(マルチプロセッシングモジュール)
  • APRのバージョン
  • サポートしている機能

トラブルシューティングの時に役立つ情報です!


パッケージマネージャーで確認する方法

AlmaLinuxには2つのパッケージマネージャーがあります。
どちらを使っても同じ情報が得られますよ。

yumコマンドで確認

従来からあるyumコマンドを使う方法です。

yum info httpd

実行結果の例:

インストール済みパッケージ
名前         : httpd
バージョン   : 2.4.57
リリース     : 5.el9
アーキテクチャ: x86_64
サイズ       : 1.4 M
ソース       : httpd-2.4.57-5.el9.src.rpm
リポジトリー : @System
提供元リポジトリー: appstream
要約         : Apache HTTP Server

表示される主な情報:

  • バージョン番号
  • リリース番号
  • インストール元のリポジトリ
  • パッケージサイズ

dnfコマンドで確認

AlmaLinux 8以降では、dnfが推奨されています。

dnf info httpd

yumと同じ情報が表示されます。実は内部的には、yumはdnfへのエイリアス(別名)になっているんです。

インストールされているか確認だけしたい時

Apacheがそもそもインストールされているか知りたい場合は:

rpm -q httpd

結果の見方:

  • httpd-2.4.57-5.el9.x86_64:インストール済み
  • package httpd is not installed:インストールされていない

シンプルで速い確認方法ですね。


Apacheが起動中か確認しながらバージョンをチェック

サービスの状態と一緒にバージョンも確認したい時があります。

systemctlで状態を確認

systemctl status httpd

実行結果の例:

● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
     Active: active (running) since Mon 2024-01-15 10:30:25 JST; 2h 15min ago
       Docs: man:httpd.service(8)
   Main PID: 1234 (httpd)
     Status: "Running, listening on: port 80"
      Tasks: 213 (limit: 23281)
     Memory: 45.2M

この情報から分かること:

  • Active: active (running):正常に稼働中
  • enabled:自動起動が有効
  • Main PID:メインプロセスのID
  • 起動時刻とメモリ使用量

ここにはバージョン番号は出ませんが、稼働状況を把握できます。

プロセスから確認する方法

実行中のApacheプロセスを確認しつつ、情報を得る方法もあります。

ps aux | grep httpd | head -1

または:

pgrep -a httpd

これでApacheが動いているかどうか、すぐに分かりますよ。


設定ファイルやログファイルの場所も確認しよう

バージョン確認と一緒に、よく使うファイルの場所も覚えておくと便利です。

主要な設定ファイル

メイン設定ファイル:

/etc/httpd/conf/httpd.conf

追加設定ファイル:

/etc/httpd/conf.d/

このディレクトリに .conf という拡張子のファイルを置くと、自動的に読み込まれます。

ログファイルの場所

アクセスログ:

/var/log/httpd/access_log

エラーログ:

/var/log/httpd/error_log

ログファイルからもバージョン情報を確認できる場合があります:

sudo head -n 20 /var/log/httpd/error_log

起動時のメッセージにバージョン情報が記録されていることが多いんです。


モジュールの情報も確認したい時

Apacheには様々な機能を追加する「モジュール」があります。
これらの情報も確認できますよ。

インストール済みモジュールの確認

httpd -M

実行結果の例:

Loaded Modules:
 core_module (static)
 so_module (static)
 http_module (static)
 mpm_event_module (static)
 authn_file_module (shared)
 authn_core_module (shared)
 authz_host_module (shared)
 ...(以下省略)

表示の意味:

  • (static):静的にコンパイルされたモジュール
  • (shared):動的にロードされるモジュール

利用可能なモジュールパッケージを探す

dnf search mod_

または:

yum list available | grep httpd

これで、インストール可能な追加モジュールが一覧表示されます。


バージョン情報からセキュリティをチェック

バージョンが分かったら、セキュリティ面も気にしてみましょう。

最新バージョンと比較する

現在利用可能な最新バージョンを確認:

dnf list httpd

表示例:

インストール済みパッケージ
httpd.x86_64    2.4.57-5.el9    @appstream

利用可能なパッケージ
httpd.x86_64    2.4.57-8.el9    appstream

この例では、アップデート可能なバージョンがあることが分かりますね。

セキュリティアップデートの確認

セキュリティ関連のアップデートだけをチェック:

dnf updateinfo list security

または、Apacheに関連するものだけ:

dnf updateinfo list --security httpd

定期的にチェックする習慣をつけると良いですよ。

CVE(脆弱性情報)の確認

特定の脆弱性が該当するか調べたい時:

dnf updateinfo list --cve CVE-2023-XXXXX

セキュリティ情報と照らし合わせて、対応が必要か判断できます。


アップデートする前の準備

バージョンを確認して、アップデートが必要だと分かったら…
いきなり更新するのはちょっと待ってください!

バックアップを取る

設定ファイルのバックアップ:

sudo cp -r /etc/httpd /etc/httpd.backup.$(date +%Y%m%d)

データベースやコンテンツのバックアップ:

sudo tar czf /backup/www-$(date +%Y%m%d).tar.gz /var/www/html

日付を付けておくと、後で分かりやすいですよ。

テスト環境で確認する

本番環境でいきなりアップデートするのはリスクがあります。
可能なら、テスト環境で先に試してみましょう。

アップデートコマンド

準備ができたら、更新を実行:

sudo dnf update httpd

すべてのパッケージを更新する場合:

sudo dnf update

更新後は必ずサービスを再起動:

sudo systemctl restart httpd

よくある疑問とトラブル対処法

実際にバージョン確認をしていて、困ることがあるかもしれません。
よくある問題と解決方法をまとめました。

「httpd: command not found」と表示される

原因: Apacheがインストールされていない

解決方法:

# インストールされているか確認
rpm -q httpd

# インストールされていない場合
sudo dnf install httpd

バージョンが古すぎる

原因: リポジトリの設定が古い、または長期サポート版を使用している

解決方法:

# リポジトリの更新
sudo dnf clean all
sudo dnf update

# EPELリポジトリの追加(新しいバージョンが必要な場合)
sudo dnf install epel-release

ただし、安定性を重視するサーバーでは、無理に最新版を追うより、セキュリティパッチが適用された安定版を使う方が推奨されます。

「Permission denied」エラー

原因: 実行権限がない

解決方法:

# sudoを付けて実行
sudo httpd -v

# または、一般ユーザーでも実行可能
httpd -v

多くの確認コマンドは、sudo無しでも実行できます。

複数のバージョンが表示される

原因: 複数のApacheがインストールされている(稀なケース)

解決方法:

# インストールされているすべてのhttpdパッケージを表示
rpm -qa | grep httpd

# 実行中のバージョンを確認
ps aux | grep httpd
which httpd

通常は1つだけのはずですが、念のため確認しましょう。


コマンドのチートシート

よく使うコマンドを一覧にまとめました。
ブックマークしておくと便利ですよ!

バージョン確認系

# 基本的なバージョン表示
httpd -v

# 詳細情報の表示
httpd -V

# パッケージ情報の表示
dnf info httpd
yum info httpd
rpm -q httpd

# インストール済みモジュールの表示
httpd -M

サービス管理系

# 状態確認
systemctl status httpd

# 起動
sudo systemctl start httpd

# 停止
sudo systemctl stop httpd

# 再起動
sudo systemctl restart httpd

# 設定リロード(停止せずに設定を反映)
sudo systemctl reload httpd

# 自動起動の有効化
sudo systemctl enable httpd

# 自動起動の無効化
sudo systemctl disable httpd

アップデート関連

# アップデート可能なパッケージを確認
dnf check-update httpd

# セキュリティアップデートのチェック
dnf updateinfo list --security

# httpdのアップデート
sudo dnf update httpd

# システム全体のアップデート
sudo dnf update

ログ確認系

# エラーログの最新表示
sudo tail -f /var/log/httpd/error_log

# アクセスログの最新表示
sudo tail -f /var/log/httpd/access_log

# エラーログの最後20行
sudo tail -n 20 /var/log/httpd/error_log

まとめ:定期的なバージョン確認を習慣にしよう

この記事では、AlmaLinuxでApacheのバージョンを確認する様々な方法を解説してきました。

重要なポイントをおさらい:

  • AlmaLinuxでは「apache」ではなく「httpd」というパッケージ名を使う
  • 最も簡単な確認方法は httpd -v コマンド
  • 詳細情報は httpd -V で取得できる
  • パッケージマネージャー(dnf/yum)でも確認可能
  • セキュリティアップデートは定期的にチェックすべき
  • アップデート前は必ずバックアップを取る
  • ログファイルや設定ファイルの場所も把握しておくと便利

バージョン確認は、サーバー管理の基本中の基本です。

定期的にバージョンをチェックして、セキュリティアップデートが出ていないか確認する習慣をつけましょう。
特に本番環境で稼働しているサーバーなら、月に一度は確認することをおすすめします。

最初は難しく感じるかもしれませんが、何度か実行しているうちにすぐ慣れますよ。
まずは httpd -v コマンドから試してみてくださいね!

コメント

タイトルとURLをコピーしました