0
0

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.

LightsaillにMagentoをインストール

Posted at

#はじめに
所属しているロボコンチームでECサイトが必要になったのですが、自動で伝票を作成できる機能などがあるMagentoをインストールすることにしました。
結構苦戦したので、備忘録的な意味も含めて、メモしておきます。
なお、一般的なものとあまり変わらない部分は、簡単に記載するだけになるので、追加でいろいろ調べながらやってみてください。

#インスタンスの作成
これは、簡単です。
AWSのアカウントを取得して、Ligsaillの管理画面からインスタンスを作成するだけです。
本来は、Magentoがセットになっているインスタンスもありますが、今回は何もセットになっていないインスタンスを作成します。
OSはAmazonLinux2で、メモリが4Gのプランです。
Lightsaillはインスタンスのアップグレードはできても、ダウングレードはできないので大きくしすぎないように気を付けましょう。
メモリは、最低でも2G無いとインストールできないと思うので、それ以上のプランを選ぶようにしましょう。
また、接続用のSSHキーペアを作成する場合は、なくさないようにしましょう。
image.png
image.png

#Apacheのインストール
Apacheのインストールは特段難しくありません。

sudo yum -y update
sudo yum install -y httpd

起動及び自動起動設定

systemctl start httpd
systemctl enable httpd

#SSLの設定
今回は、手動インストールしましたが、yumでも大丈夫だと思います。

sudo curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
sudo chmod 700 /usr/bin/certbot-auto

なお、そのまま使用するとエラーがでますので、こちらの記事を参考に実行ファイルを少し変更してください。

Amazon Linux2でLet's Encrypt使おうとしたらコケた話

それが終わったら、通常通り証明書を発行すればよいです。

#MySQLのインストール
これも特段変わりません。
こちらに記載する必要もないので、リンクのみ。
2.5.1 MySQLYumリポジトリを使用したLinuxへのMySQLのインストール

#PHPのインストールについて
これで少し詰まりました。
初期状態でAmazonLinux2にPHPを入れると、7.4xがインストールされるのですが、動作はしたものの7.3が推奨されており、拡張機能がうまくインストールできなかったので、PHP7.3xをインストールします。
まずは、現在インストールされているものをアンインストールします。

yum remove php-* -y

そして、php7.4を無効にし、7.3をインストールします。

sudo amazon-linux-extras disable php7.4
sudo amazon-linux-extras install php7.3=7.3.13

終わったら、php-fpmの再起動を忘れずに

systemctl reload php-fpm

#Magentoのインストール
これも通常通り行えばよいです。
今回は、 /var/www/html にインストールします。

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /var/www/html

/var/www/htmlに移動し、インストールコマンドを実行します。
必要なものは適宜置き換えてください。

bin/magento setup:install \
--base-url=http://localhost/magento2ee \
--db-host=localhost \
--db-name=magento \
--db-user=magento \
--db-password=magento \
--admin-firstname=admin \
--admin-lastname=admin \
--admin-email=admin@admin.com \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

インストールが完了すると、管理画面のURLが発行されるので、そこにアクセスします。

#初期設定
スクショを取り忘れたので、言葉で説明します。

ログイン画面に移動したら、インストール時に設定したアカウント情報でログインします。
そうすると、メールに2段階認証の設定コードを送ったと書かれた画面になりますが、メールを設定していないので、送られてきません。
そこで、少しファイルを編集します。

 vi vendor/magento/module-two-factor-auth/Model/EmailUserNotifier.php

でファイルを開き、


    /**
     * Send configuration related message to the admin user.
     *
     * @param User $user
     * @param string $token
     * @param string $emailTemplateId
     * @param string $url
     * @return void
     */
    private function sendConfigRequired(
        User $user,
        string $token,
        string $emailTemplateId,
        string $url
    ): void {
    try {
            $transport = $this->transportBuilder
                ->setTemplateIdentifier($emailTemplateId)
                ->setTemplateOptions([
                    'area' => 'adminhtml',
                    'store' => 0
                ])
                ->setTemplateVars(

この記載個所の

try{

の前に、

var_dump($url);

と入力します。
そして、先ほどの画面に戻ると、メールに送られるはずだったURLが出力されるので、アクセスして2段階認証の設定をします。
設定が終わったら、ファイルは元に戻しておいてください。

#日本語化
日本語化も簡単です。
以下をインストールすれば完了です。

composer require veriteworks/m2-japaneselocale

管理画面のアカウント設定で日本語を選択すれば、日本語になります。

#メモリ不足について
もし、メモリーが足りないと出たら、Swapファイルを作成します。
1024と書かれているところを変更すれば、容量も変更できます。

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

freeコマンドを実行して、認識されていれば、成功です。

free
              total        used        free      shared  buff/cache   available
Mem:        4037584     2441604      397488         740     1198492     1366768
Swap:       2097148           0     2097148

#まとめ
ECCubeを使ってきた人としては、結構大変でしたが、やはり越境ECや大規模サイトの場合の運営のしやすさ、他のツールとの連携性はシェア率からしても高いです。
最初は、CDNをかまそうかと思ったのですが、調べてもメディアファイルだけCDNを通す、という記事しか発見できなかったのであきらめました。
もし、間違えなどあったら指摘してください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?