Drupalで作成したサイトをロリポップ!にサーバー移行しようと思い、ファイルをアップロードしていざアクセスすると500エラーでインストールができませんでした。
エラーの内容は以下の通り。
500 INTERNAL SERVER ERROR
※CGI もしくは SSI が正しく動作していません。
・URLに間違いがないか、再度確認してください。再読み込みしてください。
・ご利用中のユーザー様は【ロリポップ!よくある質問集】をご参照ください。
・疑問点等ございましたら【ロリポップ!お問合せフォーム】よりお問合せください。
結果として.htaccessの一部を変更するだけで、インストールできるようになりました。その時に行った対処を備忘録として残しておきたいと思います。
ロリポップで500エラーによってDrupalがインストールできない時の対処法
ルートディレクトリにある.htaccessの14行目あたりの記述を以下のように変更します。「Follow symbolic links in this directory.」と書かれている箇所です。
変更前:Options +FollowSymLinks
変更後:Options +SymLinksIfOwnerMatch
変更前の記述は先頭に#をつければコメントアウトされます。これだけでDrupalがインストールできるようになります。
変更前と変更後では、以下のような違いがあり、SymLinksIfOwnerMatchの方がより安全です。
FollowSymLinks:シンボリックリンクを有効にする
SymLinksIfOwnerMatch:ファイル所有者に限り、シンボリックリンクを許可する
あとがき
以前ロリポップで攻撃による大規模なサイト改ざんがあった時に、FollowSymLinksが無効化されたみたいです。
緊急メンテナンスによる一部サイトの一時的な表示不可のお知らせ – 2013年08月30日 19時55分 / メンテナンス情報 / お知らせ – レンタルサーバーならロリポップ!
Drupalでなくても、同じように500エラーが出て困っている方は、.htaccessでFollowSymLinksが使われていないか確認してみてください。