FC2ブログ

【LPIC_202試験】■1. Webサービス

■1. Webサービス
 ▼1. Webサーバの実装
  【1. Apache (httpd.conf)】(/etc/httpd/conf/httpd.conf)
★特徴
①コンテンツ関連は、基本的に「Document(ディレクトリ)」が付く
②項目において、単語区切りで、頭文字が大文字になっている
③設定項目名は、スペースが無いのがほとんど
大項目中項目ディレクティブ(要素)内容覚え方・コメント
サーバコンテンツTimeout [秒]クライアントからリクエスト受け取り、
コンテンツ提供完了までの最大時間
なぜタイムアウト?
プロセス数StartServers  
 [子プロセス数]
Apache起動時のhttpd子プロセス数 
・MinSpareServers 
 [子プロセス数] 
・MaxSpareServers 
 [子プロセス数]
httpd待機子プロセス数の最小値、最大値 
MaxClients作られるhttpd子プロセスの最大値 
最大同時接続可能数
 
MaxRequestsPerChildhttpd子プロセスが処理するリクエストの最大値 
リクエスト数 
(なぜか
KeepAlive・・)
KeepAlive [ on / off ]1TCP接続で、複数リクエスト受付の可否 
MaxKeepAliveRequests1TCP接続での、
最大受付リクエスト数(「0」は無限)
 
KeepAliveTimeout [秒]KeepAlive時に前リクエスト完了後から、
コネクション切断せずに、 次のリクエスト受け取るまでの最大待ち時間
 
基本
設定
IPアドレス
ポート番号
Listen [IPアドレス:]ポート番号リクエスト受付のIPアドレス・ポート番号設定(デフォルト「80」)待ち受けだから、「Listen」
httpd
実行関連
User [ユーザ名/ユーザID]httpd子プロセスの実行ユーザを設定「User add」じゃない
Group [グループ名/グループID]httpd子プロセスの実行グループを設定「Group add」じゃない
コンテンツディレクトリ
関連
DocumentRoot [ディレクトリ名]web公開するHTMLを格納する最上位ディレクトリを設定ファイルを置くから、「ドキュメント」?
DocumentIndex [ファイル名]インデックスとして返すファイル名を設定(複数もOK)インデックスは「ドキュメント」関連だから?
Alias [ディレクトリパス]特定のディレクトリにアクセス(ドキュメントルート外とか)あった場合、[ディレクトリパス]で指定したファイル・ディレクトリを参照させる「Alias:別名」だから
Options FollowSymlinks
Redirectリクエストを他サーバへ転送 
UserDir [ディレクトリ名/disabled]一般ユーザの公開ディレクトリ 
ErrorDocument [エラーコード/ファイル名/文字列]エラー時の処理を設定なぜか「Document」が入る
初期設定
(sever)
ホスト名ServerName [サーバホスト名(:ポート番号)]Apacheサーバのホスト名・ポート番号を指定なぜ「hostname」でないの?
設定ファイルServerRoot [ディレクトリ名]httpdが使う設定ファイル
(関連コマンドを格納するベースディレクトリを設定)
メインで使うっぽいから、Root(一番上)?
管理者情報ServerAdmin [メールアドレス]管理者メールアドレスを指定(エラーページに表示)管理者情報だから、「ServerAdmin」?
昔は、メールしかないから、メールアドレスのみ?
認証BASIC認証AuthType認証方式を設定。BASIC認証=BASIC「BASIC」基本のため、auth?
AuthName認証画面メッセージ表示設定Name=メッセージ
AuthUserFileパスワードファイル名auth=パスワード
AuthGroupFileグループファイル名そのまま
Requireユーザ・グループを指定
Require user [user-1]
Require group [group-1]
Require=要求する
⇒要求すれば、ユーザもグループも設定できる
Satisfyホスト認証とユーザ認証の両方認証あったらどうするか設定
①ALL:両方
②Any:どちらか満たせばよい
 
ダイジェスト
認証
AuthType認証方式を設定。Digest 
AuthName認証領域を指定(BASIC認証と違うよ)
AuthUserFileパスワードファイル名auth=パスワード
AuthDigestGroupFile  
Requireユーザ・グループを指定
Require user [user-1]
Require group [group-1]
Require=要求する
⇒要求すれば、ユーザもグループも設定できる
外部
設定
ファイル
外部設定
ファイル
AccessFileName [file]外部設定ファイル名
※デフォルト「.htaccess」以外のファイルを設定する場合のこと
外部=access
AllowOverride [parameter]外部設定ファイル「httpd.conf」の上書き○

AuthConfig: 認証関連の設定○
Limit: Order,Allow,Deny
     ディレクティブ設定○
All: 全設定変更○
None: 全設定変更×
Override=無効
仮想
ホスト
IPアドレスベース   
名前ベースNameVirtualHost  
DSODSOモジュールLoadModuleDSOモジュール組込みに必要 
ログIPアドレスHostnameLookups [on/off]クライアント端末のIPアドレスをログに書き込むときに、IPアドレスを逆引きして、ホスト名で書き込むか設定ホスト名のlookup
「s」も忘れずに。
フォーマットLogFormatアクセスログ書式定義そのまま
ファイル名Customlog [file]アクセスログファイル名および「LogFormat」で定義された書式を設定
%h :リモートホスト名
%l :リモートログ名
%u :リモートユーザ名
%t :受付時刻
%r :リクエストの最初行
%s :ステータス
%b :レスポンスバイト数
サーバへのリクエストのログ収集
エラーErrorLog [file]エラーログファイル名を設定 
LogLevel [level]エラーログを書きだすレベルを設定 
  【2. Apacheモジュール】
大項目中項目モジュール内容覚え方・コメント
認証関連認証mod_authBASIC認証BASICなのは「auth」
mod_auth_digestダイジェスト認証ダイジェスト付与
動的mod_so動的(DSO:Dynamic Shared Object)モジュール組み込む機能組込み機能だけだから、「D」が無い?
セキュリティmod_sslSSL通信そのまま
言語mod_perlPerl機能そのまま
mod_phpPHP機能そのまま
  【3. アクセス制御】
大項目設定内容Order Deny,AllowOrder Allow,Deny覚え方・コメント
アクセス
制御
デフォルト全て○全て×後ろの文字が優先される
一部○Order Deny,Allow
 Deny from all
 Allow from
 IPアドレス/ホスト名
Order Allow,Deny
 Allow from
 IPアドレス/ホスト名
 
一部×Order Deny,Allow
 Deny from
 IPアドレス/ホスト名
Order Allow,Deny
 Allow from all
 Deny from
 IPアドレス/ホスト名
 
全て○Order Deny,AllowOrder Allow,Deny
 Allow from all
 
全て×Order Deny,Allow
 Deny from all
Order Allow,Deny 
  【4. Apacheコマンド】
★特徴
①オプションは、危なそうなのは大文字(Deleteなど)
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
Apache
動作
apachectl
apache2ctl
startApache起動 
stopApache停止 
restartApache再起動 
gracefulApache安全再起動graceful=上品な
configtest (「-t」でも同様)設定ファイルの構文チェックコンフィグチェックじゃないんだ・・・
①apachectl configtest
②apachectl -t
③httpd -t
ユーザ
パスワード
htpasswd-c
(create?)
新規パスワード作成「add」じゃないよ
-D
(Delete)
ユーザ削除インパクトが大きい「ユーザ自体削除」だから大文字?
モジュールhttpd-l
(list?)
静的組込みモジュール表示 
-M
(Module?)
動的・静的組込みモジュール表示
(Apache2.2系以降)
全てのモジュールだから、「M」?
 ▼Webサーバ保守
  【1. ssl.conf】(/etc/httpd/conf/ssl.conf)
大項目中項目ディレクティブ(要素)内容覚え方・コメント
SSL保管場所SSLCertificateKeyFileサーバ秘密鍵(server.key)の場所Certificate=証明書
SSLCertificateFileサーバ証明書(server.crt)の場所Certificate=証明書
server.csr=証明書発行要求書(s=sent?)
認証レベルSSLVerifyClientクライアント認証レベル設定。
「require」⇒クライアント証明書必須
 
有効無効SSLEngineSSLの有効無効設定(on/off)エンジンのオン・オフ
 ▼Proxy
  【1. squid.conf】(/etc/squid/squid.conf)
大項目中項目設定項目内容覚え方・コメント
基本
設定
利用ポートhttp_port [IPアドレス:]ポート番号squid が使用するポート番号 
キャッシュhierarchy_stoplist [文字列]キャッシュを使わない文字列設定hierarchy(ハイアラーキー)=階層、序列
maximum_object_size [バイト数]最大キャッシュサイズ 
minimum_object_size [バイト数]最小キャッシュサイズ 
maximum_object_size_in_memory [バイト数]最大メモリキャッシュサイズリソース調整
ipcache_size [数]IPアドレス名前解決キャッシュ数「ipcache」は略しすぎでしょ
cache_dir [ディレクトリ]ディレクトリキャッシュ及びパラメータリソース調整
cache_mem [バイト数]全メモリの最大値リソース調整
cache_log [ファイル名]キャッシュログを保存するファイル名 
HTTP
リクエスト
request_header_max_size [バイト数]最大ヘッダサイズ 
request_body_max_size [バイト数]最大ボディサイズ 
アクセス
制御
acl [acl名] [aclタイプ] [文字列/ファイル名]ACL定義。下記、主なaclタイプ
src :接続元IPアドレス
dst :接続先IPアドレス
time :時刻
url_regrex :URLの正規表現

port :接続先ポート
proto :転送プロトコル
method :HTTPメソッド
proxy_auth :ユーザ認証
プロキシは、半端なプロト
http.access allow/deny [acl名]ACL制御 
認証auth_param [認証方式] program [認証プログラム] [パスワードファイル]ユーザ認証設定 
  【2. アクセス制御】
大項目中項目ACL名内容覚え方・コメント
アクセス
制御
ドメインsrcdomain [ドメイン名]接続元のドメイン名 
dstdomain [ドメイン名]宛先のドメイン名 
メソッドmethod [メソッド名]HTTPリクエストメソッド 
ユーザproxy_auth [ユーザ名]対象ユーザ 
ポートport [ポート番号]ポート番号 
プロトコルproto [プロトコル名]プロトコル「protocol」じゃないよ
IPアドレスsrc [IPアドレス/マスク]クライアント端末のIPアドレス/マスク 
dst [IPアドレス/マスク]宛先のIPアドレス/マスク 
MACarp [MACアドレス]接続元MACアドレスなんでarpが付くんだ?
時間time [S/M/T/W/H/F/A] [開始時刻 [終了時刻]曜日・時間
(S~A:日曜~土曜)
 
正規表現url_regex [文字列]正規表現のURLregex=正規表現
urlpath_regex [文字列]正規表現のURL
(プロトコル・ホスト名は除外)
 
関連記事

コメント

非公開コメント

FC2-Counter (Since 2013/8)