WordPress の自動更新を SFTP で行う (on Ubuntu Server 10.04)
Ubuntu Server 10.04 で,Apache2 と PHP5 と MySQL5 がインストールされていて WordPress が使えるようになっている環境を例にして説明します.試した動作環境はさくら VPS です.
WordPress にはアップデートを自動でやってくれる機能があるのですが,これがデフォルトでは FTP を使おうとします.これを SFTP を使用するように変更するための設定メモです.*1
(余談) 書いてる私自身は WordPress では無くはてなダイアリー派なのですがw,友人の WordPress を管理しているのでこういう記事も書くわけですw 元となる記事はコチラです.丸コピですが書いてるの同一人物ですのでw
基本的にコチラ WordPress SFTP « Candied Brains! を参考に.
まず以下を実行.
% sudo aptitude install libssh2-1-dev php-pear
その後指示通りに以下を実行します.
% sudo pecl install -f ssh2
すると,phpize が無いよーと言ってエラーが出ます.
WARNING: failed to download pecl.php.net/ssh2 within preferred state "stable", will instead download version 0.11.2, stability "beta" downloading ssh2-0.11.2.tgz ... Starting to download ssh2-0.11.2.tgz (22,740 bytes) ........done: 22,740 bytes 5 source files, building running: phpize sh: phpize: not found ERROR: `phpize' failed
で "ubuntu phpize" でググったら UbuntuでPDOを使うときには、php5-devパッケージが必要。 - SumiTomohikoの日記
しかし、上の通り、phpizeがないというエラーになります。さて、phpizeというファイルはどのパッケージに含まれるのでしょうか? 不勉強なもので私はその方法を知りません。なのでGoogleに問い合わせたところ、php5-devをインストールする、という情報を得ることができました。
とのことなので,以下を実行.
% sudo aptitude install php5-dev
そしてその後もう一度 pecl コマンドを実行します.
% sudo pecl install -f ssh2
今度は上手く進みます.途中で
libssh2 prefix? [autodetect] :
と聞かれますがそのまま Enter (autodetect) で OK.後は指示通り
/etc/php5/apache2/php.ini
を編集します.“Dynamic Extensions” セクションを探してそこの最後にでも
extension=ssh2.so
を追加して,後は Apache 再起動.
% sudo service apache2 restart
これで WordPress の自動更新機能のページに "FTP", "FTP (SSL)" という選択肢の他に "SSH2" が追加されているはずなので,それを選択してパスワード,もしくは公開鍵と秘密鍵 (設定しているならば) を入力すれば OK.
*1:Ubuntu Server 10.04 とこれ以降 (11.04 までを確認) では FTP はデフォルトで使えないようになっています (もしかしたらこれより前のものでもそうなのかも知れませんが).というのも FTP は危険だからでしょう.通信を暗号化をしないので.詳しくは FTPの危険性とSFTP/FTPSのススメ などを参照下さい.