保守用に 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でSSIが動作せずこの記事のおかげで助かりました。
Options Includesがどうしても有効にならない理由がモジュールがロードされていなかったのですね。
数年前の記事のようですが、私のようにこのページを見にこられた他の方のために…
文中、
$ cd /etc/apache2/mods-enebled
$ sudo ln -s ../mods-available/include.load .
は、↓
$ sudo a2enmod include
です。
そうですね。
すでに次の記事でそのように書いているのですが、わかりにくいかも知れませんね。
リンクを追加しておいたほうがいいですかね?
ちなみに、私は「Ubuntu SSI設定」でググってきました。
隣のページまでは見てませんでした。
大変、失礼いたしました。
いえいえ、決して失礼などと思ってはおりません。
今後、このページを見て頂く方にとって、今までより役に立つページになったと思います。
ありがとうございます。