Edited at

VPS + DockerでEC-CUBE 2.13系のテスト環境をサクッと構築

More than 3 years have passed since last update.

ローカル環境ではなく、VPSに開発環境を立ててみんなで検証したいこともある。というより開発機が低スペックのWindowsだとVagrantも動かしたくない。

なので、安いVPSにDockerを導入し、検証してみようと考えた次第。


VPSを用意

海外VPSのVULTRにて構築。

初期イメージにCoreOSも存在するので、コンテナ環境を準備するのも楽。

ただ今回は「そいや既にデプロイしてるUbuntuテスト環境あったっけ」「ログインの為の秘密鍵用意すんのめんどかった」との理由でUbuntuから構築することに。

海外VPSのVULTRでCoreOSを動かしてみた


※未承諾広告※

VULTRは東京リージョンも利用できる格安VPSだ。

Web管理画面は英語のみだが、クレカかPaypalさえあれば公称通り5分以内でデプロイ可能。

最小プラン(1CPU MEM768MB SSD15GB)なら月額$5。時間あたり$0.007。

お友達を紹介するだけでクレジットが$10増える例のアレも完備!

VULTR(例のアレ)


UbuntuにDockerを導入

apt-getでDockerを入れると1.2系が入るので、公式から出ているリポジトリを追加してインストールするまでの流れ。最後のはバージョンチェック。


bash

# wget -qO- https://get.docker.com/ | sh

# usermod -aG docker root
# wget -qO- https://get.docker.com/gpg | sudo apt-key add -
# docker -v


EC-CUBE2コンテナを使わせて頂く

https://hub.docker.com/r/matsubo/eccube/

EC-CUBE2.1x系のファイルを大体網羅しており、更にはphpフロントエンド付のpostgreSQL/MySQL、apache2、php5-fpmが既にインストールされている便利な代物。


bash

# mkdir /var/docker/eccube-docker

# docker pull matsubo/eccube
# docker run -it -p 80:80 -v /var/docker/eccube-docker/ -d matsubo/eccube:latest

で、立ち上がったらブラウザから該当の http://(任意のドメイン)/ にアクセス。

上記コマンド例は2.13系を使用した時の話。一応、永続化をしている。


eccube_install.shが存在しないことに注意。ブラウザから手作業でがんばろう。



データベースの作成

データベースeccube_db、権限ユーザeccube_db_userを、postgreSQL/MySQLのいずれかで作成。ブラウザのトップページ下方にphppgadminとphpmyadminへのリンクと、root権限のIDとパスワードが書かれている。

ただまあ、コンテナへログインして直接sql叩いてしまった方が早いかも……。


ブラウザからインストール

http://(任意のドメイン)/eccube-2.13.3/html/install/ を開き、必要事項を入力していくだけ。

「管理機能の設定 -> ディレクトリ」 には、「eccube-2.13.3/html/」内のディレクトリにて使われていない名前を用意すること(ワイ、adminと入力して爆死。なんでこんな名前で規定以外のディレクトリがあるんだ……)。

無事にインストールが完了したら、後は魔改造して遊ぼう!

Have Fun!


おまけ:一応セキュリティの話

開発環境だから当然ザルなので、iptablesやufwなどで制限掛けておくこと。

EC-CUBEインストール時、管理画面へのIPアクセス制限を掛けておくのも良い。

だったらVPSへのssh接続を公開鍵でやれって話ではある。すんません。


おまけ:SQL入力欄で送信してもエラーメッセージに赤い「1」のみしか出ない現象に直面

「ブラウザからインストール」にて発生。

データベースの側に問題はなく、MySQL,pgSQL共に同様のエラーメッセージが表示。

とりまeccube-2.13.3/をディレクトリごと削除し、同じディレクトリにあったeccube-2.13.3.tar.gzを解凍して再インストールで解決。


おまけ:早速インストールしたテンプレート

https://github.com/clicktx/eccube-on-bootstrap3

bootstrapなのでカラーテーマ変更も容易で、レスポンシブ。神。