レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ

WP-CLI Advent Calendar』3日目担当の @tecking です。

一度使い出したら超絶便利、プラグインのアップデートなどサイトメンテの効率もぐっとアップする『WP-CLI』。少しでも多くの人に使ってもらえたらなあ……ということで、レンタルサーバにサクッと導入するためのスクリプトを作ってみました。SSH接続できるレンタルサーバを契約してる方、これを機会にぜひチャレンジしてみてくださいマセ。

ちなみにこのスクリプト、国内でも比較的ユーザーが多いと思われる『さくらのレンタルサーバ』『ヘテムル(heteml)』への導入を想定して作りました。当ブログの過去記事

で紹介した手順を改良しつつ作ったスクリプトです。

検証環境

導入の手順

スクリプトはGitHubで公開しています。

まずは『WP-CLI』のサイトに書かれている動作環境を満たしているか確認しましょう。

Requirements
UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment
PHP 5.3.25.3.29 or later
WordPress 3.5.23.7 or later

特にチェックが必要なのがPHPのバージョン。以前から上記のサーバを使っていたりするとバージョン設定が古いままだったりするので、これを機にきちんと新しいものにしておきましょうね。

    1. 契約しているサーバのホームディレクトリ(さくら:www とか MailBox ディレクトリのある階層 ヘテムル:apps とか web ディレクトリのある階層)に SSH でログイン
    2. 下記を実行して本スクリプトをダウンロード(警告が出ますがキニシナイ)
wget --no-check-certificate https://raw.githubusercontent.com/tecking/wp-cli.setup.sh/master/wp-cli.setup.sh
    1. 下記を実行して本スクリプトのパーミッションを変更
chmod +x wp-cli.setup.sh
    1. 下記のコマンドで本スクリプトを実行(警告が出ますがキニシナイ)
./wp-cli.setup.sh
    1. メッセージに沿って下記のいずれかを実行
source ~/.cshrc
source ~/.bash_profile

ご留意事項

  • 何度も動作確認はしていますが At Your Own Risk にてお使いください(「チャレンジしてみてくださいマセ」とか書いときながらヒドいね)
  • WP-CLI 本体(wp-cli.phar)は、スクリプト実行時につくられる ~/usr/local/bin にダウンロードされます
  • bash 用のタブ補完定義ファイル(wp-completion.bash)は ~/ にダウンロードされます
  • WP-CLI が導入できたら wp-cli.setup.sh は削除してもかまいません
  • 下記の環境なら、『さくらのレンタルサーバ』『ヘテムル』以外でもスクリプトが実行できそうです
    • sh が使える(which sh で確認 まあ、フツーは使えます)
    • wget が使える(which wget で確認) wget の有無を判別する条件分岐を追加しました
    • ログインシェルが csh または bash (デフォルトのログインシェル:さくらのレンタルサーバ=csh、ヘテムル=bash)
  • 一部、使えないコマンドがあります(現在確認済みのもの)
    • ヘテムル…… wp db optimize

[2018.1.7追記]

ヘテムルの新サーバ(コントロールパネルで usersXXX と表示されるサーバ)にて本スクリプトを実行後

source ~/.bash_profile

したところ

wp --info
/usr/bin/env: php: No such file or directory

というエラーが返ってきました。php へのパスが旧サーバ(コントロールパネルで ftpXXX と表示されるサーバ)と違うのが原因で、本スクリプトを実行後に新サーバ上で下記を実行したところうまくいきました。

PHP 7.1 で WP-CLI を実行させたい場合の例です。何らかの理由で 5.6 または 7.0 で実行させたいときは1行目の記述を適宜変えてください。

echo 'PATH=$PATH:/usr/local/php/7.1/bin' >> ~/.bash_profile
source ~/.bash_profile
wp --info
PHP binary:     /usr/local/php/7.1/bin/php
PHP version:    7.1.10
php.ini used:   /usr/local/php/7.1/etc/php.ini
WP-CLI root dir:        phar://wp-cli.phar
WP-CLI vendor dir:      phar://wp-cli.phar/vendor
WP_CLI phar path:       /home/users/foo/bar
WP-CLI packages dir: 
WP-CLI global config: 
WP-CLI project config: 
WP-CLI version: 1.4.1

関連記事


ではでは、ハッピーなWP-CLIライフを! 『WP-CLI Advent Calendar 2014』次の日直(12月4日)は @wokamoto さんです。

(photo by Martin Kenny CC BY-NC-SA

「レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ」への3件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.