zenet_logo

-株式会社ゼネット技術ブログ-

AWSのEC2上でEC-CUBE4.1系を構築してみた

f:id:zenet-tech:20210929192102p:plain

ゼネットの元吉です。

 

私は現在ゼネットでハンズオン研修を受講しており、

EC-CUBEの4系でE-コマースサイトの構築をAmazonLinux2上に行ったのでその方法を書いていきます。

 

目次

 

 

環境

EC-CUBE4.1.0で構築する際に必要なバージョン

f:id:t-motoyoshi_pn:20210928115355p:plain

 

2系、3系、4系の他のバージョンを試したい方は下記を参照して

構築してください。↓ ↓ ↓

www.ec-cube.net

 

実際に導入したバージョン

  • Apache Version 2.4.48
  • MySQL Version  5.7.35
  • EC-CUBE Version 4.1.0
  • PHP Version 7.4.21
  • Composer Version 1.10.10

 

f:id:t-motoyoshi_pn:20210928122449p:plain

 

 

事前設定とEC-CUBEのインストール

 

mysql5.7のインストール

 

mysql8.0リポジトリの追加(このリポジトリに5.7も含まれています)

 

 mysql8.0リポジトリの無効化

$ sudo yum-config-manager --disable mysql80-community

 

mysql5.7リポジトリの有効化

$ sudo yum-config-manager --enable mysql57-community

 

mysql5.7がインストールできるか確認

$ sudo yum info mysql-community-server

 

mysqlインストール

$ sudo yum install mysql-community-server -y
$ mysqld --version
mysqld  Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))

 

インストール後、データベースのユーザー、データベース、パスワードの

設定を行いました。

 

Apacheのインストール

Apacheインストールと自動起動

$ sudo yum install -y httpd
$ sudo systemctl enable httpd.service

 

Apacheの設定

AddType application/x-httpd-php .phpを追記

$ vim /etc/httpd/conf/httpd.conf

 

<IfModule mime_module>
~省略~
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
    AddType application/x-httpd-php .php # 追加
</IfModule>

 

AllowOverride NoneをAllに変更

<Directory "/var/www/html">
~省略~
    #AllowOverride None # コメントアウト
    AllowOverride All # 追加
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

 

PHP7.4のインストール

Extras LibraryのPHP7.4をインストールすれば、yumでPHP7.4がインストールできます。

$ sudo amazon-linux-extras install php7.4

$ sudo yum install php 

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

 

Gitインストール

$ sudo yum install -y git

 

 

パーミッションの変更

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

 

 

composer 1.10.10インストール

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php --version=1.10.10
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer
$ composer -v

 

※最新の2.18をインストールすると、EC-CUBEが対応しておらず、

EC-CUBEインストールの際にエラーが発生するため、

1.10.10をインストールしました。

 

EC-CUBEインストール

$ cd /var/www/html/
$ sudo git clone https://github.com/EC-CUBE/ec-cube.git
$ sudo chmod 764 ec-cube/bin/console
$ cd ec-cube/
$ composer install

$ bin/console eccube:install

 

$  bin/console eccube:install

EC-CUBE Installer Interactive Wizard

 

…省略

 Database Url [sqlite:///var/eccube.db]:
 >mysql://ユーザー名: パスワード@ホスト/DB名

 Mailer Url [null://localhost]:
 > メールアドレス

Auth Magic [Ibo7NLVp73i8B4dg]:
 >空白のまま Enter

 

確認と初期設定

 

EC2のパブリックDNSに /ec-cube/ を付加してブラウザからアクセスします。

 

f:id:a-saito_pn:20210924095504p:plain

 

管理画面は、パブリックDNSに /ec-cube/admin を付加してブラウザから

アクセスします。

f:id:a-saito_pn:20210924101224p:plain

 

 

パスワードは『管理者 様』をクリックし、変更できます。

f:id:a-saito_pn:20210924095951p:plain

 

 

コメント

自身でそれぞれのインストール方法を検索し、

MySQL、PHP、Composerのインストールを行いました。

EC-CUBE4系をインストールしているサイトは少なかったため

かなり苦労しました。この記事を参考に、是非インストールしていただけると幸いです。

 

 

参考文献一覧

qiita.com

qiita.com

www.yamamanx.com

ec-cuber.jp

getcomposer.org

www.ec-cube.net