さくらのレンタルサーバにoh-my-zshを入れたらWordPressのWP-CLIの補完が効いてすごく便利だった


はじめに

WordPressを動かすためのサーバは色々とありますが、さくらインターネットのサーバが特に気に入っています

さくらインターネットのウェブホスティング、「さくらのレンタル」ではSSH接続が使えます。
http://www.sakura.ne.jp/

ここでWP-CLIを使っているのですが、合わせてoh-my-zshを導入したところ凄く便利だったのでメモです。

何が便利になるの?

  • wpコマンドの次には何を入れることが出来たっけ
  • ユーザを追加するときのコマンドってwp create userだっけ、wp user createだっけ
  • メールアドレスのオプション名って具体的に何だっけ

というときに補完が効くのでググる時間が短縮できます。
使ってて楽しいです

SSH接続

さくらのレンタルサーバではデフォルトでssh接続が可能です。
FTPなどと接続情報は同じです。

情報名 内容
ユーザ名 (サブドメインの箇所)
接続先 *****.sakura.ne.jp といったような、契約時に発行されるドメインです。
パスワード 初期にメールで来ていると思います。

例えば example という名前でアカウントを作成していれば、次のようにして接続します。 

SSH について | さくらのサポート情報

接続はMacであればTermina.appやiTerm2、WindowsであればputtyやPoderosa、秀termで接続します。

oh-my-zshの導入

さくらのレンタルでのログインシェルはデフォルトではcshです。
oh-my-zshを導入してログインシェルを変更します。
oh-my-zsh公式の方法では$の解釈がうまく出来名かったのでパイプを利用しました。

% curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

インストールの途中でデフォルトシェルの変更のためにパスワードを聞かれます。ssh接続時のパスワードを入力しましょう。

ここで入力を間違えた場合には以下のように手動で変更します。

% chsh -s /usr/local/bin/zsh

プラグインの読み込み

zshの設定ファイルを変更します。
pluginsという箇所にwp-cliを追記します。

~/.zshrc
...
plugins=(git wp-cli)
...

追記完了したらsourceコマンドで設定を読み直します。

$ source ~/.zshrc

WP-CLIのインストール

WP-CLIを配置するディレクトリを作り、ダウンロードし、実行権限を付けます。

$ mkdir ~/bin/
$ cd ~/bin/
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ mv wp-cli.phar wp
$ chmod +x wp

$ wp # ヘルプが表示さればOKです

あとはWordPressのインストールディレクトリに移動してWP-CLIを満喫します。

補完

タブキーで補完が効きます。
二回押すと候補を辿ることができて、エンターキーで確定させることができます。

オプションについてはハイフンを一つ入れてタブキーを押すと候補を出してくれます。

補足

プラン

注意点としてプランはスタンダード以上でないとダメとのことです。

SSHはスタンダードプラン以上のプランでご利用可能です。
https://help.sakura.ad.jp/app/answers/detail/a_id/2263/~/ssh-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

503エラーが出てしまうので注意

さくらのレンタルでは同時アクセス数に制限を掛けているようです。
WordPressなどのPHPであればCGIとして動作しており、各契約者のユーザで動作しています。
このCGIのプロセス数に制限があるようで、その制限を超えたアクセスは503として弾かれてしまうようです。
メールで問い合わせたところ下記のような返答をもらいました。

本サービスでは多くのアクセスにも耐え得るよう、サーバ環境を設計、構築しておりますが、1ユーザがサーバリソース(CPU、メモリ、ネットワーク帯域等)を独占することの無いよう、いくつかの項目について予め制限を設けております。

SSH接続は負荷としては軽いですが、制限があるのは当然ですね。

SSHでログインするとそれだけでプロセスが立ってしまうので、並列でいくつもログインしたりピーク時にログインしっぱなしにしていると503が頻発する恐れがあります。
というか503が出まくりました
注意してください。

WP-CLIについて

WP-CLIの使い方について、忘れそうな事柄を備忘録として纏めていっています。
http://qiita.com/yousan/items/c925f0a241be02a55292#wp-cli

メールチェックか何かで怒られる

zshに変更するとpermission deniedで怒られる事があります。

$ cd
zsh: permission denied: /var/mail/eleon

次のようにするとチェックしなくなるので怒られなくなります。

$ echo 'export MAILCHECK=0' >> ~/.zshrc; source ~/.zshrc

さくらの共有サーバーでシェルを zsh に変更してから、zsh: permission denied: /var/mail/youraccount と怒られないようにするAdd
http://d.hatena.ne.jp/littlebuddha/20090216/1234785251

oh-my-zshのアップデートについて

ログインすると「アップデートしますか?(Y/n)」と聞かれる事があります。
アップデートをしておけばWP-CLIの補完も強力になるのでエンターキーで行っています。

oh-my-zshのアンインストールについて

$ rm -rf ~/.oh-my-zsh

他のサーバ

SSHがログイン可能なサーバであれば同様のことは可能だと思われます。
例えばエックスサーバーを仕事で使うことがあったりしますが色々と各社使ってみるのは楽しいですね。
でも試すだけで課金するのは辛いです。