さて、前々回はさくらのレンタルサーバーにSSHログインできることを確認しました。前回はさくらのレンタルサーバーにMySQLのデータベースを作成しました。これで、さくらのレンタルサーバーに wp-cli をインストールする準備ができました。今回は、さくらのレンタルサーバーに wp-cli をインストールする手順をご紹介します。
wp-cliとは
wp-cliは、WordPressのインストールを管理するコマンドラインツールです。wp-cliはWEBブラウザを使用せずにWordPressをインストールしたり、プラグインやテーマをインストールしたりすることができます。もちろん、何かをインストールするだけでなく、複数インストールしたテーマから任意のテーマを有効化/無効化したりするなど、WordPressインストール後の運用にも重宝します。
wp-cliをダウンロードしよう
まずはさくらのレンタルサーバーにwp-cliをダウンロードするために、SSHクライアントからさくらのレンタルサーバーへログインしましょう。ログイン後はこのような状態になっているかと思います。
Last login: Sat Feb 13 22:04:02 2016 from xxx.xxx.ne.jp FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb 5 10:03:29 JST 2015 Welcome to FreeBSD! %
ホームディレクトリの中身を確認しよう
ログインした直後のディレクトリを「ホームディレクトリ」といいます。ホームディレクトリの中にどのようなファイルやディレクトリがあるかを「ls」コマンドで見てみましょう。
ホームディレクトリとは
ホームディレクトリ(home directory)はマルチユーザシステムのコンピュータにおけるディレクトリの種類のひとつ。通常、ユーザがログインした際のカレントワーキングディレクトリである。ホームディレクトリが存在しない場合、ユーザはログインすることができない。
– 引用: Wilipediaより
% ls MailBox db ports sakura_pocket sblo_files wwwlsコマンドを実行すると、カレントディレクトリにあるファイルやディレクトリを表示します。しかし、これだけでは表示された文字列がファイルなのかディレクトリなのか判別がつきません。
カレントディレクトリとは
カレントディレクトリ(英語: current directory、現行ディレクトリ)とは、コンピューティングの分野で、階層型ファイルシステムを使用している場合に、そのプロセスが現在関連付けられている(現在の位置である)ディレクトリのことである。Windowsでは作業フォルダとも呼ばれることがある。また、ワーキングディレクトリとも。
– 引用: Wikipediaより
次に示す例のように、lsコマンドに「-la」オプションをつけて実行してみましょう。
% ls -l total 24 drwx------ 3 example users 512 Mar 13 2009 MailBox drwx------ 2 example users 512 Mar 13 2009 db drwx------ 12 example users 512 Feb 6 10:37 ports drwxr-xr-x 2 example users 512 Jan 27 2015 sakura_pocket drwxr-xr-x 2 example users 512 Mar 13 2009 sblo_files drwx---r-x 2 example users 512 Feb 13 21:58 www
何やらいっぱい文字が出てきました。lsコマンドの詳細な解説はこちらのサイト (外部リンク: UNIXの部屋 コマンド検索:ls (*BSD/Linux))をご覧いただきたいのですが、「ls -l」コマンド実行後に表示された結果の一番左側に「d」と表示されていれば、それはディレクトリであることを示しています。さくらのレンタルサーバーのホームディレクトリについて、そしてここまで解説しましたlsコマンドについてまとめると、
- ホームディレクトリには1つもファイルがない (正確には隠しファイルがありますが、本筋ではないので省略します)
- 複数のディレクトリが最初から作られている (それぞれのディレクトリが持つ役割については追って解説します)
- lsコマンドを使うことで、カレントディレクトリにあるファイルやディレクトリの一覧を表示することができる
- lsコマンドに -l オプションをつけて実行することで、ファイルやディレクトリが長いリスト形式で表示される
ということがおわかりいただけたかと思います。
ホームディレクトリに「bin」ディレクトリを作成しよう
ホームディレクトリ直下に「bin」ディレクトリを作成して、ここにwp-cliをダウンロードすることにします。なぜこのようなことをするか、といいますと
- ホームディレクトリ直下に無闇にファイルを置くと整理しにくい
- ホームディレクトリ (例: /home/example) 直下に bin ディレクトリ (/home/example/bin) を作っておくと、すでにここにPATH(パス)が通っているので、プログラムに実行権をつけておけばプログラム名をフルパスで実行しなくてよくなる
というメリットがあります。
パスとは
パスとは、外部記憶装置内でファイルやフォルダの所在を示す文字列。ファイルやフォルダのコンピュータ内での住所にあたる。
– 引用: IT用語辞典より
これだけではイメージが掴みにくいかと思いますが、パスを通す(binディレクトリにはすでにパスが通っている)と何が嬉しいかというと、プログラムを実行するのに短い文字数で実行できるというメリットがあります。wp-cliを /home/example/bin/wp としてインストールした場合、パスが通っていないときの実行例はこうなります。
% /home/example/bin/wp
しかし、パスが通っていればこれだけで済みます。
% wp
というわけで、前置きが長くなってしまいましたが、ホームディレクトリ直下に bin ディレクトリを作成して、この中に wp-cli をインストールすることにします。まず、カレントディレクトリのディレクトリ名を確認してみましょう。今どのディレクトリにいるのかは、「pwd」コマンドで確認することができます。
% pwd /home/example
それでは、早速カレントディレクトリ直下に「mkdir」コマンドでbinディレクトリを作成してみましょう。
% mkdir -p bin
binディレクトリができたかどうか、lsコマンドで確認してみます。
% ls MailBox bin db ports sakura_pocket sblo_files www
または
% ls -l total 28 drwx------ 3 example users 512 Mar 13 2009 MailBox drwxr-xr-x 2 example users 512 Feb 13 23:18 bin drwx------ 2 example users 512 Mar 13 2009 db drwx------ 12 example users 512 Feb 6 10:37 ports drwxr-xr-x 2 example users 512 Jan 27 2015 sakura_pocket drwxr-xr-x 2 example users 512 Mar 13 2009 sblo_files drwx---r-x 2 example users 512 Feb 13 21:58 www
で確認できます。ご覧のように、binディレクトリができたことがわかるかと思います。それでは、binディレクトリに移動してみましょう。
% cd bin % pwd /home/example/bin
上記のように、binディレクトリへ移動することができました。それではここに、wp-cliをインストールしましょう。
wp-cli ダウンロード
WEBブラウザでファイルをダウンロードするように、コマンドライン用にもブラウザがあり、ファイルをダウンロードしたりすることができます。UNIXやLinuxのコマンドライン用ブラウザはいくつか種類がありますが、今回は「curl」コマンドを使ってダウンロードすることにします。それでは早速ダウンロードしてみましょう。
% curl -o wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1434k 100 1434k 0 0 761k 0 0:00:01 0:00:01 --:--:-- 768k
ダウンロードできたかどうか、lsコマンドで確認してみましょう。
% ls wp
% ls -l total 1472 -rw-r--r-- 1 example users 1469311 Feb 13 23:38 wp
上記のように、カレントディレクトリに「wp」というファイルがダウンロードされました。しかし、これだけではファイルに実行権が付与されていません。ファイルをプログラムとして実行するために、ファイル wp に対して実行権を付与しましょう。
% chmod +x wp
実行権が付与されたことをlsコマンドで確認します。
% ls -l total 1472 -rwxr-xr-x 1 example users 1469311 Feb 13 23:38 wp
アクセス権(パーミッション)とは
アクセス権とは、ファイルやディレクトリに対して行う操作の権限で、読み込み権、書き込み権、実行権の3つがあります。
読み込み権は、ファイルの場合は、そのファイルやディレクトリの内容を参照する権限です。例えば、catコマンドを実行して、読み込み権がないファイルの内容を表示したり、lsコマンドを実行して、読み込み権のないディレクトリの内容を表示することはできません。
書き込み権は、ファイルを更新したり、ディレクトリ内にファイルを追加したりといったことを行う権限です。
実行権は、シェルスクリプトや実行可能形式のファイルを実行したりする権限です
– 引用: Codezine UNIXコマンド辞典「chmod」より
wpコマンドの動作確認
wpコマンドに実行権がついたところで、動作するかどうかを確認してみましょう。以下のように、wpコマンドのバージョン情報が表示されていれば、wpコマンドのインストールが正常に終了したことになります。
% wp cli version WP-CLI 0.22.0
ホームディレクトリに移動する
binディレクトリでの作業が終わったので、ホームディレクトリに移動することにします。cdコマンドの引数にディレクトリ名をつけて実行することで移動できるのは、先ほど確認しました。ホームディレクトリへ戻るには、「cd /home/example 」と毎回実行しなければならないのでしょうか?実はそんなことありません。以下の2例を見てみましょう。
% pwd /home/example/bin % cd /home/example/ % pwd /home/example
% pwd /home/example/bin % cd % pwd /home/example
2例目のように、cdコマンドに引数をつけず実行すると、ホームディレクトリへ戻ることができます。もう1つ覚えておきたいのが、「cd -」です。これで直前にいたディレクトリへ移動することができます。
% pwd /home/example % cd - % pwd /home/example/bin % cd - % pwd /home/example % cd - % pwd /home/example/bin
ここまでのまとめ
少し長くなりましたので、今回はここまでにして、今回はwp-cliのインストールまでで1つの区切りとし、次回はwp-cli (wpコマンド)を使ったWordPressのインストールを行うことにします。今回やったことは以下になります。
- mkdirコマンドでホームディレクトリ直下に bin ディレクトリを作成した
- cdコマンドで bin ディレクトリに移動した
- curlコマンドで wp-cli を wp ファイルとしてダウンロードした
- ダウンロードした wp ファイルに、 chmod コマンドで実行権を付与した
- ファイルやディレクトリの有無やパーミッションは ls コマンドで確認することができるファイルやディレクトリの有無やパーミッションは ls コマンドで確認することができる
UNIXシェルスクリプトコマンドブック 第3版 (コマンドブックシリーズ)