hello foo bar Saba note | EC-CUBE ver3 のインストールと設定

EC-CUBE ver3 のインストールと設定

2016.9.21 (水)

ダウンロード

会員登録していないとダウンロードできないので事前に登録しておく。実際結構[むちゃくちゃ変わっていてSymfonyになっていて](結構いろいろかわった
https://www.ec-cube.net/product/info_3.php)驚きを隠せない。
http://www.ec-cube.net/download/

サーバーにアップロード

ダウンロードしたらWEBサーバーにガバッとアップロードします。例によってhtmlがDocumentRootになります。サーバーの設定ができないとかDocumentrootのディレクトリ名を変更できない場合は、ちょっと設定が必要ですがここでは割愛。

name path
Upload Directory /home/user
DocumentRoot /home/user/html
URL http://example.com/

こんな風にセットするとしましょう。
正しくDocumentRootの設定ができたらアクセスしてみましょう。

ようこそ

ここまでセットして指定したドメインでアクセスすると、

Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/home/user/src/Eccube/../../app/log/install.log" could not be opened: failed to open stream: Permission denied' in /home/user/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87 Stack trace: #0 /home/user/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array) #1 /home/user/vendor/monolog/monolog/src/Monolog/Logger.php(289): Monolog\Handler\AbstractProcessingHandler->handle(Array) #2 /home/user/vendor/monolog/monolog/src/Monolog/Logger.php(593): Monolog\Logger->addRecord(500, 'UnexpectedValue...', Array) #3 /home/user/vendor/silex/silex/src/Silex/EventListener/LogListener.php(112): Monolog\Logger->critical('UnexpectedValue...', Array) #4 /home/user/vendor/silex/silex/src/Silex/EventListener/LogListener.php(73): Silex\EventListener\LogListener->logException(Object(UnexpectedValueException)) #5 [internal function]: Silex\EventListener\ in /home/user/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87

こういうエラーが出る(*1)ので、

app/log

のパーミッションを777にしてあげる。これでもう一度アクセスするとインストーラーのトップ画面らしき「ようこそ」画面が出ます。
welcome_eccube

[推奨] APC 拡張モジュールが有効になっていません。

というのが出てきたら、php-pecl-apcというのが入ってないので入れてあげましょう。共有サーバーで入れられないときは仕方ないので諦めます。
「symfonyに書き換えられた今回のEC-CUBEは非常に重い。だからAPCは入れた方がいいよ。入れても遅いんだけど。」というのは嘘です。ちょっとしかいじってないsymfonyは重く感じますが、数万レコードのDBとえらく複雑な処理を書いた際にはそのスピードに驚くことになります。

権限チェック

パーミッションを777に変更ということでしょうか。

/html [777]
/app [777]
/app/template [777]
/app/cache [777]
/app/config [777]
/app/config/eccube [777]
/app/Plugin [777]

設定後に更新するボタンを押して、「アクセス権は正常です」と出たらOK
たぶんhtmlは755に後で戻してあげた方がいいのではないかと思われ。

サイトの設定

所定のパラメータを設定します。管理画面のディレクトリは何を入れてよいかわからなかったので、adminと適当に入れたら通った。
http://example.com/admin/が管理画面になるので、ver3では予想されづらいディレクトリ名に指定できるのでそういう風に設定した方がよさそう。

データベースの設定

ふつうに作成してふつうにすすむ。(問題なければ、ポートはデフォルトのままでよいです。)ここではMySQLを選択しました。

データベースの初期化

最初のインストールの場合は、そのまま進んで初期化してください。
「インストール完了」でおわり。
管理画面表示に進んで、管理画面にログインします。先ほどのhttp://example.com/admin/です。自身で設定したIDとパスワードを入力します。

※ここで500エラーが出ることがあります。設定ファイルは設定されたのにDBテーブルが作成されないというものです。ほとんどの環境では起こらないんですが、時々起こります。再インストールするとたいていは大丈夫。

定義ファイル

EC-CUBEの設定情報がまとめられているファイルです。マイグレーションの際には変更する項目になると同時にgitとかでignoreするファイルになるかと思います。
これらのファイルは上記のインストール作業で書き込まれるファイルになります。

app/config/eccube/config.yml
app/config/eccube/database.yml DB情報に合わせて書き換え
app/config/eccube/mail.yml
app/config/eccube/path.yml Pathに合わせて書き換え

EC-CUBE v3はどこもかしくもSymfonyなのでEC-CUBEじゃなくてSymfonyということでよいのではないでしょうか。正しくはSilexですかね。
ModelはDoctorin、テンプレートエンジンはTwig、設定ファイルはyaml…と大いに変わりました。Silex/Synfonyをちょこちょこ触っている人にとっては好都合。
Twigのテンプレートはここ。

/home/eccube3/src/Eccube/Resource/template

ファイルとディレクトリ構成についてはこちらで大変わかりやすくリスト化してくれております。
Githubできちんとまとめて下さっている方もおりました。https://github.com/EC-CUBE/eccube3-docつーかロックオンでした。


*1 phpの設定やブラウザーによっては真っ白だったりInternal server Errorだったりします。要は500エラーです。