淡路島に移住して田舎暮らし ✕ ICTでゆるゆるスローライフ

元システム管理者の備忘録

*

【WordPress】更新・プラグイン・テーマなどのインストールをSSHで行うための設定

      2014/11/07


Photo:WordPress Pencil and Pins-07 By:thisismyurl

ローカルでのテスト環境ならftpでもいいのですが、公開しているものに関してはできたらftpより、より安全に通信できるsftpやftpsを使用したいですよね〜。

ってことで、WordPressのファイル転送をSSHで行う為に設定したメモです。
※使用のサーバ環境によってインストールが必要なものが違ってきますのでご了承下さい。

ちなみに、ざっくり説明してしまえばftpsはSSLを、sftpはSSH使用して暗号化しています。

ftps : File Transfer Protocol over SSL/TLS

sftp : SSH File Transfer Protocol

Photo:WordPress Pencil and Pins-07 By thisismyurl

サーバーのSSHを設定変更する

では早速。
■僕の環境では下記の通りインストールすればOKでした。
(リポジトリにremi・epel追加・設定済み)

#yum install libssh2
#yum install libssh2-devel
#pecl install -f ssh2

■/etc/php.iniに下記を記述

extension = ssh2.so

■apache再起動

#/etc/init.d/httpd restart

 

うまく設定できていると、WordPressの接続情報が↓の様になってるかと思います。

 

あとは各環境のパスなり鍵情報なりを入力すればOKですね。

Codexの通り、下記をconfig.phpに記述してるとわざわざ鍵の場所とか入力してなくてもすんなりとインストールしてくれます。
wp-configの編集:FTP・SSH定数

/* SSHでファイル転送 */
define('FS_METHOD', 'ssh2');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_PASS', 'password'); // パスフレーズをつけて鍵を作成した場合、パスワードを記述する
define('FTP_HOST', 'ftp.example.org:21');

※FS_METHODのところはftpではなく「ssh2」と記述してください。
本当は書いたほうがいいんでしょうけど、FTP_BASEとかは書かなくても動きました。

さらに、Codexにはパスフレーズで保護した場合に動かないかもよ、と書かれていましたがどうやら僕の環境下では動いているようです。

あ、あと公開鍵を「authorized_keys」としてたり、鍵の生成方法によっては「id_rsa」ではなく「id_dsa」となってる場合もありますので、まんまコピペではなく、環境を確認してくださいね。

また、鍵をhome置いとくのは。。。という場合は、きちんと設置位置までパスを記述してあげればだいじょぶみたいです。

上記はほんの一例です。
冒頭にも書いたとおり、サーバーの環境下によって必要なパッケージが異なってきますのでご注意を。
(他を調べてみたところ、openssh-develやphp-develをインストールしなきゃうんたらかんたら)

 - WordPress

ad1

スポンサーリンク

ad1

スポンサーリンク

  関連記事

MarsEditでDescriotionを設定しようとしたらハマった話

  絶賛大活躍中のMarsEditにてDescriptionも一緒に投 …

サーバが落ちた原因はWordPressに対する不正ログイン。

  ブログのアクセス数が急に減った。その原因は・・・サーバーが落ちてた …

2011122-1
WordPress導入後、最初に行った設定(テーマ:twenty eleven)

さて、さっそく忘れないうちにアウトプットを。 いれたてほやほやのWordPres …