AddHandler default-handler


ScriptAliasでCGIを使えるようにした場合、/cgi-bin/以下でhtmlファイルや画像ファイルが表示できなくなるのを防ぐには以下のようにhtmlやjpgなどにdefault-handlerを設定してあげればよい。

Apache2.Xの文字化け


Apache2.xで日本語が文字化けを起こす場合、AddDefaultCharsetに間違った値が設定されている可能性があります。対処法としてはまずこの部分をコメントアウトしてしまいます。

Apacheのバージョンを調べるには


現在インストールされているApacheのバージョンを調べるにはhttpdコマンドにオプション-vを渡します。

CGIファイルがあるのに No such file とログにでる


CGIファイルが存在するのに、以下のようにNo such fileとApacheのエラーログに出る場合、CGIファイルの一行目にかかれているパスがおかしい可能性があります。

CSRの作成方法 (Apache+ModSSL)


CSRとは署名要求(Certificate Signing Request)のことで、これに署名をしてもらったものがSSLサーバ証明書になります。以下CSRの作成方法。

CustomLog - アクセスログの保存場所を指定


アクセスログの保存場所はCustomLogディレクティブにて指定できます。

ErrorDocument - エラーメッセージのカスタマイズ


ファイルが見つからない場合などに表示されるエラーメッセージをカスタマイズするにはErrorDocumentディレクティブを使用します。

IPによるアクセス制限


IPアドレスによるアクセスを制限する場合には制限をかけたい場所に 以下のようにして.htaccessファイルを作成します。

Invalid method in request


エラーログに"Invalid method in request"といったログが残る場合、SSLの設定が正しくされていない可能性が高いです。

LogFormat - アクセスログの出力形式を指定


アクセスログの出力形式を設定するにはLogFormatディレクティブを使います。

MIMEの設定


MIMEの設定ファイルは通常TypesConfigにて指定されています。このディレクティブで指定されたファイルにかかれていない設定はAddTypeにて追記することができます。

MultiViews - 拡張子の自動判別


OptionsディレクティブにMultiViewsを指定すれば、拡張子を自動判別してページを表示してくれます。

PHPのソースが表示されてしまう


PHPをインストールしたにもかかわらず、ソースが表示されてしまう場合、以下の二行がhttpd.confに記述されているか確認してみてください。

Redirect - URLのリダイレクト


RedirectはURLのリダイレクトをするために使用されます。Googleではページなどが移動した場合にステータス301を返すようガイドラインに書いてありますので(Redirect Permanent)、このディレクティブを使用するとよいでしょう。

RedirectMatch - URLのリダイレクト


URLをリダイレクトするにはRedirectMatchを使用します。

RewriteCond - RewriteRuleの条件を設定


RewriteCondディレクティブでRewriteRuleの条件を設定できます。複数の条件を設定することが可能。

SSIの主な使用方法


SSIの主な使用方法は以下のようになります。

SSIを使用するには


SSI(Server Side Include)を有効にするにはOptionsにIncludesもしくはIncludesNoExecを設定します。

SSLの起動


apachectlからSSLを有効にしてサーバを立ち上げるにはstart ではなく startsslを使用する。

SSL証明書のインストール方法


SSL証明書のインストール方法。

ScriptLog - CGIスクリプトのエラーログ


ScriptLogはCGIのエラーのみをログに取ります。ただし記録するログファイルはウェブサーバの子プロセスの所有者のパーミッションにて前もって作成しておく必要があります。

SetEnvIfNoCase


SetEnvIfNoCaseは大文字小文字を区別しない点を除いてSetEnvIfと同じ働きをします。

SetEnvIfを使用したログの振り分け


SetEnvIfは環境変数を設定するためのディレクティブです。

Turbolinux - SSLの起動


turbolinuxなどではSSLの起動オプションがコメントアウトされているらしい。以下のようにしてコメントをはずせばSSLが有効になる。

apache + mod_ssl のインストール


apache + mod_sslにて動かすにはまずmod_sslからconfigureします。

apacheのアクセスログに出現するfavicon.icoとは


IEなどのブラウザーではブックマークなどのアイコンにサイト独自のアイコンを使用できますが、その際に使用されるファイルがこのfavicon.icoです。

apacheのバージョン情報を隠すには


Apacheのバージョン情報を隠すにはhttpd.conf内のServerSignatureとServerTokensの設定を変更します。ServerSignatureはエラーメッセージのフッターに付く情報を、ServerTokensはクライアントに返すヘッダー内の情報を制御します。

file permissions deny server access


file permissions deny server accessといったエラーがアクセスログに出た場合、ファイルのパーミッションに問題がある可能性があります。

httpd.confのsyntaxをチェックをするには


apachectl configtestで設定ファイルに間違いがないかを確かめることが可能。

keytool error: java.io.IOException: AVA parse, quoted strings NYI


keytoolでCSR作成時に以下のエラーが出る場合、Organization name にカンマを使用しないようにすればよい。

mod_auth_pgsql


mod_auth_pgsqlはhttp://www.giuseppetanzilli.it/ より取得できます。以下DSOでのインストール方法

mod_perlに関して


Apache 2.x系ではApache::Registry -> ModPerl::Registry に代わっている。

mod_perlのインストール


mod_perlはApacheの追加モジュールで、mod_perlのウェブサイトより入手できます。

mod_proxy_balancerによる負荷分散


mod_proxy_balancerを使用すればアクセスを複数のサーバに分散させることが可能。またセッション情報などを保持して、同一セッションは同じサーバに飛ばすことができる。以下FreeBSDでの設定方法。

mod_usertrack - トラッキングクッキーの発行


mod_usertrackモジュールを使用すればクッキーを自動的に埋め込むことができます。

seg fault or similar nasty error detected


PHPの4.35などを使用している場合、apacheのエラーログに "seg fault or similar nasty error detected in the parent process" というエラーが出る場合がある。

suexecのコンパイル時の設定確認


suexec -V でコンパイル時の設定を確認できます。

tomcat - SSLの設定


tomcatでキーやCSRの作成にはkeytoolというコマンドを使用します。なおデフォルトでのパスワード設定はchangeitになっています。

tomcatの起動と停止


tomcatの起動や停止には順番があります。起動時はtomcat -> apacheの順に、停止時は逆にapache -> tomcatの順に停止します。

ドキュメントルート直下でファイルの一覧が見れない


Indexesオプションが付いていてもドキュメントルート直下でファイルの一覧がみれない場合、/etc/httpd/conf.d/welcom.confが存在するかどうか確認してみましょう。もし存在する場合、このファイルを削除し、apacheを再起動すればよい。

バーチャルホストの一覧を見るには


httpd -S でバーチャルホストの一覧をみることができます。Apache 2.x を使用している場合、httpd -t -D DUMP_VHOSTS で一覧を参照することが可能です。

バーチャルホストの設定をするには - NameVirtualHost


ApacheのバーチャルホストにはIPベースのバーチャルホストとネームベースのバーチャルホストの二種類あります。ひとつのIPで複数のサイトを運用する場合には後述のネームベースの方を利用します。

パスワードによる基本認証


特定のページにパスワードをかけるにはhtaccessによる基本認証を使用します。

ファイル名によるアクセス制限


特定ファイルへのアクセスを禁止するには以下のように.htaccessなどでFilesディレクティブを使用すればよい。

ユーザエージェントによるアクセス制限


ユーザエージェントにてアクセス制限をかけるにはまずSetEnvIf を使用して環境変数を設定します。

リソース制限


ApacheでCPUやメモリ、プロセス数による制限をかけるにはRLimitCPU、RLimitMEM、RLimitNPROCディレクティブを使用します。

外部参照の禁止


外部参照を禁止するにはSetEnvIfにてRefererの環境変数を設定し、そのリファラー以外からのアクセスを禁止すればよい。

自己署名証明書の作成


自己署名証明書の作成にはopensslコマンドを使用します。