EC-CUBE3の正式版が発表されたので一から挑戦してみます。
構成は現行の本番環境に合わせてCentOS7の最小構成にnginxとmariadbをクリーンインストールから順を追っていきます。
サーバ構成
サーバ構成の下準備
仮想環境で検証するため下記の通り設定する。
参照
eccube-3.0.1
CentOS7
+nginx (http)
+PHP 5.4.16
+MariaDB 5.5.41 (MySQL互換DB)
※推奨環境ではないが、現行使用サーバに導入予定なので動作確認の為
データベース初期設定
mariadbにユーザーを追加
事前にデータベースの作成が必要なので従来の権限通りに追加
mariadbにログイン
$ mysql -u root
- まだroot管理者しか設定していないのでrootでログイン
- rootパスワードを入力
データベースとユーザを作成
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ダウンロード
$ 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をリスタートする
$ sudo systemctl restart nginx
phpの設定
phpのユーザーとグループをnginxに変更する
$ sudo vi /etc/php-fpm.d/www.conf
; 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をリスタートする
$ sudo systemctl restart php-fpm
オーナーを変更する
$ sudo chown -R nginx:nginx /usr/share/nginx/*
WEBからインストール画面へアクセスする
http://(サイトURL)/index.php
http://(サイトURL)/install.php
権限チェック
サイトの設定
- あなたの店名 - お好きなように
- メールアドレス - 受注メールなどの宛先用
- 管理画面のログインID - そのままの意味
- 管理画面パスワード - そのままの意味
- 管理画面のディレクトリ名 - 旧版の「http://サイト名/admin/」だと脆弱性の問題があるため
- サイトへのアクセスをSSL(https)経由に制限 - セキュリティ的にはチェックを入れて暗号化した方がいいがテストなので外してます。
- 管理画面へのアクセスIPの制限 - 管理者のIPが固定されている場合に使用したほうが望ましい。
- メーラーバックエンド - メールをとばす方法の設定
データベースの設定
* DBの種類 - MYSQL(mariaDBだけど互換性があるため)
* DBサーバのIPアドレス - localhost
* DB名 - db_eccube (作成したDB名)
* DBユーザ名 - ur_eccube (作成したDBユーザ)
* パスワード - pw_eccube (作成したDBパスワード)
データベースの初期化
* データベースの初期化を行わないのチェックは旧バージョンからの移行でもプラグインでDBに変更があるため怖くてチェックできない。
インストール完了
お疲れ様です。
ひとまずインストールは完了??しました。
まとめ
この後はディレクトリ構成がややこしく変更されているのでURLのエラー地獄が待ってます。
例えばログインユーザがDBに反映されてなくてdummyが入っているとか
素直なURLではないので
URL書き換え&リダイレクトが必要で
Apacheのmod_rewriteに対応するnginxの対策を検討しなければならないとか
本当の完了にはまだまだ遠いです。
どうしたもんかなぁ