さくらのVPS -EC-CUBEのインストール-

EC-CUBEをインストールすることにしました。

新さくらのVPSでは、デフォルトのOSがCentOS 6になり、phpのバージョンが標準レポジトリで5.3が入るようになりました。wordpressを利用する場合にはとても助かるのですが、EC-CUBEの場合には、php.iniにタイムゾーンの設定をしていなかったために「Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings.」のWarningが出まくって凹みました。

  1. php.iniでdata.timezoneの設定
  2. my.cnfでmySQLの文字コード設定
  3. EC-CUBEファイルのアップロード
  4. EC-CUBEのインストール

1.php.iniでdata.timezoneの設定

さくらのVPS -初期設定からLAMP環境導入まで-」を参考にさくらのVPSを立ち上げた方はすでにdata.timezoneの設定も終わっているかと思いますが、まだの場合にはphp.iniを編集してdata.timezoneの設定をします。これをしないと、「Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings.」のエラーが出まくります。

php.iniの編集。

$ sudo vi /etc/php.ini

以下の部分を書き換えます。

date.timezone = "Asia/Tokyo"(950行目。タイムゾーンの設定)

コメントアウトされているので、コメントアウトを外すのも忘れないようにしましょう。

2.my.cnfでmySQLの文字コード設定

さくらのVPS -初期設定からLAMP環境導入まで-」を参考にさくらのVPSを立ち上げた方はすでにmy.cnfの文字コード設定も終わっているかと思いますが、EC-CUBEをインストールするとmySQLの文字コードがsjisであるために、「商品名などが文字化け」する場合があります。

my.cnfの文字コード設定をutf-8に変更します。

sudo vi /etc/my.cnf

以下の内容を追記します。([mysqld]の部分ははじめから記載があるので、以下を追記します。)

[mysqld]
character-set-server=utf8 (ここだけdefault-character-setとは書かない。)
skip-character-set-client-handshake
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

mySQLを再起動します。

sudo /etc/init.d/mysqld restart

3.EC-CUBEファイルのアップロード

はじめはFFFTPを使ってファイルをアップロードしようとしてしくじりました。EC-CUBEはパーミッションの設定を変更しなければいけない項目がとても多いので(1000ファイル以上)、「FFFTPなどでアップロード後にパーミッションを変更する」とかあり得ないです。

EC-CUBEの圧縮ファイルをそのままサーバー上にアップロードし、サーバー上で展開してあげます。そうすると自動的に正しいパーミッションが設定され展開されます。

たとえば、/var/www/html/にeccube-2.○○.zipをアップロードした場合には

cd /var/www/html
unzip eccube-2.○○.zip

これでパーミッションも正しく設定された状態でzipファイルが展開されます。

4.EC-CUBEのインストール

インストールのダイアログに従えば特に難しくはないのですが、

  • データベースはphpMyAdminで前もって作っておく
  • DBサーバーの設定値は「localhost」です。