Ubuntu16.04にionCubeをインストールする方法
序章
ionCube は、暗号化されたPHPファイルをロードし、Webページを高速化するPHPモジュール拡張機能です。 多くの場合、PHPベースのアプリケーションで必要になります。 このチュートリアルでは、Ubuntu16.04サーバーにionCubeをインストールします。
前提条件
このチュートリアルに従うには、次のものが必要です。
- sudo非rootユーザーとファイアウォールを備えた1つのUbuntu16.04サーバー。これは、この初期サーバーセットアップチュートリアルに従ってセットアップできます。
- ApacheやNginxなどのPHPがインストールされたWebサーバー。 Webサーバー自体のインストール、ファイアウォールの更新、およびPHPのインストールの手順に従います。
ステップ1—適切なionCubeバージョンの選択
選択するionCubeのバージョンがPHPのバージョンと一致することが重要であるため、最初に次のことを知っておく必要があります。
- Webサーバーが実行しているPHPのバージョン、および
- 32ビットまたは64ビットの場合。
64ビットのUbuntuサーバーを使用している場合は、おそらく64ビットのPHPを実行していますが、確認しましょう。 そのために、小さなPHPスクリプトを使用して、サーバーの現在のPHP構成に関する情報を取得します。
nano
またはお気に入りのテキストエディタを使用して、Webサーバーのルートディレクトリにinfo.php
ファイルというファイルを作成します(変更していない限り、/var/www/html
のようになります)。
- sudo nano /var/www/html/info.php
以下をファイル内に貼り付け、保存して閉じます。
<?php
phpinfo();
ファイルへの変更を保存した後、お気に入りのブラウザでhttp://your_server_ip/info.php
にアクセスします。 開いたWebページは次のようになります。
そのページから、PHPバージョンと書かれている上部のヘッダーを見てください。 この場合、7.0.8を実行しています。 次に、System行を確認します。 x86_64 で終わる場合は、64ビットPHPを実行しています。 i686 で終わる場合は、32ビットです。
この情報を使用して、ダウンロードとインストールを続行できます。
ステップ2—ionCubeを設定する
ionCubeダウンロードページにアクセスし、OSに基づいた適切なダウンロードリンクを見つけてください。 この例では、この64ビットLinuxバージョンが必要です。 サイトのtar.gzリンクをコピーして、ファイルをダウンロードします。
- wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
次に、アーカイブを抽出します。
- tar xvfz ioncube_loaders_lin_x86-64.tar.gz
これにより、ioncube
という名前のディレクトリが作成され、さまざまなPHPバージョンのさまざまなファイルが含まれます。 PHPバージョンに適したフォルダを選択してください。 この例では、ファイルPHPバージョン7.0
、つまりioncube_loader_lin_7.0.so
が必要です。 このファイルをPHP拡張フォルダーにコピーします。
拡張機能フォルダのパスを見つけるには、http://your_server_ip/info.php
ページをもう一度確認し、extended_dirを検索します。
この例では、/usr/lib/php/20151012
なので、ファイルをそこにコピーします。
- sudo cp ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/
PHPが拡張機能をロードするには、それをPHP構成に追加する必要があります。 メインのphp.ini
PHP構成ファイルでそれを行うことができますが、別のファイルを作成する方がクリーンです。 競合の可能性を回避するために、この個別のファイルを他の拡張機能の前にロードするように設定できます。
カスタム構成ファイルを作成する場所を見つけるには、http://your_server_ip/info.php
をもう一度見て、このディレクトリをスキャンして追加の.iniファイルを検索します。
したがって、/etc/php/7.0/apache2/conf.d
ディレクトリ内に00-ioncube.ini
という名前のファイルを作成します。 ファイル名の先頭にある00
は、このファイルが他のPHP構成ファイルの前にロードされることを保証します。
- sudo nano /etc/php/7.0/apache2/conf.d/00-ioncube.ini
次の読み込みディレクティブを貼り付けて、ファイルを保存して閉じます。
zend_extension = "/usr/lib/php/20151012/ioncube_loader_lin_7.0.so"
上記の変更を有効にするには、Webサーバーを再起動する必要があります。
Apacheを使用している場合は、次を実行します。
- sudo systemctl restart apache2.service
Nginxを使用している場合は、次を実行します。
- sudo systemctl restart nginx
php-fpm
を使用している場合は、再起動する必要がある場合もあります。
- sudo systemctl restart php7.0-fpm.service
最後に、PHP拡張機能がインストールされて有効になっていることを確認しましょう。
ステップ3—ionCubeのインストールを確認する
http://your_server_ip/info.php
ページに戻り、ページを更新して「ionCube」キーワードを検索します。 これで、ionCube PHPローダー(有効)でが表示されるはずです。
これにより、PHPionCube拡張機能がサーバーにロードされていることが確認されます。
info.php
スクリプトを保持すると、潜在的な攻撃者がサーバーに関する情報を見ることができるため、セキュリティ上のリスクが少しある可能性があります。今すぐ削除してください。
- sudo rm /var/www/html/info.php
不要になった余分なダウンロードされたionCubeファイルを安全に削除することもできます。
- sudo rm ioncube_loaders_lin_x86-64.tar.gz
- sudo rm -rf ioncube_loaders_lin_x86-64
これで、ionCubeが完全にセットアップされ、機能するようになりました。
結論
ionCube PHP拡張機能がインストールされたので、それを必要とする任意のPHPアプリケーションに進むことができます。