ローカル環境ではなく、VPSに開発環境を立ててみんなで検証したいこともある。というより開発機が低スペックのWindowsだとVagrantも動かしたくない。
なので、安いVPSにDockerを導入し、検証してみようと考えた次第。
VPSを用意
海外VPSのVULTRにて構築。
初期イメージにCoreOSも存在するので、コンテナ環境を準備するのも楽。
ただ今回は「そいや既にデプロイしてるUbuntuテスト環境あったっけ」「ログインの為の秘密鍵用意すんのめんどかった」との理由でUbuntuから構築することに。
※未承諾広告※
VULTRは東京リージョンも利用できる格安VPSだ。
Web管理画面は英語のみだが、クレカかPaypalさえあれば公称通り5分以内でデプロイ可能。
最小プラン(1CPU MEM768MB SSD15GB)なら月額$5。時間あたり$0.007。
お友達を紹介するだけでクレジットが$10増える例のアレも完備!
UbuntuにDockerを導入
apt-getでDockerを入れると1.2系が入るので、公式から出ているリポジトリを追加してインストールするまでの流れ。最後のはバージョンチェック。
# 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が既にインストールされている便利な代物。
# 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なのでカラーテーマ変更も容易で、レスポンシブ。神。