CentOS on Slicehostシリーズでは、基本的な設定をするところまでやりましたが、WordPress on CentOSでは、WordPressを動作させるために必要な環境を整えていきます。
先回までで一通り設定が完了しましたが、今回は自動アップデートをSSHで行う方法をまとめておきたいと思います。
ここでは、調べて分かった事を書いているだけで、実際にはやっていません。なので、書いてあるとおりにやっても動作しなかったりするかもしれませんが、その点、ご了承下さい。なにせ、yumでインストール出来ないものはいじらない主義なもので。。
PECL::ssh2を利用出来るようにする
WordPressでSSHを利用するにはPECL::ssh2が必要で、PECL::ssh2をインストールするにはphp-develとlibssh2が必要で、libssh2をインストールするにはopenssl-develが必要です。というわけで、これらをインストールしていきます。
まずはopenssl-develとphp-devel。
yum -y install openssl-devel php-devel
お次はlibss2。
wget http://www.libssh2.org/download/libssh2-1.1.tar.gz
mv libssh2-1.1.tar.gz /usr/local/src/libssh2-1.1.tar.gz
cd /usr/local/src/
tar zxvf libssh2-1.1.tar.gz
cd libssh2-1.1.tar.gz
./configure
make
make install
そして、PECL::ssh2。
# pecl install channel://pecl.php.net/ssh2-0.11.0
ssh2を有効にするためにssh2.soを追加します。
cd /etc/php.d
echo "extension=ssh2.so" > ssh2.ini
/etc/init.d/httpd restart
ここまででssh2の設定が完了、したハズ。
カギの生成
まずは公開/秘密鍵を生成します。
ssh-keygen
passphraseを入力するところが出てきますが、ここでは何も入力せずにエンターキーを叩いて先に進めます。(パスフレーズが入っていると上手く認証が出来ない場合があるらしいです。)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Created directory ‘/home/user1/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx demo@example.com
つづいて、生成した公開鍵をauthorized_keysに登録します。
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
最後に、Apacheが鍵を参照出来るようにファイルのパーミッションを変更します。
cd ~/
chmod 755 .ssh
chmod 644 .ssh/*
これで完了。あとは(FTPの場合と同様に)アップデートの時に必要な情報をフォームに入力すればOK。(なハズ。)
ここで「hostname」にはサーバのFQDNとSSHのポート番号を、「Username」にはユーザ名を、「Public Key」には「/home/(ユーザ名)/.ssh/id_rsa.pub」を、「Private Key」は「/home/(ユーザ名)/.ssh/id_rsa」を、それぞれ入力します。
鍵をホームディレクトリ以外に置く
「Public Key」と「Private Key」はサーバがアクセス出来る場所にファイルがなければいけませんが、ホームディレクトリだと他のファイルとかもあるし、どうも都合が悪い、と言う場合は他の場所に置いても大丈夫なようです。
/var/www/ssh/(username).id_rsa
/var/www/ssh/(username).id_rsa.pub
全然検証してないので、なんかすごくへんだったらごめーんねっ。(てへ。)
参考
- PHPでssh接続環境をインストール[PECL][SSH2][CentOS] | Web&MUSICブログ QUALL
- PECL::ssh2を使ってみる – Do You PHP?
- Copy/Cut/Paste:PHPでssh接続 on CentOS
- WordPress Tutorial: Using SSH to Install/Upgrade – Fireside Media Dev
- wp-config.php の編集 – WordPress Codex 日本語版
標準テキスト CentOS 8 構築・運用・管理パーフェクトガイド [CentOS Stream対応]
- メーカー:SBクリエイティブ
- カテゴリ:Kindle版
- 発売日:2021/07/21