Apache ダウンロード
Apache
http://www.eng.lsu.edu/mirrors/apache/httpd/binaries/win32/
OpenSSL
http://www.slproweb.com/products/Win32OpenSSL.html
Apache インストール
・展開後コピー
(例)
Apache
c:\Apache
OpenSSL
c:\OpenSSL
Apache http.conf 設定
c:\Apache\confにあるhttpd.default.confをhttp.confにコピーして編集 ・サーバへのリクエストをリダイレクトさせることができる
行頭の#を削除
LoadModule rewrite_module modules/mod_rewrite.so
・SSLモジュールを組み込む
行頭の#を削除
LoadModule ssl_module modules/mod_ssl.so
・PHPを使う場合は追加
PHP4
LoadModule php4_module c:/php/sapi/php4apache2.dll
PHP5
LoadModule php5_module c:/php/php5apache2.dll
・ドキュメントルートの変更
DocumentRoot "c:/apache/htdocs"
-> (例) DocumentRoot "c:/home/users"
・ディレクトリーのオプション設定
Options FollowSymLinks MultiViews ExecCGI Includes
All
MultiViews を除き、すべてのオプションを有効にします。
ExecCGI
CGI スクリプトの実行を可能にします。
FollowSymLinks
シンボリックリンクを有効にします。
Includes
SSI の利用を可能にします。
IncludesNOEXEC
SSI の利用を、制限付きで可能にします。SSI の機能のうち、#exec 命令と、CGIスクリプトの #include 命令が使えません。
Indexes
index.html がない場合に、ディレクトリ一覧を表示することを許可します。特別な場合を除いて、許可すべきではありません。
MultiViews
コンテンツネゴシエーションされた、MultiViews 検索を許可します。
None
すべてのオプションを無効にします。
SymLinksIfOwnerMatch
ファイル所有者に限り、シンボリックリンクを許可します。FollowSymLinks より安全です。
・.htaccessを有効にする
AllowOverride All
AuthConfig
認証設定の使用を許可します。 (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile,
AuthName, AuthType, AuthUserFile and require).
FileInfo
ドキュメントタイプをコントロールする命令の使用を許可します (AddEncoding, AddLanguage, AddType,
DefaultType and LanguagePriority).
Indexes
ディレクトリインデクスをコントロールする命令の使用を許可します (AddDescription, AddIcon, AddIconByEncoding,
AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName,
IndexIgnore, IndexOptions and ReadmeName).
Limit
ホストへのアクセスをコントロールする命令の使用を許可します (allow, deny and order)。次の例はiria1.07s9aのブラウザ変数をもったクライアントからのアクセスを制限しています。
・index.html 以外をデフォルトファイルにする
DirectoryIndex index.htm index.html index.cgi index.php
・ログを1日毎に分ける
(例) CustomLog "|/apache/bin/rotatelogs.exe /XXX/access.log.%Y%m%d
86400 540" combined
XXXはディレクトリー
・応答ヘッダの内容を変更
ServerTokens ProductOnly
設定 送信される情報
ServerTokens Full Apache/2.0.48 (Red Hat Linux) PHP/4.3.4 mod_perl/1.26
ServerTokens OS Apache/2.0.48 (Red Hat Linux)
ServerTokens Minimal Apache/2.0.48
ServerTokens ProductOnly Apache
・ApacheのバージョンナンバーとServerNameを表示しない
ServerSignature Off
設定 送信される情報
ServerSignature On Apache のバージョンナンバーとServerName
ServerSignature Off 表示なし
ServerSignature EMail ServerAdminディレクティブで指定した電子メールアドレス
・CGIプログラムが実行できるようにする("c:/apache/cgi-bin/以外でも)
#ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"
・CGIプログラムが実行できるようにする(MIMEを自動的に送る)
AddHandler cgi-script .cgi .pl
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
・デフォルトの charset
AddDefaultCharset off
Apache ssl.conf 設定
・ドキュメントルートの変更DocumentRoot "c:/apache/htdocs"
-> (例) DocumentRoot "/home/users/ssl"
・ServerNameの変更
ServerName www.example.com:443
・ServerAdminの変更
ServerAdmin you@example.com
・ログを1日毎に分ける
#TransferLog logs/access_log
(例) CustomLog "|/apache/bin/rotatelogs.exe /XXX/access.log.%Y%m%d
86400 540" combined
XXXはディレクトリー
・SSLCertificateFileの変更
SSLCertificateFile conf/certs/server.crt
・SSLCertificateKeyFileの変更
SSLCertificateKeyFile conf/certs/server.key
Apache htaccess
order allow,deny
allow from all
deny from xxx.xxx.xxx
deny from hoge.jp
order deny,allow
deny from all
allow from xxx.xxx.xxx
allow from.hoge.jp
AuthType Basic
AuthName "Please enter username and password"
AuthUserFile /usr/local/apache/.htpasswd
AuthGroupFile /dev/null
require valid-user
Redirect permanent [ リダイレクト元] [ リダイレクト先]
Apache サービス登録
・Apache サービスインストール
apache\bin\apache.exe -k install
apache\bin\apache.exe -k config -D SSL
・Apache サービスアンインストール
apache\bin\apache.exe -k uninstall
・Apache スタート
apache\bin\apache.exe -k start
・Apache ストップ
apache\bin\apache.exe -k stop
・Apache リスタート
apache\bin\apache.exe -k restart
Apache SSL鍵と証明書の作成 (OpenSSL)
openssl req -config openssl.cnf -new -out server.csr
openssl asn1parse -i -in server.csr
openssl rsa -in privkey.pem -out server.key
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
copy server.crt c:\apache\conf\certs
copy server.key c:\apache\conf\certs
openssl x509 -in server.crt -out server.der -outform DER
PHP ダウンロード
PHP インストール
PHP 設定
関数のコール時に引数が参照で渡された場合に、警告するかどうかを 設定
スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定
スクリプトが POST、GET そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定
スクリプトが確保できる最大メモリをバイト数で指定
スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定
出力する PHP エラーの種類を設定
E_ALL..........全てのエラーと警告
E_NOTICE.......実行時の警告
E_STRICT.......実行時の注意
エラーをHTML出力の一部として画面に出力するかどうかを定義
extension = php_interbase.dll
extension = php_mysql.dlll
extension = php_pdo.dll
extension = php_pdo_oci.dlll