1. 下準備
1.1. システム要件
EC-CUBE 4系のシステム要件は以下の通り。
分類 | ソフト名 | Ver. | 現状 |
---|---|---|---|
ウェブサーバー | Apache | 2.4.x | 2.4.37 がインストール済 |
PHP | PHP | 7.1.x 〜 7.4.x | 7.4.14 がインストール済 |
DBMS | PostgreSQL | 9.2.x / 10.x | なし |
MySQL | 5.5.x / 5.6.x / 5.7.x | MariaDB 10.3.27 がインストール済 | |
SQLite | 3.x | なし |
とりあえず、本体レベルで追加でインストールしないといけないものはなさそう。
1.2. apacheのモジュール
以下の apache モジュールが必須で、現状は以下の通り、いずれもインストール済。
httpd -M
(略)
rewrite_module (shared)
(略)
ssl_module (shared)
(略)
- mod_rewrite
- mod_ssl
1.3. PHPのライブラリ
現状は以下の通り。
httpd -M
[PHP Modules]
(略)
ctype
curl
(略)
fileinfo
(略)
hash
(略)
json
libxml
mbstring
mysqli
mysqlnd
openssl
(略)
pdo_mysql
pdo_sqlite
Phar
(略)
session
(略)
xml
(略)
zlib
1.3.1. 必須ライブラリ
- pgsql / mysqli (DBMSに合わせて)
- mysqli がインストール済
- pdo_pgsql / pdo_mysql / pdo_sqlite (DBMSに合わせて)
- pdo_mysql がインストール済
- pdo
- インストール済
- phar
- インストール済
- mbstring
- インストール済
- zlib
- インストール済
- ctype
- インストール済
- session
- インストール済
- JSON
- インストール済
- xml
- インストール済
- libxml
- インストール済
- OpenSSL
- インストール済
- zip
- 未インストール
- cURL
- インストール済
- fileinfo
- インストール済
- intl
- 未インストール
1.3.2. 推奨ライブラリ
- hash
- インストール済
- APCu / WinCache (利用する環境に合わせること)
- 未インストール。WinCacheはWindows+IIS環境向け?
- Zend OPcache
- 未インストール
dnf --enablerepo=remi install -y php-pecl-zip php-intl php-pecl-apcu php-opcache
systemctl restart httpd
1.4. データベース
EC-CUBE用に空のデータベースを作成しておく。EC-CUBEの動作に必要なので、以下を控えておく。
- DBホスト名
- DB名
- DBユーザー名
- DBパスワード
1.5. メールアカウント
EC-CUBEから送信される各種メールのためのメールアドレスを確保しておき、以下の情報を控えておく。
- メールアドレス
- メールアカウントユーザ名
- メールアカウントパスワード
- メールサーバアドレス
1.6. バーチャルホストの設定
1.6.1. DNS設定
EC-CUBE用に使いたいドメインのDNS設定を行なっておく。開設済ドメインの配下にディレクトリを置くだけなら不要。今回は「サブドメイン」にしたかったので、設定している。
1.6.2. SSL証明書
systemctl stop httpd
certbot certonly -n --standalone --agree-tos -d shop.hogehoge.com -m your_mail@shop.hogehoge.com --server https://acme-v02.api.letsencrypt.org/directory
3.2.3. httpd
sudo vi /etc/httpd/conf.d/shop.hogehoge.com.conf
<Directory "/home/hogehoge/www/shop.hogehoge.com">
DirectoryIndex index.html index.php
Require all granted
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName shop.hogehoge.com
DocumentRoot /home/hogehoge/www/shop.hogehoge.com
CustomLog logs/shop.hogehoge.com_access.log combined
ErrorLog logs/shop.hogehoge.com_error.log
# 常時SSL化
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
</VirtualHost>
<VirtualHost *:443>
ServerName www.hogehoge.work
DocumentRoot /home/hogehoge/www/shop.hogehoge.com
CustomLog logs/shop.hogehoge.com_access.log combined
ErrorLog logs/shop.hogehoge.com_error.log
SSLCertificateFile /etc/letsencrypt/live/shop.hogehoge.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/shop.hogehoge.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/shop.hogehoge.com/chain.pem
</VirtualHost>
2. インストール
2.1. ファイル一式のアップロード
FTPでアップロードしてもいいが、公式では「EC-CUBE Downloader」の利用が推奨されている。
cd [EC-CUBEの公開ディレクトリ]
wget https://github.com/tao-s/eccube-downloader/archive/master.zip
unzip master.zip
cp eccube-downloader-master/dw.php .
アップできたら、dw.php にアクセス。
例: http://shop.hogehoge.com/dw.php
ダウンロード&展開できたら、インストールウィザードのページに移動する。
例: https://shop.hogehoge.com/index.php/install/step1
こういう警告&Infoが出ているので、対処する。
mod_rewrite は .htaccess で “RewriteEngine on”の記述を追加すればよさそう。ただ、確認してみると、すでに記述はあるので、気にしなくてもよさそう。
あと、APC拡張モジュールうんぬん、というのも無視して進めてもよさそうだ。
つぎは、パーミッションのチェックに移る。スクショはすでにOKになった後だが、EC-CUBEの公開ディレクトリにapache実行ユーザーの書き込み権限が必要になるので、必要に応じて設定する。
つぎは、「サイトの設定」に移る。後から変えられる項目ではあるが、ショップ名とか、セキュリティの設定などができるので、やっておく。
データベースの設定に移るので、控えていた情報を入力する。
初期化するかどうか聞かれるので、新規ならそのままチェックオフ。バージョンアップ等で既存のDBを使うなら、チェックを入れる。
しかし、管理画面にアクセスすると、404 not found になってしまう。
これは、バーチャルホストの設定ファイルに、”AllowOverride All”を追記して対応した。
ようは、.htaccess を記述しても、それが効いていない、という状況だった。
設定変えて、httpd再起動して、無事にEC-CUBE管理画面にアクセスでき、デフォルト状態のショップも表示することができた。