LinuxでApacheサーバーの状態を確認する方法

Apacheは世界で最も広く使われているWebサーバーソフトウェアアプリケーションの1つです。W3Techsの調査によると、既知のWebサーバーの31パーセント強がApacheのバージョンを使用していることがわかりました。非常にカスタマイズ可能で、応答性が高く、完全にオープンソースです。

Apacheは、Webサイトを運営するための優れた実績のある選択肢です。Apache Webサーバーを実行する際には、基本的なメンテナンスの方法を知ることが重要です。LinuxでApacheサーバーの状態を確認する5つの方法を紹介します。

1. apachectlでWebサーバーの状態を確認する

Apache Webサーバーの状態を確認する最も簡単な方法は、apachectlコマンドを使用することです。必要なのは、次のコマンドを入力することだけです。

sudo apachectl status

Apacheサーバーが起動して稼働している場合、ターミナルにはサーバーの稼働時間や受信したリクエストの総数などの情報が出力されます。または、アクティブではあるが設定が間違っているApacheサーバーのエラー情報が表示される場合があります。

2. mod_statusでApacheサーバーの状態を確認する

mod_statusを有効にすることで、Apache Webサーバーに関する詳細情報を表示できます。このモジュールを有効にすると、http://localhostのページにアクセスしてサーバーに関する情報を確認できます。

Apache server-statusを有効にする

Linuxディストリビューションに応じて、数コマンドを入力するだけでserver-statusを有効にできます。Ubuntuを使用している場合は、/mods-enabled/status.conf設定ファイルを開いて、server-statusが有効になっているかどうかを確認します。

sudo nano /etc/apache2/mods-enabled/status.conf

IPアドレスからサーバーの状態レポートを生成できるように、次の行に示すように、ファイルのセクションを編集して有効にします。

SetHandler server-statusRequire local#Require ip 192.0.2.0/24

最後に、ファイルを保存して終了します。変更を有効にするには、Apacheサービスを再起動する必要があります。

sudo systemctl restart apache2

SysVinitを使用する従来のLinuxシステムがある場合は、systemctlの代わりにserviceを使用する必要がある場合があります。リストされている他のsystemctlコマンドについても、この置換を行ってください!

RHELとFedoraを使用している場合は、server-statusを有効にするために少し異なる方法を使用する必要があります。次のコマンドを入力してserver-status設定ファイルを開きます。

nano /etc/httpd/conf.d/server-status.conf

次に、セクションを編集して、次の行と同じ設定を使用します。

Sethandler server-statusRequire ip YourIPAddress

上記のテキストスニペットのYourIPAddressを必ず自分のIPアドレスに置き換えてください。完了したら、ファイルを保存して終了します。最後に、systemctlを使用してサービスを再起動すると、変更が有効になります。

systemctl restart httpd

ブラウザでサーバーの状態を表示する

mod_statusモジュールを有効にするために必要なすべてのコマンドを入力すると、Apacheサーバーの状態を簡単に確認できます。http://localhost/server-statusにアクセスすることで、Webサーバーに関する情報を確認できます。

3. psコマンドを使用してApacheの状態を確認する

ps(「process status」)ユーティリティを使用して、Apache Webサーバーの状態を確認することもできます。次のコマンドを入力して、すべてのアクティブなプロセスを選択し、表示する出力と「apache2」でフィルタリングできます。

ps -aux | grep apache2

RHELとFedoraでは、上記のコマンドを使用する際にはapache2の代わりにhttpdを参照してください。コマンドが出力を返した場合、Apache Webサーバーが実行されていることがわかります。このコマンドは、プロセス所有者(u)を持つすべてのユーザー(a)からapache2に言及するプロセス状態を返し、端末に関連付けられていないプロセス(x)も含まれます。

4. systemctlでApache Webサーバーの状態を確認する

通常の機能に加えて、systemctlを使用してApache Webサーバーの状態を確認することもできます。systemctlコマンドを適切に調整することで、systemdによって開始されたサービスがすべて実行されているかどうかを基本的に確認できます。

UbuntuやopenSUSEなどのディストリビューションでは、次のコマンドでApache Webサーバーが実行されているかどうかを確認できます。

sudo systemctl status apache2

RHELとFedoraでは、Apache HTTPサーバーはhttpdパッケージによって処理されるため、このコマンドのバリアントを使用する必要があります。次のコマンドを入力して、Webサーバーの状態を確認します。

systemctl status httpd.service

このコマンドを実行すると、「Unit apache2.serviceが見つかりませんでした」というエラーが発生するユーザーもいます。参照するサービスを判断するのに苦労している場合は、次のコマンドを使用してシステムサービスのリストを参照できます。

systemctl list-units --type service --all

5. WebブラウザでApacheサーバーを確認する

Webサーバーの基本的なチェックを行うには、mod_statusモジュールを気にする必要はありません。デフォルトのlocalhostページにアクセスすることは、Apacheサーバーの状態を確認する最も簡単な方法の1つです。

Webブラウザでサーバーの状態を確認するには、検索バーにhttp://localhostと入力します。

Apache Webサーバーが起動して稼働している場合、「It Works!」と書かれたテストページが表示されます。サーバーが正しく設定されていない場合は、エラー403のページが表示される場合があります。詳細を確認するには、/var/log/apache2/error_logを確認することで、トラブルシューティングを行うことができます。

LinuxでApacheサーバーを監視する

メンテナンスと監視は、Webサーバーを運営するという複雑な作業のほんの一部です。公式のApacheドキュメントを読んだり、Linuxディストリビューションによって公開されたガイドを探したり、トピックに関するYouTubeビデオを見たりすることは、Webサーバーについてさらに詳しく知り、熟練したWebマスターになるための優れた方法です。