先日、CPI共有サーバーの新規契約をしたところ、いつの間にか仕様が変更になっていたので共有します。
「CPIサーバー シェアードプランACE01」は、9月29日契約分から、新バージョンのサーバーに格納されます。
大まかな情報はこちらで公開されています。
http://www.cpi.ad.jp/shared/ace2015/
で、PHPベースのCMSに関わる、上記のページに書かれていない重要な変更が二点あります。
Options +FollowSymLinks・RewriteEngineの仕様変更
申し込み完了の際のメールに、以下のような注意書きがありました。
弊社サーバーにて.htaccessをご利用のお客様へ。
Options +FollowSymLinks
RewriteEngine On
これまで.htaccessにて上記のような記述をご利用されていた場合は、
今後、最新のプランではご利用いただけない記述内容となります。
そのため、以下のような記述をしていただきますようお願い申し上げます。
Options +SymLinksIfOwnerMatch
RewriteEngine on
書いてある通り、「Options +FollowSymLinks」と「RewriteEngine」の記述方法が変更となっています。
なので、今後契約するCPIサーバーでは、これまでさまざまなブログ記事で「CPIにこのCMSを設置するときは、.htaccessにこう書いたらいいよ!」と紹介されてきた通りに設定すると、「Internal Server Error(500エラー)」となります。
AddHandlerの仕様変更
これまで、CPIでPHPプログラムを利用する場合は、.htaccessに「AddHandler」でPHPバージョンを明示する必要がありました。
AddHandler x-httpd-php5516 .php
このため、a-blog cmsのCPI専用インストールパッケージは、.htaccessに自動でAddHandlerを追加するのですが、私の環境では逆にエラーになり、PHPのソースコードがそのまま表示されてしまいました。
どうも、PHPをデフォルトのバージョンで利用する際には、AddHandlerが不要となったようです。
違うバージョンを利用する場合には、以前の通りAddHandlerを明示する必要があると思われますが、a-blog cmsのインストールパッケージでは、ACE2015で対応していないPHPバージョンを指定していたため、エラーとなったようです(a-blog cms開発の伊藤さん、補足ありがとうございます)。
以下のように、生成された.htaccessをコメントアウトすると、無事にインストールウィザードが表示されました。
# AddHandler x-httpd-php5516 .php
調べたのが逆に仇になることもある
CPIはこれまで、インストーラーを使わずにCMSを設置するのが難しいサーバーのひとつでした。このため、ネット上にはたくさんの技術情報が公開されています。
今回の仕様変更でインストールがしやすくなると思いますが、何度もCPIを利用している人や、インストール方法をきちんとぐぐる人ほどハマる可能性があるという、けっこう怖い状況がしばらく続きそうです。