LinuCレベル2 202試験の出題範囲「2.09.1 Apache HTTPサーバーの設定と管理」の技術的内容についての解説をまとめました。
重要度 3 概要 Apache HTTP サーバーのインストールと設定ができる。これには、サーバーの負荷と性能の監視、クライアントからのユーザアクセスの制限、モジュールとしてのスクリプト言語をサポートする設定、およびクライアントユーザの認証設定も含まれる。また、サーバーのオプション設定でリソースの使用を制限することも含まれる。仮想ホストを使用するようApache HTTP サーバーを設定し、ファイルへのアクセスをカスタマイズできる。 詳細 Apache HTTP サーバー の設定ファイル、用語、ユーティリティ
・httpd, apache2
・httpd.conf, mod_auth_basic, mod_authz_host
・apachectl, apache2ctl
Apache HTTP サーバーのログファイルの設定と内容
・アクセスログとエラーログ
アクセス制限の方法とファイル
・.htaccess, AuthUserFile, AuthGroupFile
クライアントユーザを認証するファイルとユーティリティ
・htpasswd
最大リクエスト数、最小/最大サーバー数およびクライアント数の設定
Apache HTTP サーバー における仮想ホストの実装ファイルへのアクセスをカスタマイズするために、Apache HTTP サーバーの設定ファイルで Redirect 文を使用する。

Apache HTTP サーバーとは

Apache HTTPサーバーはサーバーに対してWEBサーバー機能を提供するサーバー向けのソフトウェアです。Apache HTTP Serverをサーバーにインストールして適切に設定するとブラウザからサーバーにアクセスしたときにWEBページなどを表示することができるようになります。
LinuC公式サイトではApache HTTP Serverについて以下のように説明されています。
Apache HTTP Server、単に「Apache」と呼ばれることも多いのですが、このソフトウェアは世界中で広く利用されているWebサーバソフトウェアです。
ほとんどのLinuxディストリビューションにパッケージとして提供されており、使ったことがあるという人も多いと思います。何といっても、大規模なサイトからごくごく内輪のためのサイトまで広い範囲で利用できるため、LinuxでWebサーバといえばApache、という感じもあります。

RedHat系とDebian系のApacheの設定ファイル


RedHat系のApacheのデーモンはhttpd、設定ファイルは「/etc/httpd/conf/httpd.conf」で、Debian系のデーモンはapache2、設定ファイルは「/etc/apache2/apache2.conf」です。それぞれ名称は異なりますが、動作や設定ファイルの中の書式は基本的に同じ内容になっています。
Apacheの制御用コマンド「apachectl」と「apache2ctl」
Apacheの制御用コマンドには、「apachectl」と「apache2ctl」があり、それぞれRedHat系では「apachectl」、Debian系では「apache2ctl」コマンドを使用します。前述の通り、RedHat系とDebian系でデーモンや設定ファイルの名称と格納先が異なるため、制御用のコマンドも名称が異なります。
コマンド名称は違っていても、動作やコマンドのサブコマンドについてはどちらも基本的に同じです。
「apachectl」と「apache2ctl」のサブコマンド
「apachectl」と「apache2ctl」のサブコマンドを紹介します。サブコマンドはそれぞれ「apachectl」と「apache2ctl」の後ろに記載して使います。
| サブコマンド | 説明 |
|---|---|
| start | Apacheの起動 |
| stop | Apacheの終了 |
| status | Apacheの起動状態の確認 |
| restart | Apacheの再起動 |
| graceful | Apacheを安全に再起動 |
| configtest | 設定ファイルの構文チェック |
例えば、Apacheを「apachectl」で起動したい場合には以下のコマンドを実行します。
apachectl start
Apacheの設定ファイルhttpd.confのディレクティブ
Apacheの設定ファイルのディレクティブの一覧は以下のApache公式サイトから確認できます。
ディレクティブとは、設定ファイルの要素のことです。設定ファイル内に記載されている各設定の見出しのようなものがディレクティブになります。ディレクティブという単語は、Apacheの設定ファイル以外にも同じWEBサーバーソフトであるNGINX(エンジンエックス)などの設定ファイルに対しても使用される単語です。
