Image

ナレッジベース → Debian 12 への Ioncube for php のインストール

[仮想サーバー]
公開日: 16.10.2023

Ioncubeは、暗号化されたスクリプトを実行するためのPHPモジュールです。これらのスクリプトは商用システムや有料モジュールなどの非公開コードであり、一般的にはライセンスの有効性を確認するチェックが組み込まれています。コードのチェック部分を除去したり、商業目的での再利用を防ぐため、スクリプトは暗号化されています。このPHPモジュールは、その暗号を解読し、スクリプトを動作させる役割を果たします。

各PHPバージョンには対応するモジュールをインストールする必要があります。

1. 最新版のIoncubeをダウンロードする

x64

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
x32

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

2. インストール

2.1 サーバー上のPHPバージョンを確認

ls /usr/bin/ | grep php

php
php7.3
php8.1

この例では、2つのバージョンがインストールされているため、それぞれにIoncubeを設定します。

2.2 各バージョンのPHPモジュールディレクトリを確認

php 7.3

/usr/bin/php7.3 -i | grep extension_dir

extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731
php 8.1

/usr/bin/php8.1 -i | grep extension_dir

extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902

2.3 ダウンロードしたアーカイブからモジュールをコピー

tar -xvf ioncube_loaders_lin_x86-64.tar.gz -C /var/tmp/
cp /var/tmp/ioncube/ioncube_loader_lin_7.3.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_7.3_ts.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
cp /var/tmp/ioncube/ioncube_loader_lin_8.1_ts.so /usr/lib/php/20210902

2.4 モジュールを設定ファイルに追加

2.4.1 コンソールでのスクリプト実行用(cronタスクなど)

vim /etc/php/7.3/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

2.4.2 Webサービス用、ここではfpmを使用

vim /etc/php/7.3/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

Apacheを使用している場合も、同様に設定を追加します。

2.5 設定の保存と反映

設定ファイルに変更を保存するには、以下のコマンドを使用します。

:wq

Webサービスを再起動します。

service php7.3-fpm restart
service php8.1-fpm restart

3. 確認

php 7.3

/usr/bin/php7.3 -v

PHP 7.3.33-14+0~20230902.114+debian12~1.gbp764b27 (cli) (built: Sep  2 2023 07:12:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
    with the ionCube PHP Loader + ionCube24 v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
    with Zend OPcache v7.3.33-14+0~20230902.114+debian12~1.gbp764b27, Copyright (c) 1999-2018, by Zend Technologies
php 8.1

/usr/bin/php8.1 -v

PHP 8.1.23 (cli) (built: Oct  6 2023 10:18:33) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.23, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.23, Copyright (c), by Zend Technologies

これで、暗号化されたスクリプトがサーバーで正常に動作します。





No Comments Yet