定規とコンパス

『「PHP の SSH2 拡張機能が使用できません」とか出てくる。むかつく。』

WordPress更新をSSH2で

プラグインを更新しようと思ったらFTP情報をよこせって行ってくる。
FTP立てたくないからSFTPにしようと思ったけどSFTPに対応してへんやんけ。
ぐぐったら色々出てきたので、みんなの真似して対応させてみた。

このブログのプラグインを更新しようと思ったら、FTP情報を聞かれた。
大体FTPなんて使ってないし、SFTPは使えへんのかいって思って色々調べることに。

見てるとなんだかできそうなので、まずは公開秘密鍵を作ろうってなことで作る。


$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): wp_id_rsa #ファイル名変えたければ入力
Enter passphrase (empty for no passphrase): #パスフレーズ入力
Enter same passphrase again: #もっかい同じパスフレーズ入力

ちなみに僕はwp_id_rsaってのを作ってみた。その公開鍵をauthorized_keysに登録。

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

今の僕の環境上www配下の方が便利なのでwww配下にwpsshってディレクトリを作ってそこに移動させた。

cd /var/www/
mkdir wpssh
mv ~/.sshd/wp_id_rsa* wpssh/

sshの実行ユーザーはapacheなのでwp_id_rsa達の権限周りもapacheが使えるように変更が必要。

あとはwp-configに下記を追加したらいけるっぽいから追加。

define('FS_METHOD', 'ssh2');
define('FTP_USER', アカウント名);
define('FTP_HOST', ドメイン:ポート または IP:ポート);//ポートが22の時は略
define('FTP_PASS', パスフレーズ);
define('FTP_PUBKEY', '/var/www/wpssh/wp_id_rsa'); //id_rsaまでの
define('FTP_PRIKEY', '/var/www/wpssh/wp_id_rsa.pub'); //id_rsa.pubまでのパス

よしプラグイン更新してみよう!って思ったら「PHP の SSH2 拡張機能が使用できません」とか出てくる。むかつく。

PHPからssh2使えない。epelリポジトリにphp-pecl-ssh2ってのあるらしいんでyumでいれる

rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum --enablerepo=epel install php-pecl-ssh2

使えるようになったから嬉しい。ついでに本体もアップグレードしておいた。

でもなんかプラグインあるらしいけどね。入れたら自分でやらなくても出来るっぽいよ。ちゃんと調べてないけど。

参考サイト 

WordPressをssh2で更新する設定メモ | php-tips.com
WordPressでFTP接続情報が表示、SSH転送で回避
ふじこのプログラミング奮闘記


同じカテゴリーの記事