Gitpodを使って手軽にWorPress開発環境を構築する手順をメモします。
Gitpodは、GitHub・GitLab・Bitbuketと連携できるオンラインIDEです。
本記事は、GitHubと連携することを前提にしています。
GitHubと連携すると、リポジトリごとにGitPod
にWorkspaceが割り当てられます。
Workspaceは、おもに2つのファイルを使ってセットアップします。
.gitpod.Dockerfile
.gitpod.yml
FROM gitpod/workspace-mysql
ENV APACHE_DOCROOT_IN_REPO="public"
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x wp-cli.phar \
&& sudo mv wp-cli.phar /usr/bin/wp
gitpod/workspace-mysql
は、PHPを含む各種言語・Apache・MySQLを含んだイメージ/etc/apache2/apache2.conf
にAPACHE_DOCROOT_IN_REPO
変数を使って定義(DocumentRoot "${GITPOD_REPO_ROOT}/${APACHE_DOCROOT_IN_REPO}"
)APACHE_DOCROOT_IN_REPO
にpublic
を設定image:
file: .gitpod.Dockerfile
ports:
- port: 8001
onOpen: open-preview
- port: 3306
onOpen: ignore
tasks:
- init: >
mkdir -p /workspace/{{リポジトリ名}}/public &&
cd /workspace/{{リポジトリ名}}/public &&
wp core download --locale=ja --path=/workspace/{{リポジトリ名}}/public &&
wp core config --dbname=wp_sample --dbuser=root --dbpass='' --dbhost=localhost --dbprefix=wp_ &&
wp db create &&
wp core install --url=$(gp url 8001) --title=SiteTitle --admin_user=admin --admin_password=password --admin_email=my@email.com
command: apachectl start
- command: gp await-port 8001 && gp preview $(gp url 8001)
{{リポジトリ名}}
は適宜読み替えてください。
tasks
プロパティは以下を参照。
https://www.gitpod.io/docs/config-start-tasks/
.gitpod.ymlの簡単なメモを記載します。
GitPod
プレビュー用URLは、動的に決まるので gp rul 8001
で取得/ect/apache2/apache2.conf
を確認(Listen *:8001
)wp core install
のurl
オプションは$(gp url 8001)
を指定
wp_options
テーブルのsiteurl
、home
にプレビュー用URLが設定if (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false) $_SERVER["HTTPS"] = "on";
~~2020年12月29日追記
.gitpod.yml
に記載していたecho 'if (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false) $_SERVER["HTTPS"] = "on";' >> wp-config.php
を削除
構築が完了した後に手動で、wp-config.php
のrequire_once(ABSPATH . 'wp-settings.php');
より前に以下サイトを参考にしてコードを追記。
参考:【WordPress】SSL対応を行った後、管理画面で「このページにアクセスする権限がありません。」が表示された時の対応
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。