ひょんなことから Apache で ssh を使いたくなり、 ssh2 の extension をインストールすることにしました。
インストール自体は以下のサイトのとおりです。
参考: SSH2 EXTENSION FOR PHP ON CENTOS 6
ただし、僕の環境で同じように実行した際、 pecl でエラーになりうまくインストールできなかったので
対応方法を含めまとめます。
CentOS release 6.8 (Final)
Apache/2.2.15 (Unix)
必要なパッケージをインストールする
$ sudo yum install gcc php-devel php-pear libssh2 libssh2-devel make
pecl で ssh2 をインストールする
$ pecl install -f ssh2
エラーになる(´・ω・`)
...
XML Extension not found
どうやら pecl のバグっぽいものを踏んだらしいので、以下のサイトを参考にして pecl を修正する。
参考: Vagrant上でXdebug使いたくてPeclコマンドでインストールしたけどうまくいかなかった話
$ sudo vim `which pecl`
## 実行オプションの `-n` を削除して保存する
#!/bin/sh
exec /usr/bin/php -C -q -d include_path=/usr/share/pear \
-d date.timezone=UTC \
-d output_buffering=1 /usr/share/pear/peclcmd.php "$@"
もう一度実行する
$ pecl install -f ssh2
今度は違うエラーが;;(´・ω・`)
could not extract the package.xml file from "/tmp/pear/download/ssh2-0.13.tgz"
少なくともパッケージ自体はダウンロードできているんだけど展開できないという状況にあったようです。
アーカイブ系のパッケージになにか問題がありそうってことでアップグレードしてみる。
参考: PEAR:but it is not a valid package archiveとなってしまう時の対処
$ sudo pear upgrade Archive_Tar
## やはりパッケージがダウンロードされるだけで以降が進まないので、手動で展開する
$ cd /tmp/pear/download/
$ tar -zxvf Archive_Tar-1.4.3.tgz
### 念の為既存の Tar.php をバックアップ
$ sudo mv /usr/share/pear/Archive/Tar.php /usr/share/pear/Archive/Tar.php.org
### 新しい Tar.php を移動
sudo cp Archive_Tar-1.4.3/Archive/Tar.php /usr/share/pear/Archive/
pear もアップグレードする
## パッケージを展開できるようになったはずなので、 pear 本体をアップグレードする
$ sudo pear upgrade
再々度、 ssh2 をインストールする
$ sudo pecl install -f ssh2
確認する
$ php -m |grep ssh2
ssh2
Apache を再起動して反映
$ sudo service httpd graceful
以上です。
…ひさしぶりにサーバー触ったような気もしなくもない。( ・ิω・ิ)
mac に pip をインストールする
mac は標準で python が入っていますが、パッケージ管理の pip がインストールされていないので入れてみました。
2017/05/26 09:00
[GAS] Google Drive の特定フォルダ配下のフォルダ・ファイルの権限を一括で移譲する
Google Drive の特定フォルダ配下のファイル・フォルダの権限を一括で移譲するツールを Google Apps Script で作りました。
2018/11/10 15:54
[Windows] Ophcrack を使ってユーザーパスワードを解析する方法
家族で使っていた Windows7 のログインパスワードを忘れたため、Ophcrack を使って解析したときの記録です。
2017/09/30 21:00
[shell] フォルダ内にある大量の ZIP ファイルをまとめて解凍する
とある ZIP を解凍すると中に大量の ZIP が居たときに幸せになれるコマンドを紹介します
2018/06/19 23:45
[MySQL] データファイルから DB を復元する
先日 MySQL が再起動できなくなる問題が発生し、急遽データファイル(.frm, .ibd)から復元しました
2018/11/25 12:44