#前回のおさらい
前回の記事『VultrでKUSANAGI Runs on Dockerが動くまで(その2)』ではVPC環境であるVultrにKUSANAGI RoD環境を構築しWordpressをインストールするところまで確認しました。
今回はWordpressの設定を変えていきたいと思います。
動作環境など
- Ubuntu 20.04
- docker 19.03.12
- docker-compose 1.26.2
$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------
kusanagi01_config docker-entrypoint.sh wp -- ... Restarting
kusanagi01_db docker-entrypoint.sh mysqld Up
kusanagi01_ftp /bin/sh -c /docker-entrypo ... Up
kusanagi01_httpd /docker-entrypoint.sh /usr ... Up 0.0.0.0:8080->8080/tcp, 0.0.0.0:8443->8443/tcp
kusanagi01_php /usr/local/bin/docker-entr ... Up
#変更するWordpress周りの設定
- KUSANAGIパスワードの省略
- フォルダのパーミッションの変更(やらなくても大丈夫かも)
##1. KUSANAGIパスワードの省略
KUSANAGIはセキュリティのためテーマやプラグインをインストールする際に以下のようにKUSANAGIパスワードを聞かれます。KUSANAGIパスワードはプロビジョニング時に指定していなければインストールディレクトリの.kusanagi.wpに記載があります。
毎回パスワードを聞かれないようにするためには、wp-config.phpのFS_METHODをftpextからdirectに変更します。
KUSANAGI RoDの場合はローカルのファイルを修正し、kusanagiコマンドでコンテナにコピーする形になります。
#define('FS_METHOD', 'ftpext');
define('FS_METHOD', 'direct'); ※ここを変更
define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
#define('FTP_PASS', '*****');
以下のコマンドでコンテナにコピーします。エラー出るけど気にしなくて大丈夫です。
$ cd $HOME/kusanagi01
$ kusanagi-docker config push
chown: unknown user/group kusanagi:www
ERROR: Failed.
コンテナにログインしてファイルがアップされているか確認します。ftpコンテナにシェルアクセスして確認します。
ホスト上で実行
$ docker-compose exec ftp sh
以下、ftpコンテナ
/ # ls -al /home/kusanagi/kusanagi01/
total 28
drwxr-xr-x 6 kusanagi 1001 4096 Jul 26 03:15 .
drwxr-xr-x 3 kusanagi 1001 4096 Jul 26 03:29 ..
drwxr-x--- 5 kusanagi 1001 4096 Jul 23 14:01 DocumentRoot
drwxr-xr-x 2 kusanagi 1001 4096 Jul 16 10:24 settings
drwxr-xr-x 2 kusanagi 1001 4096 Jul 18 13:56 tools
drwxr-xr-x 4 kusanagi 1001 4096 Jul 16 10:24 wp-config-sample
-r--r----- 1 kusanagi 1001 3345 Jul 26 03:15 wp-config.php
/ # cat /home/kusanagi/kusanagi01/wp-config.php |grep FS_
#define('FS_METHOD', 'ftpext');
define('FS_METHOD', 'direct');
##2. フォルダのパーミッション変更(やらなくても大丈夫かも)
※以下の記述はやらなくても大丈夫かもしれません。
KUSANAGIパスワードとは別の問題でデフォルト状態だとフォルダに書き込み権限がなくて色々うまくいきません。
ftpコンテナにシェルアクセスしてフォルダに権限を付与します。ftpコンテナだけrootでログインできるので何か変更する場合はftpコンテナを使います。
色々試した結果、以下のパーミッションでうまく動きました。きっとこれで大丈夫かと思います。
※kusanagi-docker configu pushをすると設定が元に戻るので要注意
- DocumentRootを750から755に変更
- DocumentRoot/wp-content配下のuploadsを755から775に変更
- DocumentRoot/wp-content配下のuploads以外は755のまま
- DocumentRoot/wp-content配下のlanguagesは750のまま
ホスト上で実行
$ docker-compose exec ftp sh
以下、ftpコンテナ
/ # cd /home/kusanagi/kusanagi01/
/home/kusanagi/kusanagi01 # chmod 755 DocumentRoot/
/home/kusanagi/kusanagi01 # cd DocumentRoot/wp-content/
/home/kusanagi/kusanagi01/DocumentRoot/wp-cotent/uploads/ # find . -type d -exec chmod 775 {} +
/home/kusanagi/kusanagi01/DocumentRoot/wp-content/ # ls -al /home/kusanagi/kusanagi01/DocumentRoot/wp-content/
total 36
drwxr-xr-x 8 kusanagi 1001 4096 Jul 18 13:56 .
drwxr-xr-x 5 kusanagi 1001 4096 Jul 23 14:01 ..
-rw-r--r-- 1 kusanagi 1001 28 Jul 18 13:55 index.php
drwxr-x--- 4 kusanagi 1001 4096 Jul 18 13:55 languages
drwxr-xr-x 3 kusanagi 1001 4096 Jul 16 10:24 mu-plugins
drwxr-xr-x 4 kusanagi 1001 4096 Jul 26 09:06 plugins
drwxr-xr-x 7 kusanagi 1001 4096 Jul 26 09:05 themes
drwxr-xr-x 2 kusanagi 1001 4096 Jul 26 09:06 upgrade
drwxrwxr-x 3 kusanagi 1001 4096 Jul 23 14:38 uploads
これでまともにWordpressが動くようになりました。
Wordpressに好きなテーマインストールしてカスタマイズして使い倒してください。