0
4

More than 5 years have passed since last update.

EC-CUBE3(正式版)をcentOS7+nginx+mariadbに導入

Last updated at Posted at 2015-07-29

EC-CUBE3の正式版が発表されたので一から挑戦してみます。
構成は現行の本番環境に合わせてCentOS7の最小構成にnginxとmariadbをクリーンインストールから順を追っていきます。

サーバ構成

サーバ構成の下準備

仮想環境で検証するため下記の通り設定する。
参照

eccube-3.0.1
CentOS7
+nginx (http)
+PHP 5.4.16
+MariaDB 5.5.41 (MySQL互換DB)
※推奨環境ではないが、現行使用サーバに導入予定なので動作確認の為

データベース初期設定

mariadbにユーザーを追加

事前にデータベースの作成が必要なので従来の権限通りに追加

mariadbにログイン

console
$ mysql -u root
  • まだroot管理者しか設定していないのでrootでログイン
  • rootパスワードを入力

データベースとユーザを作成

MariaDB
MariaDB [(none)]> CREATE DATABASE db_eccube;
MariaDB [(none)]> GRANT ALL ON db_eccube.* TO ur_eccube@localhost IDENTIFIED BY "pw_eccube";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT
  • データベース名:db_eccube
  • ユーザ名:ur_eccube
  • ユーザパスワード:pw_eccube
  • GRANT構文のALL権限(GRANT OPTION構文以外の全ての権限所持)

※GRANT構文とは、ユーザ アカウント作成や、アカウントに権利を与える事を可能にする構文

ECCUBE3インストール

ECCUBE3ダウンロード

console
$ pwd
/home/eccube
$ curl -O http://downloads.ec-cube.net/src/eccube-3.0.1.tar.gz

ECCUBE3の解凍・配置

ユーザーディレクトリに配置し、公開用ディレクトリにコピーする
bash:console
$ tar xzvfp eccube-3.0.1.tar.gz
$ sudo cp -r ~/eccube-3.0.1/* /usr/share/nginx

nginxの.php$を変更する

nginx.confを編集する

  • bash:console $ sudo vi /etc/nginx/nginx.conf vim:nginx.conf (中略) location / { } #ここから追加 location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #ここまで * viの使用方法 * 「Insert」キーで入力 * 「Esc」キーで入力状態解除 * 「:wq」書き込み後ファイルを閉じる * 「:q!」強制的に書き込まずにファイルを閉じる

nginxをリスタートする

console
$ sudo systemctl restart nginx

phpの設定

phpのユーザーとグループをnginxに変更する

console
$ sudo vi /etc/php-fpm.d/www.conf
www.con
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

phpのタイムゾーンをAsia/Tokyoに変更する

php5.4移行に対応するため
bash:console
$ sudo vi /etc/php.ini

vim:www.php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo

php-fpmをリスタートする

console
$ sudo systemctl restart php-fpm

オーナーを変更する

console
$ sudo chown -R nginx:nginx /usr/share/nginx/*

WEBからインストール画面へアクセスする

http://(サイトURL)/index.php

top.jpg

http://(サイトURL)/install.php

admin1.jpg

権限チェック

admin2.jpg

サイトの設定

admin3.jpg

  • あなたの店名 - お好きなように
  • メールアドレス - 受注メールなどの宛先用
  • 管理画面のログインID - そのままの意味
  • 管理画面パスワード - そのままの意味
  • 管理画面のディレクトリ名 - 旧版の「http://サイト名/admin/」だと脆弱性の問題があるため
  • サイトへのアクセスをSSL(https)経由に制限 - セキュリティ的にはチェックを入れて暗号化した方がいいがテストなので外してます。
  • 管理画面へのアクセスIPの制限 - 管理者のIPが固定されている場合に使用したほうが望ましい。
  • メーラーバックエンド - メールをとばす方法の設定

データベースの設定

admin4.jpg
* DBの種類 - MYSQL(mariaDBだけど互換性があるため)
* DBサーバのIPアドレス - localhost
* DB名 - db_eccube (作成したDB名)
* DBユーザ名 - ur_eccube (作成したDBユーザ)
* パスワード - pw_eccube (作成したDBパスワード)

データベースの初期化

admin5.jpg
* データベースの初期化を行わないのチェックは旧バージョンからの移行でもプラグインでDBに変更があるため怖くてチェックできない。

インストール完了

admin6.jpg

お疲れ様です。
ひとまずインストールは完了??しました。

まとめ

この後はディレクトリ構成がややこしく変更されているのでURLのエラー地獄が待ってます。
例えばログインユーザがDBに反映されてなくてdummyが入っているとか
素直なURLではないので
URL書き換え&リダイレクトが必要で
Apacheのmod_rewriteに対応するnginxの対策を検討しなければならないとか
本当の完了にはまだまだ遠いです。
どうしたもんかなぁ

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4