CentOS Stream@ConoHa VPS その12 EC-CUBE

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管理画面にアクセスでき、デフォルト状態のショップも表示することができた。

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA