Ubuntu 9.04 の Apache2 の設定

保守用に Perl CGI を動くようにしたが、RedHat系とかなり異なっていたため、てこずってしまった。

なにが分からないかって、設定ファイルが include だらけで、設定ファイルをずっと追っていく必要があった。
さらに ?available ディレクトリの中に設定ファイルを置いといて、有効にする場合は ?enabled ディレクトリにリンクを作成し、apache2.conf で ?enabled ディレクトリからインクルードするという、多分この説明で理解できる人は少ないだろうなー、と思うような構造になっている。

はっきり言って、一度設定してしまえばそうそういじることは少ないので、どうでもいいと言えばいいのだが、設定があまりに沢山のファイルに分散しすぎているため、目的の設定がどのファイルか特定するのに時間がかかってしまう。

設定ファイルはもっと見通しがよくて、該当場所がエディタですぐ検索出来る方がありがたいと思う。

SSIを有効にする

以下のコマンドでリンクを作成。

$ cd /etc/apache2/mods-enebled
$ sudo ln -s ../mods-available/include.load .

/etc/apache2/mods-available/mime.conf に .html を追加。

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml .html

SSIとCGIを許可する

/etc/apache2/sites-available/default に Includs と ExecCGI オプションを追加

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>

“Ubuntu 9.04 の Apache2 の設定” への4件の返信

  1. UbuntuでSSIが動作せずこの記事のおかげで助かりました。
    Options Includesがどうしても有効にならない理由がモジュールがロードされていなかったのですね。
    数年前の記事のようですが、私のようにこのページを見にこられた他の方のために…
    文中、
    $ cd /etc/apache2/mods-enebled
    $ sudo ln -s ../mods-available/include.load .
    は、↓
    $ sudo a2enmod include
    です。

    1. そうですね。

      すでに次の記事でそのように書いているのですが、わかりにくいかも知れませんね。
      リンクを追加しておいたほうがいいですかね?

  2. ちなみに、私は「Ubuntu SSI設定」でググってきました。
    隣のページまでは見てませんでした。
    大変、失礼いたしました。

    1. いえいえ、決して失礼などと思ってはおりません。
      今後、このページを見て頂く方にとって、今までより役に立つページになったと思います。
      ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください