ぽれいんのブログ

エンジニアになるために覚えたことを日記に付けます。

ECサイト構築

はじめに

インフラエンジニア初学者のぽれいんと申します。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考>

EC2 インスタンスに、EC-CUBE4 を構築する - Qiita

 

 

 

 

 

 

本日のやりたいこと

今回はAmazonEC2のインスタンス上にECサイトを構築する。

ECサイトにはEC-cubeを使用。

 

使用環境

 

 

構築の流れ

①サーバセットアップ(時刻合わせ & 文字コード統一)

②各種ソフトウェアインストール

③Composerインストール

④各種設定の変更

⑤データベースセットアップ

EC-cubeインストール

 

いざ、構築!

 

サーバセットアップ

rootユーザに移行

sudo su -

時刻合わせ

timedatectl set-timezone Asia/Tokyo

文字コード統一

sed -i "s/en_US\.UTF-8/ja_JP\.UTF-8/g" /etc/sysconfig/i18n

 

各種ソフトウェアインストール

Apacheインストール

yum install -y httpd

AmazonLinuxの追加パッケージのphpをインストール

amazon-linux-extras install -y php7.2

php-fpmインストール

yum install -y php-mbstring php-xml php-intl

Gitインストール

yum install -y git

MariaDBインストール

yum install -y mariadb mariadb-server

ec2-userのセカンダリグループにapacheを追加

usermod -a -G apache ec2-user

/var/www/ディレクトリの所有者と権限を変更

chown -R ec2-user:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

ソフトウェアの自動起動設定をオンにして起動

systemctl enable httpd && systemctl start httpd
systemctl enable php-fpm && systemctl start php-fpm
systemctl enable mariadb && systemctl start mariadb

 

Composerインストール

Composerのインストール

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
rm composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

 

各種設定の変更

httpd.confを編集

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org 
vi /etc/httpd/conf/httpd.conf
--------------以下を編集---------------
<IfModule mime_module>
Addtype application/x-httpd-php .php  ← 追加
</IfModule>

<Directory "/var/www/html">
AllowOverride None
 ↓
AllowOverride All

</Directory>
---------------------------------------

php.iniを編集

cp /etc/php.ini /etc/php.ini.org
vi /etc/php.ini
--------------以下を編集---------------
memory_limit = 128M
  ↓
memory_limit = 512M

---------------------------------------

プラグインインストールでメモリが原因で失敗しないようにするため。

Apache再起動

systemctl restart httpd

 

データベースセットアップ

データベースの初期設定

mysql_secure_installation
⑴ Enter current password for root (enter for none):
  データベースのrootユーザのパスワードはまだ設定されてないので
  何も入力せずにenterを押す。
⑵ enter current password for root (enter for none):
  データベースの root ユーザーのパスワードをこれから設定したいので
'Y' と入力して Enter を押す。
⑶ Set root password? [Y/n]
  安全なパスワードを 2回入力
  New password:
  Re-enter new password:
  Password updated successfully!
⑷ 以下全部 Y を入力

---以下MariaDB内での操作---

EC-cubeのデータベースを作成

CREATE DATABASE `ec_cube_database`;

EC-cube用ユーザを作成

CREATE USER 'ec_cube_user'@'localhost' IDENTIFIED BY '1234';

EC-cube用ユーザにEC-cubeデータベースの権限付与

GRANT ALL on ec_cube_database.* to 'ec_cube_user'@'localhost';

 

EC-cubeインストール

/var/www/htmlに移動

cd /var/www/html

EC-cubeのgitをインポート

git clone https://github.com/EC-CUBE/ec-cube.git

権限を変更

chmod 764 ec-cube/bin/console

/var/www/html/ec-cube/に移動

cd ec-cube/

Composerインストールを実行

composer install

環境変数を設定

bin/console eccube:install

Database Url [sqlite://avr/eccube.db]:
> mysql://$ユーザ名:$パスワード@localhost/$データベース名
$ユーザ名     → 今回の場合は"ec_cube_user"
$パスワード    → 今回の場合は"1234"
$データベース名  → 今回の場合は"ec_cube_database"

動作確認

http://パブリックDNS/ec-cube/

 

f:id:porain:20211027141055p:plain

ECサイト

 

以上!!!!!!!!!!!!!