(Apache2)、GUIで設定できるsystem-config-httpdが含まれるが、suEXEC(後述)の設定が希望するものと違うので、自分でコンパイル・インストールした。仮想ホスト)とsuEXECを有効にしてインストールする。次のようなURLとディレクトリの対応を想定する。/home/foouser/anydir/コンパイルからインストールまでまずはファイルをダウンロードする。ファイルは次の場所にある。Projectネットワークへの負荷を考えて,日本国内のサーバーからダウンロードする。zはバージョン番号)であり,一番新しいファイルをダウンロードする。ファイルがダウンロードできたら,展開する。次に、Apacheに組み込むモジュールの設定を行う。モジュールを選ぶとき、どういう方針でいくか。"most"でほとんどのモジュールを有効にする。モジュール単位で切る(無効にする)こともできるので、サーバが速いならこれが手軽。(suEXECについては後述。--enable-ssl=static個別に最小限のものだけ指定する。サーバが非力のときはこちらがいい。mod_vhost_aliasあたりがあればいいので、それだけを指定する。2.0から変わり、アンダースコアからハイフンになっている。OpenSSLのコンパイル時の設定によっては実行時にX509_free()が見つからないエラーになることがあって、その回避のため。suEXEC(この節、2006.5.6更新)suEXECは、各ユーザーのpublic_html/以下にあるCGIプログラムをそのユーザ権限で実行する。書き込み許可を与えなくてもよくなる。CGIプログラムではない静的なHTMLファイルは、依然としてapacheユーザ権限でアクセスするので、public_htmlのパーミションは701でなければならない。採っているので、groupのパーミションは重要ではない。2.2のコンパイル時に設定する。httpdのユーザ名を指定する。5では、500からが一般ユーザなので、それを指定する。以下のほかはsuEXECでは実行できない(apacheユーザになる)。なるが、「/home/ユーザ名」以下にディレクトリを作って、そこをバーチャルホストのルートにしたいので、指定する。suEXECでカバーされないディレクトリは、apacheユーザでCGIプログラムが実行される。このようなCGIプログラムは、直接suexecコマンドを実行し、suexec-docroot以下のディレクトリにあるプログラムを別のユーザに成りすまして実行できる。mod_phpもapacheユーザで動くことに注意。潜在的なセキュリティ上の脆弱性が生じるので、suEXECを使うかどうか、suexec-docrootをどう設定するかも含めて十分な検討が必要。コンパイル、インストールする。install以上で,/usr/local/apache2ディレクトリにインストールされる。インストールされたか、設定を見ておく。suexecコマンドは、rootユーザが呼び出したときに限り、-Vオプションを付けると設定を表示する。次に,設定ファイルを変更する。Apacheの設定ファイルのファイル名はhttpd.confで,/usr/local/apache2/confディレクトリにある。何ヶ所か変更を加えておく。LoadModuleディレクティブで読み込まれているモジュールで不要なものをコメントアウトしておく。2.2では、設定ファイルがいくつかに分かれている。httpd.confファイルのなかでIncludeしている。別ファイルになっている設定ファイルは、conf/extraディレクトリにある。mod_rubyについては、mod_rubyメモを参照。httpdを実行するユーザー名,グループ名を変更する。デフォルトではnobodyだが,何でもかんでもnobodyで動かすと,nobodyユーザーが乗っ取られたときのリスクが大きくなる。apacheサーバー管理者のメールアドレスを設定する。次に、.htaccessで設定を変更できる範囲を拡大する。これはhttpd-userdir.confファイルに書く。IncludesNoExec</Directory>AddDefaultCharsetは明示的に文字コードの指定がないときに付加する文字コードを指定する。日本語の文書のときにもISO-8859-1を付けられては不味いので、設定を殺しておく。設定するときは、あらかじめDNSのほうも変更しなければならない。使うここでは、orange.fruits、d.orange.fruitsが同じIPアドレスを指すようになっているものとする。conf/extra/httpd-vhosts.confファイルで設定する。hori</VirtualHost>ホスト名ベース(ひとつのIPアドレス)のバーチャルホストにするので、NameVirtualHostを指定する。SuexecUserGroupで指定したユーザー・グループでCGIプログラムは実行される。Apacheの起動httpd.confなどの設定ファイルを変更したら、httpdコマンドで確認しておく。誤りがある場合はエラーメッセージが出るので、適宜修正する。OKApacheを起動するには、/usr/local/apache2/binにあるapachectlコマンドを使う。starterror_logファイルに起動メッセージが記録される。suEXECが有効になっていることを確認する。chkconfigコマンドでシステムの起動時にapacheを起動するかどうか設定できるようにするために、apachectlスクリプトの最初のほうに次の行を追加しておく。Server.また、/etc/rc.d/init.d/httpd(または/etc/init.d/httpd)へのシンボリックリンクを張っておく。Server大規模なバーチャルホストでは、外部マッピングファイルとmod_rewriteの組み合わせで設定できる。