WordPress:SSHでWordPressを更新する


Pocket

WordPress3.1.1/CentOSです。

WordPressで画面からプラグインのインストールを行うのにFTPとFTPS接続が使えるのですが、サーバの都合でSSHが使いたかったので、その設定メモ。

phpからssh2が使えれば、wordpressの設定画面にSSHが使えるようになるらしい。
そのためにpeclでssh2をインストールする。

pecl install ssh2

エラーが出た。
Failed to download pecl/ssh2 within preferred state “stable”, latest release is version 0.11.3, stability “beta”, use “channel://pecl.php.net/ssh2-0.11.3” to install
install failed

言われる通りにchannnelを指定してもエラーになるのでwgetで取ってくる。

wget http://pecl.php.net/get/ssh2-0.11.3.tgz
pecl install ssh2-0.11.3

またもエラー
checking for ssh2 files in default path… not found
configure: error: The required libssh2 library was not found. You can obtain that package from http://sourceforge.net/projects/libssh2/
ERROR: `/var/tmp/ssh2/configure –with-ssh2′ failed

libssh2を入れる。
yum install libssh2 libssh2-devel

もう一度pecl install。これでやっとインストールされた。
pecl install ssh2-0.11.3

Build process completed successfully
Installing ‘/usr/lib64/php/modules/ssh2.so’
install ok: channel://pecl.php.net/ssh2-0.11.3
configuration option “php_ini” is not set to php.ini location
You should add “extension=ssh2.so” to php.ini

ライブラリを読み込むようにする
echo “extension=ssh2.so” > /etc/php.d/ssh2.ini
/etc/init.d/httpd restart

SSHのキーを作成する。このキーはWEBからアクセスできないところに置く。
cd /var/www/
mkdir wp-ssh-key
ssh-keygen -b 2048 -t rsa -f wp-ssh-key/id_rsa # パスフレーズは入れても入れなくても良い
chown -R apache.apache wp-ssh-key/ # apacheからアクセスできるように

authorized_keysに登録
cat wp-ssh-key/id_rsa.pub >> ~/.ssh/authorized_keys

WordPressの設定に追記。 wp-config.php

// SSH Settings
define('FS_METHOD', 'ssh2');
define('FTP_PUBKEY', '/var/www/wp-ssh-key/id_rsa.pub');
define('FTP_PRIKEY', '/var/www/wp-ssh-key/id_rsa');
define('FTP_USER', 'username');
//define('FTP_PASS', 'passphrase'); // パスフレーズを付けたときはここに書く
define('FTP_HOST', 'www.example.com:22');

コメントを残す

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