2.09.1 Apache HTTPサーバーの設定と管理
Apache
設定ファイル
RedHat系 → /etc/httpd/conf/httpd.conf
Debian系 → /etc/apache2/apache2.conf
制御用コマンド
RedHat系 → 「apachectl」
Debian系 → 「apache2ctl」
httpd.confの書式
ディレクティブ名 設定値
・<Files ファイル名>…</Files>
ファイルごとの設定を行う場合
・<Directory ディレクトリ名>…</Directory>
ディレクトリごとの設定を行う場合
・<Location URL>…</Location>
URLごとの設定を行う場合
・<IFModule モジュール>…</IFModule>
モジュールごとの設定を行う場合
httpdコマンド
Apacheに組み込まれているモジュールを確認できる
httpd [オプション]
Apache2.4の主なモジュール
httpd.confのディレクティブ
基本設定およびコンテンツに関する主なディレクティブ
外部設定ファイルに関するディレクティブ
「Server」で始まる主なディレクティブ
サーバ処理関連のディレクティブ
ログ関連のディレクティブ
BASIC認証とダイジェスト認証
BASIC認証とダイジェスト認証に関するディレクティブ
BASIC認証のユーザ管理
htpasswd [オプション] ファイル名 ユーザ名
ダイジェスト認証のユーザ管理
htdigest [-c] ファイル名 認可領域名 ユーザ名
Requireディレクティブ
書式
Require [not] エンティティ 値
複数の条件を指定したい場合
2.09.2 OpenSSLとHTTPSの設定
SSL/TLS
ApacheでSSL/TLSを利用する際の主な流れ
1. 秘密鍵を作成する
例)秘密鍵のファイル名を「server.key」、アルゴリズムをRSA、鍵長を2048bitで作成
openssl genrsa -out server.key 2048
※genrsaサブコマンドはRSA鍵のみ、gendsaサブコマンドはDSA鍵のみを作成するので、アルゴリズムを指定できるgenpkeyサブコマンドに置き換えられています。
2. サーバ証明書を認証局に作成してもらう為、CSR(証明書の署名要求)を作成する
作成されるCSRには、秘密鍵の対となる公開鍵の情報が含まれます。
例)秘密鍵「server.key」を使用し、CSRをファイル名「server.csr」として作成
openssl req -new -key server.key -out server.csr
※このコマンドを実行すると、プロンプト上で「組織名」「住所」「SSL/TLSサーバのFQDN」などの入力が求められます。
また作成されるCSRには、秘密鍵「server.key」の対となる公開鍵の情報が含まれます。
3. 認証局にCSRを提出し、その後、中間CA証明書とサーバ証明書が認証局より発行される
4. 秘密鍵と中間CA証明書、サーバ証明書をサーバの所定の場所へ設置し、ApacheのSSL用の設定ファイル「ssl.conf」でそれぞれのファイルを指定する
「ssl.conf」の主なディレクティブ
2.09.3 nginxの設定と管理
Nginx
設定ファイル
/etc/nginx/nginx.conf(メイン)
/etc/nginx/conf.d
コマンド
nginx -s reload → Nginxの設定を再読み込みする
nginx -t → nginx.confファイルの構文をチェック
Nginxの主なディレクティブ
nginx.confの主なディレクティブ
SSL/TLS関連の主なディレクティブ
2.09.4 Squidの設定と管理
Squid
squidclientコマンド
Squidの設定ファイルsquid.confの主な設定項目
aclの書式と主なACLタイプ
acl acl名 aclタイプ 文字列|ファイル名