Magento2というオープンソースのECサイトの開発講座を受講するため
先立ってWSL2で環境を構築しました。
基本下記サイトを参考にさせていただいたのですが
Zscaler(プロキシ)環境下ということもあり、ルート証明書を所々インストールすることもあり詰まったので細かい点を補足します。
WSL2 | |
ディストロ | Ubuntu-22.04 |
Magento2 | 2.4.6 |
Den |
ルート証明書の作成
下記ページにCA方法が載っています。
ディストロのインストール
PowerShellを管理者権限で起動し、以下のコマンドを入力
wsl --install Ubuntu-22.04
ルート証明書の作成で作成した証明書をインストールします
以下はc:\tempがマウントされていて、ca.crtという証明書ファイルを作成した例です。
sudo apt-get install -y ca-certificates
sudo cp /mnt/c/temp/ca.crt /usr/local/share/ca-certificates
sudo update-ca-certificates
Docker,Docker Composeのインストール
各コマンドの詳細が知りたい場合は下記を参考
https://docs.docker.jp/engine/install/linux/docker-ce/ubuntu.html
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
#ユーザーをdockerグループへ追加(以降ローカルユーザーで実行するため)
sudo usermod -aG docker $USER
Denのインストール
まずはHomebrewをインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Denをインストールし、Global Serviceを起動
brew install swiftotter/den/den
den svc up
hosts("C:\Windows\System32\drivers\etc\hosts")
に下記内容を追加
127.0.0.1 traefik.den.test
下記URLをWindowsで閲覧し、起動確認ができる
https://traefik.den.test/
Magento環境の構築
基本は前述したサイトを参考にコマンドを実行していきます。
以下はtestというproject nameを使用します。
den env-init test magento2
den env up -d
den shell
$COMPOSER_HOME/composer/auth.jsonに下記を追記
{
"http-basic": {
"repo.magento.com": {
"username": "",
"password": ""
}
}
}
Magento2をダウンロード
META_PACKAGE=magento/project-community-edition META_VERSION=2.4.6
composer create-project --repository-url=https://repo.magento.com/ \
"${META_PACKAGE}" . "${META_VERSION}"
bin/magento setup:install \
--backend-frontname=backend \
--amqp-host=rabbitmq \
--amqp-port=5672 \
--amqp-user=guest \
--amqp-password=guest \
--db-host=db \
--db-name=magento \
--db-user=magento \
--db-password=magento \
--search-engine=elasticsearch7 \
--elasticsearch-host=opensearch \
--elasticsearch-port=9200 \
--elasticsearch-index-prefix=magento2 \
--elasticsearch-enable-auth=0 \
--elasticsearch-timeout=15 \
--http-cache-hosts=varnish:80 \
--session-save=redis \
--session-save-redis-host=redis \
--session-save-redis-port=6379 \
--session-save-redis-db=2 \
--session-save-redis-max-concurrency=20 \
--cache-backend=redis \
--cache-backend-redis-server=redis \
--cache-backend-redis-db=0 \
--cache-backend-redis-port=6379 \
--page-cache=redis \
--page-cache-redis-server=redis \
--page-cache-redis-db=1 \
--page-cache-redis-port=6379
前述の参考サイトより下記コマンドを実行していきます。
## Configure Application
bin/magento config:set --lock-env web/unsecure/base_url \
"https://${TRAEFIK_SUBDOMAIN}.${TRAEFIK_DOMAIN}/"
bin/magento config:set --lock-env web/secure/base_url \
"https://${TRAEFIK_SUBDOMAIN}.${TRAEFIK_DOMAIN}/"
bin/magento config:set --lock-env web/secure/offloader_header X-Forwarded-Proto
bin/magento config:set --lock-env web/secure/use_in_frontend 1
bin/magento config:set --lock-env web/secure/use_in_adminhtml 1
bin/magento config:set --lock-env web/seo/use_rewrites 1
#開発環境では、admin userのパスワードをいちいち変えるのは面倒なので、設定でオフにしておきます。
bin/magento config:set admin/security/password_lifetime 0
bin/magento config:set admin/security/password_is_forced 0
#2段階認証も開発環境では不要なので、オフにしておきます。
bin/magento module:disable Magento_TwoFactorAuth
bin/magento config:set --lock-env system/full_page_cache/caching_application 2
bin/magento config:set --lock-env system/full_page_cache/ttl 604800
bin/magento config:set --lock-env catalog/search/enable_eav_indexer 1
bin/magento config:set --lock-env dev/static/sign 0
bin/magento deploy:mode:set -s developer
bin/magento indexer:reindex
bin/magento cache:flush
hosts("C:\Windows\System32\drivers\etc\hosts")
に下記内容を追加
127.0.0.1 app.test.test
下記URLがWindows上で閲覧可能になります。
#ホーム画面
https://app.test.test/
#管理画面
https://app.test.test/backend/
Adminユーザーの追加
上記のセットアップではユーザーを追加していないため、管理画面へログインできません
管理画面へログインするには下記コマンドでAdminユーザーを追加してください。
bin/magento admin:user:create
コメント