1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

はじめに

コロナウィルスの影響により、イベント開催が難しくなっているので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 使用
yum update -y
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
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/
echo -e '<Directory "/var/www/html/ec">\n  AllowOverride All\n</Directory>' > /etc/httpd/conf.d/ec.conf
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;"
systemctl start httpd

上の補足説明

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

01_step1.png

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

セットアップ STEP2

02_step2.png

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

セットアップ STEP3

03_step3.png

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

セットアップ STEP4

04_step4.png

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

セットアップ STEP5

05_step5.png

初期化を行います。

セットアップ STEP6

06_step6.png

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

管理画面へのログイン

07_admin_login.png

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

08_admin_home.png

以上!

1
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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?