こんにちは。 Diezon開発部のエンジニアと、非エンジニアのディレクターがタッグを組んだ『非エンジニアのためのコラムシリーズ』第2回目です!
今回は、WEBショップをはじめたいという人のために、最新EC-CUBE3系のAWSへの簡単インストール方法について紹介します。
EC-CUBEはオープンソースのECサイト構築パッケージです。無料でありながら、柔軟なカスタマイズが可能なEC-CUBEは、Webショップをはじめようとする際のアプリケーションの選択肢としておすすめの候補として挙げることができます。
また、本格的に、Webショップを拡大していきたいという場合にクラウドサービスであるAWSのサーバーは有力な選択肢の1つです。 クラウドであれば、訪問数の増加に伴うリソースの拡張や3系構成の変更を任意の時期に行うことができます。また、セール時等に一時的にリソースを増強することも可能であり、安定稼働を目指す際にもコスパが良いためおすすめです!
本記事では、AWSのサーバー上にEC-CUBEをインストールする際の手順を詳細に紹介いたします。
AWSがはじめての方はAWSの初期設定について、「非エンジニアでも大丈夫!はじめてのAWS設定方法」で紹介していますので、こちらの記事を先に一読いただくことをお勧めいたします。
また、手順を実施してみたけれども『AWSはやっぱり難易度が高い!』と感じた方には、 「誰でも15分で簡単!最新版EC-CUBEのインストール方法」の記事内にてエックスサーバーを利用したEC-CUBEインストール方法を説明しています。こちらもご覧いただければと思います。
対象サーバーについて
前提としまして、本記事でのEC-CUBEをインストールするサーバーは、サーバーがひとつのシングル構成であり以下の設定を想定といたします。
利用サービス:EC2 インスタンス
AMI:Amazon Linux 2 AMI (HVM), SSD Volume Type
インスタンスタイプ:t2.micro
AWSにおける、本設定のサーバー構築までの手順については、「非エンジニアでも大丈夫!はじめてのAWS設定方法」にて紹介していますため、詳しくはこちらの記事でご確認お願いします。
ソースコードのアップロードやミドルウェアのインストール
まずは、EC-CUBEのソフトウェア要件を満たすため、ミドルウェアをインストールします。
★EC-CUBEのソフトウェア要件は下記ページにてご確認いただけます。
URL:https://www.ec-cube.net/developers/
エックスサーバーのようなレンタルサーバーの場合は、最初からミドルウェアがインストールされているサービスもありますが、AWSでは通常のAMIを選択している場合、ご自身でミドルウェアをインストールする必要があります。
ここからはコマンドに関する記述が多いですが、一つずつ確認しながら進めていきましょう!
なお、ミドルウェアの種類、Versionは以下とします。
Apache: 最新Ver(2.4系)
DB:MySQL Ver.5.7系
PHP Ver.7.1系
① ミドルウェアのインストール
まずは、お手持ちのPCからAWSへSSHでログインします。ログイン後、以下のコマンドを実行します。
※各コマンドについては、必要があればroot権限で実行してください。
1. EPEL リポジトリを有効化
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
2. Remiレポジトリの追加
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
3. Apacheのインストール
yum install httpd -y
4. PHPの依存ライブラリをインストール
PHPが依存するライブラリをインストールします。
yum install libXpm libxslt fontconfig -y wegt https://rpmfind.net/linux/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/l/libpng15-1.5.30-5.fc29.x86_64.rpm yum install libpng15-1.5.30-5.fc29.x86_64.rpm -y
5. PHPをインストール
yum install --enablerepo=remi-php71 --disablerepo=amzn2-core php php-gd php-mbstring php-pdo php-mysql libapache2-mod-php php-xml php-soap php-curl php-zip -y
6. MySQLをインストール
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum install mysql-community-server -y
各ミドルウェアが正常にインストールされれば完了です。
② Composerのインストール
EC-CUBE3系ではパッケージ管理ツールであるComposerを使用するため、以下のコマンドでComposerをインストールしましょう。
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer chmod +x /usr/local/bin/composer
エラーなどの表示が無く完了すれば、正常にインストールできていますのでComposerインストールは完了です。
③ EC-CUBEのソースコードをアップロードする
Composerのインストールが完了しましたら、EC-CUBEの公式サイトにアクセスしてEC-CUBEのソースコードをダウンロードします。
https://www.ec-cube.net/download/
ダウンロードしたec-cubeパッケージは、以下のディレクトリに配置します。
/var/www/ec-cube
以下のような構成になります。
/var/www/ec-cube - html
- app
- src
- …
④ MySQLとApacheの起動
以下のコマンドでMySQLを起動し、再起動時も自動的に起動されるように設定します。
systemctl start mysqld.service chkconfig mysqld on
続いて、配置したEC-CUBEパッケージに合わせるよう、Apacheの設定ファイルを編集します。
vi /etc/httpd/conf/httpd.conf
---120行目あたり---
DocumentRoot "/var/www/html"↓
DocumentRoot "/var/www/ec-cube/html"------
---130行目あたり---
<Directory "/var/www/html">↓
<Directory "/var/www/ec-cube/html">------
---150行目あたり---
AllowOverride None↓
AllowOverride All------
Apacheを起動します。
systemctl start httpd.service
Apacheも同様に再起動時に自動的に起動するように設定しておきます。
chkconfig httpd on
⑤ MySQLにてデータベースを作成する
MySQLのEC-CUBE用のユーザーとデータベース作成のため、以下コマンドを実行します。
MySQLの初期パスワードを確認します。
cat /var/log/mysqld.log | grep 'password is generated'
パスワードの存在する行が表示されますので、確認後、以下のコマンドでMySQLヘログインします。パスワードを尋ねられたら確認したパスワードを入力します。
mysql -u root -p
MySQLログイン後、パスワードを変更します。
・new_password:MySQL rootユーザーへ設定するパスワードを入力してください。
SET PASSWORD = PASSWORD('new_password');
以下のコマンドによりデータベースを作成します。
・cube3_user:設定するユーザー名を入力してください。
・eccube_password:cube3_userユーザーへ設定するパスワードを入力してください。
・cube3:使用したいデータベース名を入力してください。
CREATE DATABASE cube3 character set utf8; GRANT ALL PRIVILEGES ON cube3.* TO cube3_user@localhost identified by 'eccube_password';
エラーなく完了したら、ユーザーとデータベースが作成されています。
(この設定情報は、後程EC-CUBEインストール画面にて入力する必要があります!)
以上でEC-CUBEのインストールに必要な、ソースコードとミドルウェアの用意が完了しました。ここからはEC-CUBEのインストール画面より、インストールを進めていきます!
EC-CUBEをインストールする
それでは、EC-CUBEのインストール画面よりインストールを進めましょう。
本記事もEC-CUBEのインストール画面手順に沿った番号にて、各画面の手順を説明していきます。
① インストール開始画面
AWSのパブリックDNSのURLにアクセスして、EC-CUBEのインストール画面へ進みます。
例:http://ec2-xxx.ap-northeast-1.compute.amazonaws.com
パブリックDNSは、AWSのインスタンス画面から確認できます。右図のようなインストール画面が表示されます。
表示されたら『次へ進む』ボタンをクリックして、インストールを進めます。
② 権限チェック画面
ボタンクリック後、権限チェック画面が表示されます。
権限による問題がある場合は、本画面でエラー内容が表示されますので、エラー内容を参考にして修正してください。
エラー表示がなければ、『次へ進む』ボタンをクリックします。
③ サイト設定画面
次にサイトの設定画面が表示されます。 作成する店舗に合わせて、各入力項目を埋めます。(✳︎は必須項目です。)
本画面にて、立ち上げるEC-CUBEの管理画面にログインするIDとパスワードを指定します。
必要項目の入力が完了したら、『次へ進む』ボタンをクリックします。
④ データベース設定画面
続いての画面では、EC-CUBEで使用するデータベースを指定します。
画面上の入力項目には、前述の「MySQLにてデータベースを作成する」項目にて設定したデータベース名・ユーザ名・パスワードを入力します。
必要項目の入力が完了したら、『次へ進む』ボタンをクリックします。
⑤ データベース初期化確認画面
次にデータベースの初期化画面が表示されます。
新規インストールのため、『データベースの初期化を行わない』にチェックを入れない状態で『次へ進む」ボタンをクリックします。
ボタンをクリックするとデータベースの初期化がはじまりますが、次の画面に遷移するまでに時間がかかる場合があります。
⑥ インストール完了画面
「インストールが完了しました!」と表示された画面に無事遷移したら、インストール完了です!
最後に確認の意味も込めて、『管理画面を表示』ボタンをクリックしてEC-CUBE管理画面へのログイン画面へ遷移してみましょう。 ログイン画面では、サイト設定画面で入力したログインID・パスワードを入力して『ログイン』ボタンをクリックすれば管理画面へログインできます。
最後に
お疲れ様でした!
手順は多いですが、一つ一つをたどると意外と簡単にAWSにEC-CUBEのインストール行えたのではないでしょうか。
EC-CUBEにはメール機能やキャッシュ機能が存在しますが、AWSであればそれらのサービスも簡単に設定、接続でき、シングル構成よりスケーラビリティや可用性を高めることができます。初めての方であれば、DBはAmazon RDS、キャッシュにはAmazon ElastiCache、メールにはAmazon SESを用いることが、スタンダートでおすすめです。
AWSを活用して、安定稼働のサーバーのもと、安定したWebショップの運営を目指していきたいですね。
REGOLITH MALLの詳細はこちらから!