VultrでKUSANAGI Runs on Dockerが動くまで（その3）

#前回のおさらい
前回の記事[『VultrでKUSANAGI Runs on Dockerが動くまで（その2）』](https://qiita.com/chiruparu/items/26dc623a089a0eac4aa7)ではVPC環境である[Vultr](https://www.vultr.com/?ref=8632241)に[KUSANAGI RoD](https://kusanagi.tokyo/cloud/kusanagi-runs-on-docker/)環境を構築しWordpressをインストールするところまで確認しました。
今回はWordpressの設定を変えていきたいと思います。

動作環境など

- Ubuntu 20.04
- docker 19.03.12
- docker-compose 1.26.2

```shell
$ 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周りの設定

1. KUSANAGIパスワードの省略
- フォルダのパーミッションの変更（やらなくても大丈夫かも）


##1. KUSANAGIパスワードの省略
KUSANAGIはセキュリティのためテーマやプラグインをインストールする際に以下のようにKUSANAGIパスワードを聞かれます。KUSANAGIパスワードはプロビジョニング時に指定していなければインストールディレクトリの.kusanagi.wpに記載があります。
![img03.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680666/60570499-24f4-6128-8014-9fb1c9e5c65f.jpeg)

毎回パスワードを聞かれないようにするためには、wp-config.phpのFS_METHODをftpextからdirectに変更します。
KUSANAGI RoDの場合はローカルのファイルを修正し、kusanagiコマンドでコンテナにコピーする形になります。

```php:$HOME/kusanagi01/contents/wp-config.php
#define('FS_METHOD', 'ftpext');
define('FS_METHOD', 'direct');          ※ここを変更
define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
#define('FTP_PASS', '*****');
```

以下のコマンドでコンテナにコピーします。エラー出るけど気にしなくて大丈夫です。

```shell
$ cd $HOME/kusanagi01
$ kusanagi-docker config push
chown: unknown user/group kusanagi:www
ERROR: Failed.
```

コンテナにログインしてファイルがアップされているか確認します。ftpコンテナにシェルアクセスして確認します。

```shell
ホスト上で実行
$ 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パスワードとは別の問題でデフォルト状態だとフォルダに書き込み権限がなくて色々うまくいきません。
![img04.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680666/10bd0343-d42f-8ae2-c487-85d822294812.jpeg)

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のまま

```shell
ホスト上で実行
$ 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に好きなテーマインストールしてカスタマイズして使い倒してください。