EC-CUBE3.xのアップデート方法

みなさんこんにちは。

CentOS7にインストールしたEC-CUBE3.xのアップデート方法をメモしておきますね。

WordPressのように2クリックくらいでアップデートできたらいいんですけど、そうはいきませんので、ちょっと面倒ですけど、確実な方法でアップデートしてみたいと思います。

 

Windowsからサーバにログインする場合は、WinSCPなどを使ってファイル単位でコピーできると便利ですね。

まず、EC-CUBEのサイトから、最新版のzipファイルをローカルのWindowsマシンにダウンロードします。更新用とかではなく、普通のインストール用のやつしかないようですね。そしてそれを解凍しておきます。

次に、特定のファイルを上書きするんです。

上書きするファイル、ディレクトリは、以下の通りです。

  • src/ (ディレクトリ)
  • html/ (ディレクトリ)
  • vendor/ (ディレクトリ)
  • app/console (ファイル)
  • cli-config.php (ルートにあるファイル)
  • composer.json(ルートにあるファイル)
  • composer.lock(ルートにあるファイル)
  • eccube_install.sh(ルートにあるファイル)

これらをWinSCPなどで上書きして下さい。手順は、まず、念のため、src、html、vendorディレクトリは、それぞれsrc_org、html_org、vendor_orgなどといったディレクトリ名で同じ内容のコピーを取っておきます。

そのあと、_orgの付かないディレクトリを上書きするんです。

 

※上書きではなく、オリジナルのディレクトリの名前を変更し、新規にこれらディレクトリ内容をzipファイルからコピーする場合は、気をつけなければなりません。画像やテーマなど、アップロードしたユーザーデータが消えてしまうことになるからです。

  • src/Eccube/Resource/template
  • html/upload
  • html/user_data

などを書き戻してください。他にもチェック漏れがあるかも知れませんので、名前を変更した元のオリジナルディレクトリは、決して消さずに残しておいて下さい。絶対です。

 

ファイルの上書きやコピーが済んだら、次に、念のため、パーミッション及び所有者を設定しなおしましょう。

# chown -R apache:apache /var/www/eccube
# chmod -R 755 /var/www/eccube

そして、html/.htaccessの設定も上書きされた場合は元に戻さなければなりません。

# vim /var/www/eccube/html/.htaccess

order deny,allow
allow from all
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /shop/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpg|css|ico|js)$ [NC]
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

RewriteBaseを加えます。ここで指定するパスは、ECCUBEをインストールした絶対ディレクトリではなく、また相対ディレクトリでもなく、エイリアスで指定したURLのディレクトリ名を入力するのです。仮想フォルダのような機能なので、インストールしたディレクトリを入れても、管理画面は表示されません。

 

そして最後に、ブラウザで

http://インストール先/install.php/migration

にアクセスし、マイグレーションを実行して終わりです。設定→システム情報設定→システム情報で、きちんとアップデートできていることを確認して下さい。

※アップデートすると、動かなくなるプラグインがあるので注意してください。プラグインの詳細で対応バージョンが書いてあります。これの対応外のバージョンにアップデートすると、プラグインが動作しません。0.01だから問題ない・・・と思ってたら大間違い! 認証していないと動かない仕組みになっているようです・・・。

なので、アップデートする際は、プラグインの対応が大丈夫か、十分に確認後、行って下さい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です