Mobingi Advent Calendar 2018 21日目の記事です。
世界で一番利用されていると言われている WordPress を、Mobing ALM 上で構築する方法をご紹介します。
必要なサービス、アカウント
- Github アカウント
- Mobingi ALM アカウント
- Mobingi ALM が対応するパブリッククラウドのアカウント
- AWS、Microsoft Azure、GCP、Alibaba Cloud Fujitsu K5
- 本記事では AWS を利用します
目次
- Githubにソースコードをアップする
- スタックを作成する
1. Githubにソースコードをアップする
WordPressのソースコードを格納したリポジトリを作成しました。
こちらのリポジトリを自身のアカウントに Fork しましょう。
https://github.com/hmaruyama/wordpress-app
こちらのリポジトリの中身は至ってシンプルで、 wordpress.org からソースコードをダウンロードしてきたものを、wp-config.php のみ以下のように書き換えて push したものです。
/** WordPress のためのデータベース名 */ define('DB_NAME', getenv('MO_DATABASE_NAME')); /** MySQL データベースのユーザー名 */ define('DB_USER', getenv('MO_DATABASE_USERNAME')); /** MySQL データベースのパスワード */ define('DB_PASSWORD', getenv('MO_DATABASE_PASSWORD')); /** MySQL のホスト名 */ define('DB_HOST', getenv('MO_DATABASE_HOST'));
Mobingi ALM 上でDBを立ち上げると、MO_ から始まる環境変数からDBのユーザーネームやパスワードにアクセスすることができます。
2. スタックを作成する
Mobingi ALM の基本的な使い方についてはこちらの記事をご参照ください。
Mobingi ALM のトップページ左メニューから「スタックを作成」クリックし、タブの「Json Editor」をクリックします。
以下のJSONデータから「your-credential-name-here」をご自身のクレデンシャルに、「your-git-repo」をご自身のGithubリポジトリ(https://github.com/hmaruyama/wordpress-app.git のように)に書き換えます。
コピーしてEdidorに貼り付けます。こちらのJSONデータはALM上で ALM Template と呼ばれます。
{ "version": "2017-03-03", "label": "example template version label #1", "description": "Mobingi ALM Stack.", "vendor": { "aws": { "cred": "your-credential-name-here", "region": "us-east-1" } }, "configurations": [ { "role": "web", "flag": "wordpressApp", "provision": { "instance_type": "t2.micro", "availability_zone": "us-east-1a", "auto_scaling": null, "keypair": true, "instance_count": 1, "load_balancer": null, "subnet": { "cidr": "10.0.1.0/24", "public": true, "auto_assign_public_ip": true }, "rds": { "db_instance_type": "db.t2.micro", "storage": 10, "replica": 1, "engine": "mysql", "version": "5.6", "multi_az": true } }, "container": { "container_image": "mobingi/ubuntu-apache2-php7:7.2", "container_code_dir": "/var/www/html", "container_ports": [ 80 ], "container_git_repo": "your-git-repo", "container_git_reference": "master" } } ] }
ALM Template で定義されている内容:
us-east-1(米国東部 (バージニア北部))に、t2.microのインスタンスを一つ立てています。
同じVPC内に Amazon RDS で MySQL を立ち上げています。
「スタックをデプロイ」をクリックし、Webアプリケーションが起動するまでしばらく待ちます。15分ほどは見積もった方が良いでしょう。
左メニューから「スタック一覧」をクリックし、先ほど作成したスタックをクリックします。
コンテナが「complete」(緑色)になっていることを確認したら、パブリックIPをクリックします。
WordPressの初期設定画面にアクセスできたら成功です。
ここからWordPressを開始することができます!
最後に
DBに関する情報が環境変数として払い出されるので、アプリケーションとの連携が楽に行えました。
みなさんもぜひ試してみてはいかがでしょうか。