Apache Webサーバーの設定
ServBayでは、組み込まれたApache Webサーバーパッケージの管理および設定が簡単に行えます。ServBayのグラフィカルユーザーインターフェースを利用し、各種開発プロジェクトの要件に合わせてApacheのコア設定を柔軟に調整できます。
Apache設定へのアクセス
- ServBayアプリケーションを開きます。
- 左側のナビゲーションバーで「Webサーバー」をクリックします。
- 「Apache」タブを選択します。
以下の画像のように、Apacheの設定画面が表示されます。

主な設定項目の説明
Apache設定画面における各パラメータの詳細は次のとおりです。
基本設定
- HTTP Port: ApacheがHTTPプロトコルで待ち受けるポート。デフォルトは
80。 - HTTPS Port: ApacheがHTTPSプロトコルで待ち受けるポート。デフォルトは
443。 - Server Name: サーバーの識別に使われる名前およびポート。デフォルトの
127.0.0.1は通常ローカルアクセス用。 - Server Root: Apacheパッケージがインストールされているルートディレクトリ。注意: これはWebサイトのファイル保存ディレクトリ(WebサイトのルートディレクトリはWebサイト追加時に個別設定)ではなく、Apacheのプログラムファイルが存在するパスです。通常デフォルトは
/Applications/ServBay/package/apache/current。
パフォーマンスチューニング (Performance Tuning)
- Timeout: サーバーがI/O操作に対して待機する最大秒数。デフォルトは
300秒。 - Max KeepAlive Requests: 一つの持続接続で処理可能な最大リクエスト数。
1000は多数のリクエスト再利用を許可、0で無制限。 - KeepAlive Timeout: 次のリクエストを待機するために、持続接続を維持する最大秒数。デフォルトは
60秒。 - Keep Alive: HTTPの持続接続(KeepAlive)の有効/無効。パフォーマンス向上のため
On推奨。 - MPM StartServers: サーバー起動時に生成する子プロセス数。
- MPM MaxSpareThreads: 最大アイドルスレッド数。急増するリクエストに備えて予備スレッド数を制御。
- MPM MaxConnectionsPerChild(旧MaxRequestsPerChild): 各子プロセスがライフサイクル中に処理可能な最大接続数。
0で無制限。メモリリーク対策に有効。 - MPM MaxRequestWorkers(旧MaxClients): 全子プロセスで同時に処理可能な最大並列リクエスト数。Apacheのパフォーマンスに直結する重要パラメータ。
- MPM ThreadsPerChild: 各子プロセスが生成するスレッド数(
workerまたはeventMPM向け)。
機能・特性 (Features & Characteristics)
- Access File Name: 分散設定ファイルの名称設定。通常は
.htaccessを指定し、このファイルによるメイン設定の上書き可否を管理。 - Use Canonical Name: Apacheが自己参照URLを生成する方法を制御。
Offが柔軟性高め。 - Server Signature: サーバー生成ページ(エラーページなど)の下部に、サーバーバージョンやバーチャルホスト名などを表示。セキュリティ観点から本番環境では
Off推奨。 - Hostname Lookups: リクエスト元IPアドレスからホスト名をDNS逆引きで取得するかどうか。
Offでパフォーマンス向上(DNSクエリは遅い場合あり)。 - Server Tokens: サーバーレスポンスヘッダー(
Server:)の情報量を制御。Minor(例: Apache/2.4)はFull(例: Apache/2.4.58 (Unix) PHP/8.3.1)より安全。ProdはApacheのみ表示。
管理とログ (Admin & Logging)
- Server Admin: クライアントに返されるエラーメッセージに表示される管理者メールアドレス。
- Log Level: エラーログ(
error_log)に記録されるメッセージの詳細度合い。warnはよく使われるレベルで、警告以上のエラーを記録。その他レベルとしてdebug,info,notice,error,crit,alert,emergなど。
モジュール (Modules)
このエリアには利用可能なApacheモジュールが一覧表示されます。必要なモジュールをチェックして有効化、不要なものはチェックを外して無効化できます。代表的なモジュール例:
mod_rewrite: URLリライト用。mod_ssl: SSL/TLS(HTTPS)対応。mod_deflate: 転送データの圧縮。mod_expires: キャッシュヘッダー制御。mod_proxyおよび関連モジュール: リバースプロキシ用。mod_auth_basic,mod_auth_digest: ベーシック・ダイジェスト認証用。
モジュールの有効/無効化後、設定保存とApacheサービスの再起動で反映されます。
ディレクトリインデックス (Directory Index)
- Directory Index: 指定URLがディレクトリの場合に、Apacheがその中で検索するファイルリスト。順にチェックし、最初に存在するファイルの内容を返します。デフォルト値は
index.html index.htm index.phpが一般的。
SSL/TLS設定
これらの項目は、ApacheのHTTPS機能を設定するものです。
- SSLCipherSuite / TLSCipherSuite: サーバーで許可される暗号スイートの指定。最新かつ強力なスイート推奨。ServBayでは推奨値を初期設定済み。
- SSLProxyCipherSuite: Apacheがリバースプロキシ動作時に使用するSSL接続の暗号スイート設定。
- SSLHonorCipherOrder:
Onでサーバー側の優先暗号スイートを強制。On推奨。 - SSLStrictSNIVHostCheck:
Onにすると、SNI(Server Name Indication)で要求されたホスト名が定義済みバーチャルホストと一致しない場合は接続拒否し、セキュリティ向上。 - ProtocolHonorOrder:
SSLHonorCipherOrderと同様だが、プロトコルバージョンの優先交渉に適用。 - SSLProtocol: 許可するSSL/TLSプロトコルバージョンの指定例。
all -SSLv2 -SSLv3は現代的な全プロトコル許可、古い脆弱なSSLv2/v3は無効。 - SSLProxyProtocol: Apacheがリバースプロキシとして動作時に使うSSL接続の許可プロトコルバージョン。
- Protocols: 対応プロトコルの交渉順や種類を設定。たとえば
h2 h2c http/1.1でHTTP/2(暗号化h2または平文h2c)を優先し、次いでHTTP/1.1を使用。
保存とリセット
- Reset: このボタンでApacheの全設定をServBayのデフォルト値にリセット。
- Save: このボタンでApache設定変更を保存。保存後は通常、ServBayが自動適用します。Apacheサービスが稼働中の場合は短時間の再起動が必要なこともあります。
重要な注意事項
- ここで設定するのはApacheのグローバル設定です。個々のWebサイト(バーチャルホスト)ごとの設定(
DocumentRootや特定のRewriteRule等)は、Webサイト追加や編集時に個別で行います。 - 設定画面上部に「Service Apache is not enabled」と表示されている場合、Apacheサービスは現在動作していません。この場合でも設定の編集・保存は可能ですが、設定内容は次回Apache起動時に反映されます。ApacheはServBayメインパネルまたは「パッケージ」メニューから起動可能です。
まとめ
ServBayでは、Apache Webサーバーのコア設定を直感的に管理できるインターフェースを提供しています。各種オプションの意味を理解することで、開発要件に合わせてApacheの動作・パフォーマンスやセキュリティを最適化し、ServBayをローカル開発環境として最大限に活用できます。
