[WordPress] KUSANAGI Runs on DockerでKUSANAGIコマンドを使う
KUSANAGIをDockerで使える便利なコンテナ「KUSANAGI Runs on Docker」。単純にWordPressを立ち上げるだけでなく、KUSANAGI特有の「KUSANAGIコマンド」がどれくらい使えるか試してみました。 […]
更新日: 2018.7.17公開日: 2017.9.2
KUSANAGIをDockerで使える便利なコンテナ「KUSANAGI Runs on Docker」。単純にWordPressを立ち上げるだけでなく、KUSANAGI特有の「KUSANAGIコマンド」がどれくらい使えるか試してみました。
まずは、nginxコンテナに入る
imageでprimestrategy/kusanagi-nginxを指定しているコンテナです。ここでは「kusanagi-nginx」という名前のコンテナとします。
docker exec -it kusanagi-nginx sh
これで、kusanagi {コマンド}と打てばKUSANAGIコマンドが使えるようになります。
コマンドを試してみる
コマンド
処理内容
結果
新しいWordPressサイトを立ち上げる
△
KUSANAGIサイトのステータスを確認する
△
KUSANAGIコマンドの向き先を設定する
○
HHVMをウォームアップ
×
nginxに切り替え
×
apache2に切り替え
×
KUSANAGIを再起動
×
生成されるページをキャッシュするbcacheの設定
△
FastCGIのレスポンスをキャッシュするfcacheの設定
△
KUSANAGIの設定内容を確認
△
KUSANAGIのURLを設定
×
KUSANAGIのHTTPS化
△
Let’s EncryptのSSL証明書の自動更新
×
kusanagi provision
kusanagi provision test_wordpress
/home/kusanagi/test_wordpress.
Choose the installation language of WordPress.
1 : en_US
2 : ja
q : quit
Which do you choose?: 2
You choose: ja
Enter hostname(fqdn) for your website. ex) kusanagi.tokyo
test.revdev.work
Re-type hostname(fqdn) for your website.
test.revdev.work
In order to use Let's Encrypt services, you must agree to Let's Encrypt's Term of Services.
If you agree to this TOS, type your email address; if not, hit enter twice.
TOS of Let's Encrypt : https://letsencrypt.org/repository/
Re-type mail address.
Enter the name of your database.
wordpress
Re-type database name you create.
wordpress
Enter user name for database 'wordpress'.
user
Re-type user name for database 'wordpress'
user
/usr/lib/kusanagi/lib/provision.sh: line 161: mysql: command not found
Enter password for database user 'user'. USE [a-zA-Z0-9.!#%+_-] 8 characters minimum.
Re-type password for database user 'user'.
/usr/lib/kusanagi/lib/provision.sh: line 180: mysql: command not found
/usr/lib/kusanagi/lib/provision.sh: line 183: mysql: command not found
/usr/lib/kusanagi/lib/provision.sh: line 184: mysql: command not found
--2017-09-02 06:40:09-- https://ja.wordpress.org/latest-ja.tar.gz
Resolving ja.wordpress.org (ja.wordpress.org)... 66.155.40.250, 66.155.40.249
Connecting to ja.wordpress.org (ja.wordpress.org)|66.155.40.250|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8652714 (8.3M) [application/octet-stream]
Saving to: 'wordpress.tar.gz'
100%[======================================>] 8,652,714 7.65MB/s in 1.1s
2017-09-02 06:40:11 (7.65 MB/s) - 'wordpress.tar.gz' saved [8652714/8652714]
Provisioning of test_wordpress completed. Access test.revdev.work and install WordPress!
mysqlのところでエラーになっていますが、primestrategy/kusanagi-nginxコンテナにmysqlがインストールされてないので当然です。ここは手動でMYSQLの設定をしておけばOKです。
test.revdev.workにアクセスするとしっかりとWordPressの設定画面が表示されたので、HTTPサイトであれば利用可能かもしれません。(SSLはオレオレ証明書になってます)
ただし、複数サイトを登録すると502エラーになりました。
kusanagi status
sh-4.2# kusanagi status
Profile: hogehoge.com
KUSANAGI Version 7.8.2
*** nginx ***
Failed to get D-Bus connection: Operation not permitted
*** Apache2 ***
Failed to get D-Bus connection: Operation not permitted
*** HHVM ***
Failed to get D-Bus connection: Operation not permitted
*** php-fpm ***
Failed to get D-Bus connection: Operation not permitted
*** php7-fpm ***
Failed to get D-Bus connection: Operation not permitted
*** Cache Status ***
fcache on
取れるところは取れてます。
kusanagi target
sh-4.2# kusanagi target
hogehoge.com
設定ができてるっぽいです。
kusanagi warm-up
kusanagi warm-up
...
HHVMじゃなくてPHP7を使っているので何も起こりません。
kusanagi update plugin
kusanagi update plugin
/usr/lib/kusanagi/lib/functions.sh: line 128: /usr/bin/php: No such file or directory
/usr/lib/kusanagi/lib/functions.sh: line 128: /usr/bin/php: No such file or directory
本来なら「Done.」と出るようですが、PHPが別コンテナなので、PHPを呼び出せてません。
kusanagi nginx
kusanagi nginx
use nginx
Failed to get D-Bus connection: Operation not permitted
使えません。どのみちnginx使ってるんで意味ないですね。
kusanagi httpd
kusanagi httpd
use httpd
Failed to get D-Bus connection: Operation not permitted
使えません。
kusanagi restart
kusanagi restart
...
何も起こりません。使えないっぽいですね。
kusanagi bcache
kusanagi bcache on
Turning on
...
//固まる
kusanagi bcache on
Turning off
...
//固まる
kusanagi bcache clear
Clearing cache
/usr/lib/kusanagi/lib/functions.sh: line 448: php: command not found
全般的にダメでした。docker-compose.ymlでオフになっている場合は使えないのかもしれません。
kusanagi fcache
kusanagi fcache off
Turning off
kusanagi fcache on
Turning on
kusanagi fcache clear
Clearing cache
全般的に使えました。キャッシュもしっかりとクリアされています。
docker-compose.ymlでFCACHEをONにしていたからだと思われます。
kusanagi configure
innodb_buffer_pool_size = 128M
query_cache_size = 64M
sed: can't read /etc/my.cnf.d/server.cnf: No such file or directory
sed: can't read /etc/my.cnf.d/server.cnf: No such file or directory
Failed to get D-Bus connection: Operation not permitted
外部コンテナを使っている部分が取ってこれないようです。
kusanagi setting –fqdn
kusanagi setting --fqdn test.revdev.work test2.revdev.work
/usr/lib/kusanagi/lib/setting.sh: line 38: sudo: command not found
sed: can't read /etc/nginx/conf.d/test2.revdev.work_http.conf: No such file or directory
sed: can't read /etc/nginx/conf.d/test2.revdev.work_ssl.conf: No such file or directory
sed: can't read /etc/httpd/conf.d/test2.revdev.work_http.conf: No such file or directory
sed: can't read /etc/httpd/conf.d/test2.revdev.work_ssl.conf: No such file or directory
cat: /etc/httpd/conf.d/test2.revdev.work_ssl.conf: No such file or directory
cat: /etc/httpd/conf.d/test2.revdev.work_ssl.conf: No such file or directory
=== WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN ===
Your certificate config in /etc/[nginx|httpd]/conf.d/test2.revdev.work_ssl.conf was not changed.
Please change certificate config you need.
=== WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN ===
sed: cannot rename /etc/sed9fz9Tf: Device or resource busy
使えませんでした。docker-compose.ymlで指定するのが良さそうです。
kusanagi https redirect
kusanagi https redirect
kusanagi https redirect
Set redirect all traffic on kusanagi.example.jp to HTTPS.(Permanently)
/usr/lib/kusanagi/lib/https_redir.sh: line 26: sudo: command not found
最後のhttps_redir.shはこけてますが、一応WordPress内URLはHTTPSになっていました。ただ、オレオレSSLなので、ブラウザでエラーになります。
kusanagi autorenewal on
kusanagi autorenewal on
Enabling auto renewal certificate
cat: /var/spool/cron/root: No such file or directory
/usr/lib/kusanagi/lib/autorenewal.sh: line 9: /var/spool/cron/root: No such file or directory
使えません。公式ページの記載の通りですね。
主なコマンドを見てきました。概ね使えないと思った方が良さそうですね。
ただし、bcacheコマンドなどは、キャッシュクリアをしたい時に使うことになるので、覚えておくのは良いでしょう。