あれもしたい、これもしたい。Docker」をインストールしていく。初心者にはちょっと難しい内容になるが、手順通りに進めていけば無事に構築できるはず。焦らずに進めていこう。EncryptのSSL付きマルチサイトを立ち上げる今回の作業は上記のサイトを参考にしている。上記のサイトの方法ではいくつかの不具合が残ったまま構築することになるが、今回ここで紹介する手順で構築すれば諸問題は解決することができる。PlatformにSSH接続する方法はいくつかあるが、今回はブラウザから手っ取り早くログインできる方法で進めていく。VMインスタンスの画面から「接続」→「SSH」→「ブラウザウィンドウで開く」を選ぶ。接続を開始するか尋ねられるので「接続」をクリックする。するとターミナル画面が表示されるので、ここでコマンドを実行して構築していくことになる。Docker」の環境を構築さて、これからいくつものコマンドを実行していく。CUIに慣れていなくても一つ一つコマンドを実行していけば問題なく構築できるのでご安心を。スワップ領域の設定この環境で何度かWordpressを構築してきたが、サイトの移行などで大きいファイルを扱ったるする際にメモリの少なさが原因でサーバが非常に重たくなる。始めにスワップ領域を設定しておくことで、サーバの負荷を軽減することができるので設定しておこう。作業の前にスワップ領域がないことを下記のコマンドで確認してみよう。-mSwapが下記のように「0」と表示されていれば未設定。先ほど「0」になっていたのが「1023」となっている。1023このままでは再起動した際にSwapファイルは無効になるので下記のコマンドで永続化する必要がある。長いコマンドなのでちゃんと行末までコピペするように。/etc/fstab念のために再起動。問題なくSwapが永続されているかを確認してみよう。reboot上記のような画面が表示されるので「再接続」をクリック。再起動には1〜2分かかる。一度下記のコマンドを実行しスワップ領域が確保されていれば大丈夫。1023Dockerをインストール次にDockerに必要なパッケージをインストールする。sh問題なく起動しているか確認するために下記のコマンドを実行してみよう。correctly.と表示されているはずだ。再起動しても自動的にDockerが起動するように下記のコマンドを実行。docker問題なく動作するか確認するためにVMインスタンスを下記のコマンドで再起動させてみる。reboot上記のような画面が表示されるので「再接続」をクリック。再起動には1〜2分かかる。一度下記のコマンドを実行し動作していれば大丈夫。hello-worldDocker-composeをインストール次にDocker-composeをインストール。下記のコマンドでファイルをダウンロードする。/usr/local/bin/docker-composeDocker-composeファイルの権限を変更する。/usr/local/bin/docker-compose問題なくインストールできているかバージョン確認してみよう。--version問題なければこのように表示されるはずだ。5920eb0これで下準備ができた。Dockerを使って実際に環境を構築していく。Encrypt(SSL)を登録するためのE-MAILアドレスと、いくつかのdocker-compose.ymlが必要となってくる。下記のコマンドでファイルをダウンロードし、環境構築に必要な階層とdocker-compose.ymlのファイルを準備する。"/home/wordpress.tar.gz"ダウンロードしたファイルを解凍する。/home/すると下記の構造でhomeの階層に必要なファイルが揃う。uploads.iniコマンドでそれぞれのdocker-compose.ymlを編集していくので、先に権限も変更しておく。/home/wordpress/*/docker-compose.ymlDockerネットワークを作成Dockerのネットワーク環境を下記のコマンドで構築する。common_linkプロキシサーバーコンテナを起動(nginx-proxy)下記のコマンドでプロキシサーバーコンテナを起動させる。-dデータベースサーバーコンテナの設定と起動(mariadb)設定ファイル(docker-compose.yml)の変更docker-composeで起動させる前に設定ファイル(docker-compose.yml)を4箇所、変更する必要がある。下記のコマンドで「****」部分を設定したい文字列に変更して実行する。「****」部分を読者の設定したい文字列に必ず置き換えること。それぞれのコマンドをメモ帳などに一度コピーして****部分を置き換えれば作業しやすくなる。「データベースユーザー名」「データベースパスワード」「データベース名」は、Wordpressのインストール時に必要になってくるので忘れないように。/home/wordpress/mariadb/docker-compose.yml設定変更のサンプルコマンド例えばデータベース名の設定を「wordpress」とする場合、下記のコマンドになる。/home/wordpress/mariadb/docker-compose.ymlもしターミナルからのテキスト処理に慣れているのなら下記のコマンドで直接ファイルを変更しても問題ない。上記の設定ファイルの準備ができたら下記のコマンドを実行してデータベースサーバーコンテナを起動させる。-dkusanagi-php7のビルド次に公式の「kusanagi-php7」のイメージではPHPのJPEGに対応していないので、今回は独自にビルドする。JPEG処理に対応させないとサムネイルの作成や画像のトリミングなどの編集ができない。RODのphp7でphp-gdのJPEGを有効にするビルド用のファイルは先ほどダウンロードしたファイルに含めているので下記のコマンドを実行すれば良い。/home/wordpress/kusanagi-php7/ビルドには10分ほどかかるのでしばらく待つ。設定ファイルの変更こちらもdocker-composeで起動させる前に設定ファイルを2箇所、変更する必要がある。ドメインE-MAILアドレス下記のコマンドで「****」部分を設定したい文字列に変更して実行する。「****」部分を必ず置き換えること。/home/wordpress/kusanagi-1/docker-compose.yml例えばドメインの設定を「www.free-wordpress.cf」とする場合、下記のコマンドになる。/home/wordpress/kusanagi-1/docker-compose.ymlちなみに今回はCloudflareでサイト全体をキャシュさせるのでKusanagiのキャッシュ機能は無効にしている。下記のコマンドでも変更可能。上記の設定ファイルの準備ができたら下記のコマンドを実行してKUSANAコンテナを起動させる。Encrypt(SSL)の処理に15分弱かかるので気長に待とう。(処理が完全に終わるまでは設定したドメインにアクセスしてもエラーになってサイトは表示されない。)無事に処理が終わるとめでたくこのようにwordpressの設定画面が表示される。下記のようにリダイレクトが発生しサイトにアクセスできない場合は「Cloudflare」の「Crypto」にある「SSL」の設定を「Full」にすること。EncryptのSSL付きマルチサイトを立ち上げる」を参考にし、一つのサーバーで複数のKUSANAGIを起動するマルチサイト運用にも対応させているので、その方法も紹介しておく。WordPressサイト2(kusanagi-2)の設定と起動まず、ドメインはあらかじめ「kusanagi.karelie.net」というのを準備しておいた。次にすでにある「kusanagi-2」の階層内にある「docker-compose.yml」ファイルを「kusanagi-1」の時と同様に「ドメイン」「E-MAILアドレス」を変更する。下記のコマンドで「****」部分を設定したい文字列に変更して実行する。「****」部分を必ず置き換えること。コマンドの階層部分が「kusanagi-1」ではなく「kusanagi-2」となっていることも確認すること。-dこれで二つ目のサイトが立ち上がる。こちらも起動するまで10〜15分ほどかかる。「kusanagi-2」のフォルダを複製しdocker-compose.ymlファイル内の「kusanagi-*」部分を適正に変更すれば、一つのインスタンス内に三つでも四つでもWordpressを立ち上げることができる。小規模でアクセスの少ないサイトであれば10サイトほど同時に立ち上げても大丈夫なんじゃないかなと思う。Docker」に潜在している幾つかの諸問題を解決してく。丁寧に手順を示していただけており、素人ながらここまでたどり着きました、ありがとうございます。>無事に処理が終わるとめでたくこのようにwordpressの設定画面が表示される。部分で自動的に画面が表示されないのですが、何かわかりますでしょうか。wordpressをほとんど触ったことがなく、取得したドメインや外部ipへの手動アクセスは試したのですがどうも違うようで。試していただいてありがとうございます。Encrypt(SSL)の処理に15分弱かかるので気長に待とう。(処理が完全に終わるまでは設定したドメインにアクセスしてもエラーになってサイトは表示されない。)」と書いてますので、少し時間をおいてからアクセスして見てください。DockerによるWordPress環境構築の備忘録。