Home

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

  • BASIC認証を使う

    AuthType Basic
    AuthName "Please enter username and password"
    AuthUserFile /usr/local/apache/.htpasswd
    AuthGroupFile /dev/null
    require valid-user

  • 変更先URLへと誘導する

    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)

  • 秘密鍵とCSRファイルを作成

    openssl req -config openssl.cnf -new -out server.csr

  • 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

  • 鍵と証明書を、Apacheのディレクトリ配下にコピーする

    copy server.crt c:\apache\conf\certs
    copy server.key c:\apache\conf\certs

  • 証明書をブラウザにインポートするためのderファイルを作成

    openssl x509 -in server.crt -out server.der -outform DER

  • PHP ダウンロード

  • http://www.php.net/downloads.phpからWindows Binariesをダウンロード
  • PHP インストール

  • ダウンロードしたファイルを解凍します。解凍後、「C:\php」にすべてのファイルを移動
  • [php.ini-dist]をwindowsディレクトリへコピー
  • コピーしたphp.ini-distのファイル名をphp.iniに変更

  • [php4ts.dll]をSystemディレクトリへコピー

  • PHP 設定

  • PHPの設定はphp.iniをエディタで編集

  • allow_call_time_pass_reference = On

        関数のコール時に引数が参照で渡された場合に、警告するかどうかを 設定



  • max_execution_time = 600

        スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定


  • max_input_time = 120

        スクリプトが POST、GET そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定



  • memory_limit = 128M

        スクリプトが確保できる最大メモリをバイト数で指定


  • max_execution_time = 600

        スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定


  • error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

        出力する PHP エラーの種類を設定
        E_ALL..........全てのエラーと警告
        E_NOTICE.......実行時の警告
        E_STRICT.......実行時の注意


  • display_errors = Off

        エラーをHTML出力の一部として画面に出力するかどうかを定義

  • FireBirdを使用する

        extension = php_interbase.dll
  • MySQLを使用する

        extension = php_mysql.dlll
  • Oracleを使用する

        extension = php_pdo.dll
        extension = php_pdo_oci.dlll




  •  
    ブログ