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');