CentOS6 環境に PHP の ssh2 extension をインストールしたときのメモ
2018/11/18 12:18
  • ひょんなことから Apache で ssh を使いたくなり、 ssh2 の extension をインストールすることにしました。
    インストール自体は以下のサイトのとおりです。

    参考: SSH2 EXTENSION FOR PHP ON CENTOS 6


    ただし、僕の環境で同じように実行した際、 pecl でエラーになりうまくインストールできなかったので
    対応方法を含めまとめます。


    サーバー環境


    CentOS release 6.8 (Final)
    Apache/2.2.15 (Unix)
    


    ssh2 extension のインストール

    以下の手順でインストールしました。

    必要なパッケージをインストールする

    $ 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
    

    以上です。


    …ひさしぶりにサーバー触ったような気もしなくもない。( ・ิω・ิ)


    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • 2018/11/18 12:18
  • サーバー
  • PHPCentOSPECLApacheモジュールmoduleSSHサーバー
  • 新しい記事へ
    [Windows] PIXTA クリエイター向けの ZIP 圧縮スクリプトを勢いで作ったメモ

    古い記事へ
    [GAS] Google Drive の特定フォルダ配下のフォルダ・ファイルの権限を一括で移譲する

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。