いちいちWordPressにログインして更新確認をするのが面倒なので自動化したくなったから試した。
概要
- wp-cliを用いてWordPressの更新を行う
- wp-cliをCentOS7の上に導入する。
- Core及びPluginの自動更新の足がかりをつける。
wp-cli とは?
wp-cli はThe command line interface for WordPress より名付けられた。そのため公式 では
WP-CLI は WordPress を管理するためのコマンドラインインターフェースです。 プラグインのアップデートやマルチサイトのセットアップなどの多くのことをブラウザ無しで行うことができます。
と説明されている。
実施環境
CentOS7上にsystemd-nspawnコンテナとして構築されたWordPressが動作しているコンテナに導入する。
このコンテナはCentOS7のLAMP環境である。
本来ならばホストよりmachinectlからログインできるようにしているべきではあるがptyが接続できるようにはまだ設定できていないため一度コンテナを停止させる。
導入手順
コンテナの停止と対象コンテナへの移動
- 対象のコンテナを確認する。
$ sudo systemctl status systemd-nspawn@blog1
ここで対象コンテナであると確認できたら停止させる。
- 停止させる
$ sudo systemctl stop systemd-nspawn@blog1
- コンテナを立ち上げログインする
$ sudo systemd-nspawn –boot –network-bridge=br0 –directory=/var/lib/machines/blog1
これ以降は対象コンテナのrootとして作業する。
一時的な作業ディレクトリとして適当にmkdirする。
# mkdir wpcli
# cd wpcli
WordPressを運用できる環境が整っているとするためPHP等のインストール手順は省略する。
4.公式よりダウンロードを行う。
# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
5.正常にダウンロードできたかを確認する。
#wp-cli .phar –info
OS: Linux 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php
PHP version: 7.1.16
php.ini used: /etc/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /root
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.5.0
rootで作業しているため一部正しく表示されていないが動作しているため良しとする。
- wp-cli .pharを/optへコピーし実行権限を与える
また、シンボリックを張る
# mkdir /opt/wp-cli
# cp wp-cli.phar /opt/wp-cli/
# chmod 755 /opt/wp-cli/wpcli.phar
# ln -s /opt/wpcli/wp-cli.phar /usr/bin/wpcli
これまでの手順で導入は完了である。
WordPressの更新
- clitoolのアップデートを行う
# wpcli cli update
たまに更新される時があるそうなので一応やっておく。
- WordPress Coreのアップデートを行う
# sudo -u apache wpcli –path=‘WordPressのroot’ core update
Core がWordPress本体のバージョンである。
- プラグインのアップデートを行う
# sudo -u apache wpcli –path=‘WordPressのroot’ plugin update –all
このコマンドですべてのプラグインの更新がなされる。
–all の部分で全体を指定しているため、変更すれば自動更新は一部のプラグインのみにするなど動作を変更できる。
- テーマのアップデートを行う
# sudo -u apache wpcli –path=‘WordPressのroot’ theme update –all
プラグインと同様に更新される。
まとめ
これまでの手順でCLIよりWordPressの更新を行うことができるようになった。
これにより自動化の足がかりができたのでsystemdを活用して設定を行っていきたい。