CPIサーバー利用メモ

 

みなさんはサーバーどんなものを利用されていますか?
いろんなサーバー会社があって迷ってしまいます。

使うサーバーによって諸処の設定が違ったりするので、
「あれ!PHPが使えない!」「.htaccessが上手く設定できない・・・」
と公開時に慌てないように事前に使用サーバーの特性を知っておけるといいですよね。

フライング・ハイ・ワークスでは、テスト環境にKDDIが提供している「CPI」というレンタルサーバーを利用しています。
サブドメイン取り放題、容量無制限、各設定など、ここでは「CPI」サーバーの利用方法、注意点などを説明していきたいと思います。

1 phpを利用する

以前は、.htaccessとphp.iniを設置する必要がありました。
2014/10/9以降改善され何もしなくても利用できるようになっています。

2015/05/19現在の初期設定
バージョン 5.5.16
mbstring.encoding_translation On
mbstring.internal_encoding utf-8
Default timezone Asia/Tokyo

2 BASIC認証を設定する

BASIC認証のパスワードはMD5で暗号化されている必要があります。
他の強度が低いパスワードだと認証が通りません。

ユーザー名:user
パスワード:password
の場合

#MD5 認証が通る
user:$apr1$TUK.E.mU$luDJOd4DLBhGBOK8ndE220
#SHA 認証が通らない
user:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
#plain 認証が通らない
user:password

※フライング・ハイ・ワークスでは暗号化にこのサイトをつかっています

3 拡張子がhtmlでphpを動作させる

.htaccessを別途設置することで、拡張子がhtmlでもphpを動作させることができるようになります。
.htaccessの記述の仕方はいくつかありますが、CPIではAddTypeではなく、AddHandlerを使います。

#動作する書き方
AddHandler x-httpd-php5516 .php .html
#以下は動作しない
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

4 旧バージョンのphpを利用する

2015/05/19現在、以下のバージョンを利用することができます。
5.2.8 / 5.3.6 / 5.3.28 / 5.3.29 / 5.4.25 / 5.5.9 / 5.5.16
2と同様.htaccessを設置します。数字の部分がphpのバージョンを指定する部分です。

#バージョン5.36を使う場合
AddHandler x-httpd-php536 .php .html

注意点として、php.iniなどで別途設定していない場合、5.3.28以下は次のような設定になります。
mbstring.internal_encoding EUC-JP
※バージョンの境界はサーバーによって違う可能性もあるので、旧バージョンを使う場合は、phpinfo等で設定情報を確認することをお勧めします。

5 パーミッションの設定

CPIでは、ファイルの『読み込み、書き込み、実行』の権限で、666や、777は「500 Internal Server Error」となり利用することができません。
PHPファイル等は、604もしくは644。
ディレクトリなどは、705もしくは755に設定します。

以前EC-CUBEを利用したときに、EC-CUBEが作成するページが666に設定されアクセスできないということがありました。

6 mod_rewriteを利用する

CPIではmod_rewriteを利用することができますが、Options +FollowSymLinksを設定する必要があります。

#RewriteEngine Onの前に記述する
Options +FollowSymLinks
RewriteEngine On

7 URLに拡張子が無くてもアクセスできる

CPIではURLに拡張子を入力しなくてもアクセスできます。

1) http://www.flying-h.co.jp/service13/service.php
2) http://www.flying-h.co.jp/service13/service
3) http://www.flying-h.co.jp/service13/service/
等など。

同じページで複数のアドレスが存在してしまうのは、アクセス解析に好ましくありません。
スラッシュが余計に入ってしまうと、相対パスがずれてしまいCSSが当たらない等問題が発生する場合もあります。
また、この機能はリダイレクトさせたいときに、mod_rewriteが意図しない動作になる場合がありました。

.htaccessに下記を追記することで解除することができます。

Options -MultiViews