CentOS 7を使用してPPC64LEアーキテクチャにWebアプリケーションをデプロイしていました。マシンはWebホスティングパッケージでセットアップされていなかったため、アプリケーションをデプロイする前に、まずそれをセットアップする必要があります。残念ながら、yum
リポジトリはこのアーキテクチャの非常に古いパッケージで構成されており、RPMを介して最新のパッケージをインストールすることは、パッケージに非常に多くの依存関係があるため、悪夢です。そこで、PHPとその依存モジュールをソースからコンパイルすることにしました。これでWebホスティング環境の準備が整い、アプリケーションを機能させるためにいくつかの依存パッケージをインストールするだけで済みます。 CentOS7を実行しているPPC64LEアーキテクチャにNet_SSH2やNet_SFTPなどのphpseclibパッケージをインストールする方法について説明します。
アプリケーションでphpseclibのNet_SSH2およびNet_SFTPというパッケージを使用しましたが、開発環境では正常に機能しました。 x86アーキテクチャへのphpseclibパッケージのインストールは非常に簡単でした(yumがすべてを実行するため)。 PPC64LEの最新のバイナリがなかったので、PEARを使用しました。 PEARは「PHPExtensionandApplicationRepository」の略です。これは、再利用可能なPHPコードのリポジトリです。
これが、PEARを使用してNet_SSH2およびNet_SFTPPHPパッケージをインストールした方法です。
phpseclibパッケージNET_SSH2およびNet_SFTPのインストール方法
ステップ1:pearパッケージマネージャーがインストールされていることを確認します
ソースからPHPをインストールした場合は、
yumリポジトリを使用してPHPをインストールする必要がある場合は、対応するバージョンのPHPからPHP-pearをインストールします
#yum install php-pear
#pear version PEAR Version: 1.10.11 PHP Version: 7.2.30 Zend Engine Version: 3.2.0 Running on: Linux terra-node-01 4.18.0-80.7.2.el7.ppc64le #1 SMP Thu Sep 12 15:45:05 UTC 2019 ppc64le
ステップ2:PEARインストーラーで使用するチャネルを登録します。
#pear channel-discover phpseclib.sourceforge.net Channel "phpseclib.sourceforge.net" is already initialized
ステップ3:利用可能なパッケージを一覧表示する
#pear remote-list -c phpseclib Channel phpseclib Available packages: ===================================== Package Version Crypt_AES 1.0.18 Crypt_Base 1.0.18 Crypt_Blowfish 1.0.18 Crypt_DES 1.0.18 Crypt_Hash 1.0.18 Crypt_RC4 1.0.18 Crypt_RSA 1.0.18 Crypt_Random 1.0.18 Crypt_Rijndael 1.0.18 Crypt_TripleDES 1.0.18 Crypt_Twofish 1.0.18 File_ANSI 1.0.18 File_ASN1 1.0.18 File_X509 1.0.18 Math_BigInteger 1.0.18 Net_SCP 1.0.18 Net_SFTP 1.0.18 Net_SSH1 1.0.18 Net_SSH2 1.0.18 System_SSH_Agent 1.0.18
ご覧のとおり、Net_SFTPおよびNet_SSH2パッケージが利用可能です。
ステップ4:Net_SFTPとNet_SSH2をインストールする
利用可能な最新バージョンがインストールされます。
#pear install phpseclib/Net_SFTP phpseclib/Net_SFTP is already installed and is the same as the released version 1.0.18
#pear install phpseclib/Net_SSH2 phpseclib/Net_SSH2 is already installed and is the same as the released version 1.0.18
パッケージがインストールされたら、httpd
を再起動します サービス
最終ステップ:HTTPDサービスを再起動します
#systemctl restart httpd