You are currently viewing モダンクラウド演習:AzureにWordPressのCDを構築する

モダンクラウド演習:AzureにWordPressのCDを構築する

AWS、GCPと比較してイマイチ存在感の薄いAzure
とはいえ、3大クラウド(だと思っている)の一翼を担うクラウドと言うことで、同じ用にWordpressのCDを構築してみます

リソースグループを作成

Azureではリソースグループという単位で管理を行うようなので、まずはリソースグループを作成します

リソースグループが作成されました

AppServiceを作成する

AWSやGCPでは仮想マシンを作成しLEMP環境を作成しましたが、AzureではPaaSを利用します(無料プランの関係で)
PaaSのため、PHPやNginXと言ったWordpressを動かすための環境が整っている状態となります

CIの設定

CIを設定します
MicrosoftがGitHubを買収したことで、他クラウド(AWS、GCP)よりも親和性が高いように感じました

作成したサービスで以下の設定を行います
SCM基本認証の発行資格情報→チェック
FTP基本認証の発行資格情報→チェック

次にGitHub側で設定を行います

環境変数の設定は以下のとおりです

AZURE_WEBAPP_PUBLISH_PROFILE	
→.PublishSettingsの中身をまるごと貼り付け

AZURE_WEBAPP_NAME
→App Serviceの名前

.PublishSettingsは、AppServiceの「発行プロファイルのダウンロード」でダウンロードできます

GitHubのリポジトリの構成は以下のようになっています

GIthub Workflowは以下の内容で作成しました

name: Deploy to Azure App Service

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Deploy to Azure App Service
        uses: azure/webapps-deploy@v2
        with:
          app-name: ${{ secrets.AZURE_WEBAPP_NAME }}
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: .

GitHubにプッシュすると、CDが動くはずです

DBセットアップ

WordPress用DBのセットアップを行います
AzureだとMySQLフレキシブルサーバーという機能を使います

以下の設定で作成しました
(管理者のログイン の項目がパスワードぽくなっていますが、ここには管理ユーザーIDを指定します)

以下の設定を行い、Azure内のサービスから接続できるようにしておきます

ローカルから接続できるか確認してみます

WordPress用のデータベースを作成しておきます

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SHOW DATABASES;
EXIT;

トラブル対応

以上の設定でWordpressがインストールできるはずですが、アクセスしたところCSSが適用されておらず、インストールにも失敗しました

wp-config.phpに以下の設定を行うことで解決できました

以上

ということで、簡単ですがAzureでCDを設定したときのメモでした
AWS、GCPと比較して、UI周りが使いにくい印象・・・
このご時世、メニューも文字化けしてますしね

CD自体は簡単に設定できるのは良いと思いますが、仕事以外で使うことは、無いかなぁ・・・

コメントを残す