4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS LightsailのLAMP環境でSSIインクルード

Posted at

あるとおもうんです。
受託の制作をしててステージング環境とかない場合とか。

あるとおもうんです。
先方のサーバーがレンタルサーバーでApacheなことが。

あると思うんです。
自社の環境がAWSでLightsailって1ヶ月無料だしここでプレビューしちゃえばよくね?ってことが。

普通にやってたら特に何にも気にすることなく進行できると思うんですけど、
あるとおもうんです。
SSIインクルードしてるHTMLがあることが!!

同じ境遇の方の一助になればという思いで残しておきます。

まず調べたこと

SSIがhtmlで動くようにするっていうのをググると大抵.htaccessに書く〜とかhttpd.confに書く〜というのがヒットするかと思います。
しかしLightsailなどのキーワードを入れると全くと言っていいほどヒットしない。
(キーワード選定がおかしいのかもしれない)

.htaccessに書いてもうんともすんともしない。
これはhttpd.confで設定しないと動かなそうだな〜とあたりをつけて設定を書いては再起動を繰り返しました。

持つべきものは同僚だな!

しかしなかなか動かないのでslackで「LightsailでSSIが動かない・・・。」とチャットしたら
「SSIは脆弱性になりうるんで、デフォルトで使えないようになってたりしそうっすね。そもそもモジュールが入ってなかったりして。」と返信がきた。

ん?神か?

httpd.confの設定と.htaccessの記述

httpd.confを覗いてみたらモジュールがコメントアウトされていたので
105行目あたりのコメントを外して再起動!

- #LoadModule include_module modules/mod_include.so
+ LoadModule include_module modules/mod_include.so

あとは.htaccessにこんな感じで書いたらインクルードできると思います。

Options +Includes
AddHandler server-parsed .html

おまけ

LightsailはBitnamiなので、httpd.confの他にも

/opt/bitnami/apache2/conf/ssi.conf
/opt/bitnami/apache2/conf/bitnami/bitnami.conf

と設定ファイルがあります。
SSIインクルード以外の機能は試してないですが、これらのファイルで設定すれば動くようになるかもしれません。

さいごに

SSIのセキュリティに関しては詳しくはないですがあまりよろしくないと思うので、
タスクランナーなどで静的にHTMLに書き出しできないかなど検討をしてみてください。

それと持つべきものは同僚だな!

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?