先日cocoonの設定から投稿記事のメインカラム幅の変更をしました。
しかし、変更がうまく反映されなかったのでcocoonの公式サイトで調べていると、プラグインRegenerate Thumbnailsでサムネイルの再生成をした方がいいと言う事だったので、早速インストールして使おうとしました。
その時、Regenerate Thumbnailsの設定画面の下の方に興味深い説明書きを見つけてしまいました。
もしサイトのサーバーのコマンドラインにアクセスできるなら、このツールの代わりに WP-CLI の使用を検討してください。このツールと同等に動作する標準の再生成 (regenerate) コマンドがあり、コマンドラインツールのため非常に高速に動作します。
by Regenerate Thumbnails
サーバーのコマンドライン?WP-CLI?高速に動作?
これを読んで、私の試したがり、知りたがりの虫が騒ぎ出しました。
で、いろいろ調べていると。サーバーでコマンドを実行するには前提としてSSH接続が必要だということ、コマンド実行にはSSHソフトが必要だと言う事が分かりました。
プラグインより高速に処理できるなら、SSHの操作に挑戦してみよう。
と言う事で、今回はその時の備忘録です。
SSHとは
SSHとは、
Secure Shell(セキュア シェル、SSH)は、暗号や認証技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証を含むすべてのネットワーク上の通信が暗号化される。
by Wikipedia
わかりやすく言うと、使っているパソコンなどからネットワークを介して、主にサーバーにアクセスするための通信規格(プロトコル)です。
サーバーの接続は、公開鍵や秘密鍵などを駆使してより安全に行われるような仕組みになっています。
SSHの活用
SSHでできること
- サーバー上のファイル操作
- 設定ファイルなどのテキスト編集
- データのバックアップ、圧縮、一括ダウンロード
などですが、最大のメリットは、ネットワークを介してサーバー上のファイルを遠隔操作できることと、動作が早いと言う事。
FTPソフトでも同じような操作は可能ですが、SSHを使えば十分の一の速さで作業できるそうです。
※ただし、SSHを使いこなすには、UNIXやコマンド、利用するアプリケーションの知識も必要になりますので結構敷居が高いです。
wordpressにログインできないとか、大量のファイル操作が必要な時に覚えておく便利かも。
XserverにSSH接続する
SSHを利用するには、サーバーとの接続が必要です。
ここではXserverにSSH接続する方法を紹介します。
Xserverの設定
まずはXserver側の設定を行います。
Xserverのサーバーパネルにログインし、「SSH設定」をクリック
SSH設定画面が開いたら、SSHをONにし、設定するをクリック
設定したら、「公開鍵認証用ペアの作成」タブを選択し、パスフレーズをメモしておきます。
パスフレーズをメモしたら、確認画面へ進むをクリック、
次の画面で、生成するをクリックすると、認証用の秘密鍵のダウンロードが促されますので、パソコンの任意の場所に保存しておきます。
* ダウンロードされるファイルは、○○.keyの拡張子が付いています。
Tera Termで接続
SSH接続にはいろいろなソフトがありますが、Tera Termが一番わかりやすかったのでTera Termで説明します。
▼Tera Termのダウンロードはこちらから、
Tera Termをダウンロードしたらデスクトップのアイコンをクリックします。
はじめに「新しい接続」画面が表示されますので、TCP/IPのホストの欄にXserverのホスト名とTCPポート番号を入力します。
*Xserverのホスト名は、サーバーパネルのサーバー情報から確認できます。
次にTCPポート番号を「10022」と入力します。
入力したらOKをクリック、
するとSSH認証画面が出るので、
①ユーザー名にXserverで使っているサーバーパネルのIDを入力
②先ほどXserverのSSH設定でメモしておいたパスフレーズを入力
③認証方式にRSA/DSA/ECDSA/ED25519鍵を使うを選んで、秘密鍵の欄に先ほどダウンロードした、○○.keyファイルを指定しOKを押す。
無事接続できれば、
このような画面になります。
コマンドライブラリWP-CLI
今回は、wordpressのプラグインRegenerate Thumbnailsの代わりにSSHを利用するので、wordpress用のコマンドライブラリWP-CLIをインストールします。
WP-CLIのインストール
先ほどSSH接続したTera Termの画面で、
cd ドメイン/wordpressのインストールディレクトリ/
と入力し、wordpressをインストールしたディレクトリに移動します。
私の場合、
cd ksanhonsan.com/public_html/
です。
次に、curlコマンドでインターネット上で公開されているWP-CLIの実行ファイルをダウンロードします。
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
入力したらEnterキーを押して完了
ダウンロードできていれば、wordpressのインストールディレクトリにwp-cli.pharと言うファイルが追加されています。
WP-CLIは他にも便利なコマンドがたくさんありますので、興味のある方は下記を参照してください。
▼WP-CLIの使い方
wp media regenerate
WP-CLIをインストールしたら、プラグインRegenerate Thumbnailsの代わりになるコマンド、
wp media regenerate
を実行します。
Do you really want to regenerate all images? [y/n]
と聞かれますので、キーボードでyを押し、Enterを押してください。
すると画像ファイルの再生成が行われます。
サクサク動作して気持ちいい。
phpバージョンによっては動作しない
実は私が当初「regenerate」コマンドを実行しても、次のような警告が出てうまくいきませんでした。
Your server is running PHP version 5.4.16 but WordPress 6.1.1 requires at least 5.6.20.
どうやらXserverのSSH上のPHPバージョンがwordpressのバージョンとマッチしていないと言う事らしいです。
いろいろググっていると、
エックスサーバーのphpのバージョンは「サーバーパネル」(管理画面)で選択できるが、そこで選択したものはssh(コマンドライン)でサーバーにアクセスした環境には反映されない。
と言うことが分かり、XserverのSSH上のPHPバージョンを変更しなければならない様でした。
結果的にPHPバージョンを変更して「regenerate」は実行できたんですが、これが大変でした。
PHPバージョンの変更方法については長くなるので、後ほど別記事で紹介します。
まとめ
普段は、エンジニアでもない限りさほど利用する機会のないSSHですが、サーバーにアクセスしファイル操作する手段の一つとして、覚えておいても損はないかと思います。
SSH接続して使えるコマンドは無数にあります。中でもWP-CLIをインストールしておけばwordpress利用者にはいずれ役に立つ場面も出てくるのではないでしょうか?
ただし、利用はあくまでも自己責任でお願いします。
今回はwordpressのプラグインの代わりに利用できる、SSHについてお話ししました。
この記事がどなたかのお役に立てればうれしいです。
今回は以上です。
それでは
コメント