WordPressをssh2で更新する設定メモ

標準

WordPressのアップデート機能でftpではなくsshによる更新が可能なことを知ったのでメモ

なんでsshなのかというとftpサーバを立てたくないから。

icoro : WordPress on CentOS – SSHで自動アップデートするには
http://www.icoro.com/201001204678.html

基本的には上記記事を参考にすればOK

pecl拡張のssh2を入れる必要があるため、それに依存するパッケージの導入
(CentOSベースです

yum -y install openssl-devel php-devel

libssh2をダウンロード。執筆時点での最新版は1.2.8

http://www.libssh2.org/

wget http://www.libssh2.org/download/libssh2-1.2.8.tar.gz
tar xzf libssh2-1.2.8.tar.gz
cd libssh2-1.2.8/
./configure
make
sudo make install

peclコマンドでssh2をインストール

sudo pecl install -f ssh2

設定ファイルを書いてssh2拡張を有効化

sudo echo "extension=ssh2.so" > /etc/php.d/ssh2.ini
sudo /etc/init.d/httpd restart

httpdから参照可能な位置に、sshの鍵を入れておくためのディレクトリを作成

webで公開される場所は避ける。

CentOSベースなら /var/www 配下でいいんじゃないかな。

サーバによって状況は違うだろうからその辺りは適切に。

mkdir wp-ssh/

パスフレーズなしで鍵を作成。

ssh-keygen -b 2048 -t rsa -N '' -f wp-ssh/id_rsa

apacheから参照可能なようにパーミッション変更

chmod 0644 wp-ssh/id_rsa*

authorized_keysに登録

cat wp-ssh/id_rsa.pub >> ~/.ssh/authorized_keys

wp-configに鍵の情報を追記する

wp-config.php
http://wpdocs.sourceforge.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86#FTP.2FSSH_Constants

↑の情報は若干間違っているので注意。
sshによる更新の場合のFS_METHODの指定値は”ssh”ではなく”ssh2″

// SSH Settings
define('FS_METHOD', 'ssh2');
define('FTP_PUBKEY', '/path_to/wp-ssh/id_rsa.pub');
define('FTP_PRIKEY', '/path_to/wp-ssh/id_rsa');
define('FTP_USER', 'username');
#define('FTP_PASS', 'passphrase'); // パスフレーズをつけて鍵をつくったならここに書く
define('FTP_HOST', 'example.com:22');

3 Comments

  1. Pingback: [WP] WordPressをssh2 | MemLog

  2. Pingback: wordpress をssh2で自動更新する設定のメモ | HAL

  3. Pingback: WordPress更新をSSH2で | 定規とコンパス

コメントを残す

Page optimized by WP Minify WordPress Plugin