本番で公開しているWordPressのコピーをDockerで作る際のポイント
基本
ファイルとDBのバックアップを取得する。
バックアッププラグイン(BackWPUpとか)で取得したものでもいいかも。圧縮されてたらダウンロードしやすいだろうし。
Dockerイメージの使い分け
以下の2パターンで分ける。
- トップディレクトリにWordPressのコンテンツファイルを配置する場合(public_html/ ←みたいな)
- トップディレクトリより下の階層にWordPressのコンテンツファイルを配置する場合(public_html/wp/ ←みたいな)
トップディレクトリにWordPressのコンテンツファイルを配置する場合(public_html/ ←みたいな)
公式のイメージを使う。
トップディレクトリより下の階層にWordPressのコンテンツファイルを配置する場合(public_html/wp/ ←みたいな)
こないだ公式のイメージからdockerコンテナ作成したとき、うまくいかなかった。なにがうまく行かなかったか、、忘れてしもうた…。リダイレクトだったか…?
上記が長時間解決せんかったので、CentOSイメージを落として作ることにした。別に他のOSでもいいけど、使い慣れてたから。
この場合、いちから作る手順を踏む。
以下は思い出したものをざっと書き出した概要です。
- epel, remi リポジトリの追加
- yum install httpd
- yum install –enablerepo=remi-php73 php php-common php-mbstring php-mysql rsync vim
- rsyncとvimは自分が使いたいだけ
- ウェブブラウザでファイル名を省略してアクセスしたときに表示させるファイルをindex.htmlを最優先にしたい場合は、conf.d/php.confにあるDirectoryIndex に index.htmlを追記する。
- DirectoryIndex index.html index.php
- ファイルのパーミッションとオーナーを調整する
以上のことをやったweb/DockerFile↓↓
httpsからhttpへ変更
本番ではhttpsで構築されていると思うが、ローカルに作る場合は証明書が無いとhttpsにできない。
以下のいずれかの対応が必要。
- 本番で使ってる証明書をつかってSSL化する
- オレオレ証明書を使って配置する。更にブラウザ側もエラーにならないように証明書を登録する
- ローカルテスト環境ではhttps化は諦めてhttpにする(以下のコマンドをMySQL上で実行する)
update wp_options set option_value='http://サイト名/フォルダ名' where option_name='siteurl';
⇒public_html/ ←みたいにドキュメントルート直下にWordPressコンテンツファイルを配置している場合は、「/フォルダ名」部分は不要。
update wp_options set option_value='http://サイト名/' where option_name='name';
wp-config.php内のDB-HOSTの情報を変更する。
久々にやると忘れがち。
ちなみにDockerのMySQLにIPを指定して割り振ってないと、Dockerコンテナを再起動したときにIPアドレスが変わってしまった。ちょこっと検証に使うだけなら設定しなくてもいいだろうけど、長い間検証に使うならIPアドレスを割り振っといたほうがいい。docker-compose.ymlとかで。
Googleアドセンスレスポンシブ
関連記事
-
WordPress ファイルはサブディレクトリ、公開URLはTOP「/」にするやり方
概要 たとえば、以下の様な状態のこと。 wordpress(以下wp)のファイルを配置
-
静的htmlでContact Form 7を使用する
ショートコード設置まで .htaccessの内容変更や、htmlソースの最上部(docty
-
WordPress CLIでドメイン変更
やり方を解説してくれてるサイトさんのリンク https://onoredekaiketsu.c
-
WordPress 手動でプラグインインストール
手動でインストールする方法は2つある。 手動レベル1。zipファイルをWPのダッシュボードから
-
WordPress get_option() は、DBのoptionsテーブルから値を取得する
例 サイトURLを取得する場合 $str = get_option('siteurl');
-
WordPress を IIS環境へ引っ越しする手順 – コンテンツインポート編
WordPress を IIS環境へ引っ越しする手順 – 環境構築編 と、 Word
-
contact form 7 送信ボタンでリセットされる→送信ボタンがぐるぐるまわって終わらない
環境:静的htmlにcontact form 7 をショートコードで埋め込み WPのテーマ使わ
-
WordPressの自動バージョンアップは マイナーバージョン(3桁目)のみ行われる
x.y.zの場合、自動アップデートされるのはzのバージョンだけという認識で合
-
WordPress 固定ページでfunction(関数)使うにはショートコードを使う
ショートコードって? 固定ページなどで みたいに書くと、設定した関数等を呼び出してくれる
-
WordPressを静的htmlから一部読み込む宣言3つ
記述場所 htmlファイルの最上部に <?php require_once('pa
Comment
[…] phpMyAdminやMySQLでSQLコマンドを実行する。 […]