バナーナナブログ

宮城県仙台市より、日々思ったことを綴っていくウェブログです。

AWSのEC2にEC-CUBEをインストールする

はじめに

コロナウィルスの影響により、イベント開催が難しくなっているのでECを活用したいという話を聞く機会が増えた。
営業支援をともに行っているAくんは非エンジニアだが、自己学習のためAWSを触ってみたりしているので、
彼が自分でEC-CUBEを設定できるよう最速で簡単にセットアップするための手順を用意してみた。

TL;DR

  • 2020-08-24 記事作成
  • Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0cc75a8978fbbc969 使用
  • EC-CUBE 4.0.4 使用

AWSのEC2にEC-CUBEをインストールする

上の補足説明

yumのupdate

yum update -y 

LAMP環境の用意

amazon-linux-extras install -y lamp-mariadb10.2-php7.2
yum install -y mariadb-server
yum install -y httpd php php-xml php-mbstring php-zip php-intl

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
ここに詳しく書いていますが、amazon-linux-extrasコマンドでパッケージを最新化し
yumコマンドで必要パッケージをインストールするという流れです。

php-xmlなどは入れておかないとEC-CUBEのインストールステップの中で怒られます。 

EC-CUBEファイル群の設置

cd /usr/local/src/
wget http://downloads.ec-cube.net/src/eccube-4.0.4.zip
unzip eccube-4.0.4.zip
mv eccube-4.0.4 /var/www/html/ec
chown -R apache:apache /var/www/html/

wgetでzipをダウンロードし、解答したら
/var/www/html/ec
に設置、apacheユーザ権限を付与してやる。

Apacheの設定

echo -e '<Directory "/var/www/html/ec">\n AllowOverride All\n</Directory>' > /etc/httpd/conf.d/ec.conf

専用confを設定せずそのままインストールを進めると、リダイレクトでエラーになります。
これはEC-CUBE.htaccessを利用してrewrite処理をしようとするけど
/var/www/html 以下はAllowOverride Noneなのでその配下の.htaccessが効かないためです。
/var/www/html/ec 以下はAllowOverride Allという設定を入れておきます。 

MariaDBの設定

systemctl start mariadb
mysql -u root -e "CREATE DATABASE ecdb DEFAULT CHARACTER SET utf8;CREATE USER 'ecuser'@'localhost' IDENTIFIED BY 'ecpass';GRANT ALL PRIVILEGES ON ecdb.* TO 'ecuser'@'localhost';FLUSH PRIVILEGES;"

mariadbを起動して、データベースの作成とユーザの設定を実行します。
SQLの内容を1行ずつ切り分けるとこんな感じ。

// データベースを作成する。データベース名は「ecdb」としておく。
CREATE DATABASE ecdb DEFAULT CHARACTER SET utf8;
// ユーザの作成。ユーザ名「ecuser」、パスワード「ecpass」としておく。
CREATE USER 'ecuser'@'localhost' IDENTIFIED BY 'ecpass';
// 権限変更。全て許可する。
GRANT ALL PRIVILEGES ON ecdb.* TO 'ecuser'@'localhost';
// 権限テーブルを変更したのでそれを知らせる
FLUSH PRIVILEGES;

データベース名やユーザ名、パスワード等は適宜変更してください。

Apacheの起動

systemctl start httpd

最後にApacheを起動。

以上でサーバ側のセットアップは完了。

 

WEB側のセットアップ

サーバ側のセットアップが終わったら、今度はWEB側のセットアップを行う。

セットアップ STEP1

f:id:smdbanana:20200824131154p:plain

/ec にアクセスすると、install/step1 にリダイレクトされます。
.htaccessが無効な場合はここで403になるし、必要なモジュールが入ってないとここで怒られます。

セットアップ STEP2

f:id:smdbanana:20200824131209p:plain

アクセス権限を確認されます。

セットアップ STEP3

f:id:smdbanana:20200824131221p:plain

必要に応じてサイトの設定を行います。
管理画面のディレクトリ名は推測されづらいものを入れた方が良いし、
完全ssl化や管理画面へのIP制限は行っていた方が安全です。

セットアップ STEP4

f:id:smdbanana:20200824131234p:plain

DBの設定です。
サーバ側設定で利用したものを入力します。
また、必須事項になっていませんがホスト名は必須(localhostだからスキップでいいだろ、としていたらエラーになりました。)のようです。

セットアップ STEP5

f:id:smdbanana:20200824131248p:plain

初期化を行います。

セットアップ STEP6

f:id:smdbanana:20200824131301p:plain

問題なければインストール完了の画面が表示されます。
「管理画面を表示」を押下します。

管理画面へのログイン

f:id:smdbanana:20200824131314p:plain

STEP3で設定したログイン情報を使ってログインします。
成功すれば管理画面内にアクセスできます。

f:id:smdbanana:20200824131331p:plain

 

以上!