前書き
ionCubeは、暗号化されたPHPファイルをロードしてWebページを高速化するPHPモジュール拡張です。 多くの場合、PHPベースのアプリケーションに必要です。 このチュートリアルでは、Ubuntu 16.04サーバーにionCubeをインストールします。
前提条件
このチュートリアルを実行するには、次のものが必要です。
-
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04#step-のようなPHPがインストールされたWebサーバー1-install-apache-and-allow-in-firewall [Apache]またはhttps://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in -ubuntu-16-04 [Nginx]。 Webサーバー自体のインストール、ファイアウォールの更新、およびPHPのインストールの手順に従います。
ステップ1-適切なionCubeバージョンの選択
選択したionCubeのバージョンがPHPのバージョンと一致していることが重要です。そのため、最初に以下を知る必要があります。
-
Webサーバーが実行しているPHPのバージョン
-
32ビットまたは64ビットの場合。
64ビットのUbuntuサーバーを使用している場合は、おそらく64ビットのPHPを実行していますが、確認しましょう。 そのために、小さなPHPスクリプトを使用して、サーバーの現在のPHP構成に関する情報を取得します。
`+ nano `またはお好みのテキストエディターを使用して、Webサーバーのルートディレクトリ(変更していない限り、 ` / var / www / html `のような)に ` info.php +`ファイルと呼ばれるファイルを作成します。
sudo nano /var/www/html/info.php
以下をファイル内に貼り付け、保存して閉じます。
info.php
<?php
phpinfo();
ファイルへの変更を保存した後、お気に入りのブラウザーで `+ http:/// info.php +`にアクセスします。 開いたWebページは次のようになります。
image:https://assets.digitalocean.com/articles/ioncube-ubuntu/j3jtETT.png [Ubuntu 16.10デフォルトのPHP情報]
そのページから、* PHPバージョン*と書かれている上部のヘッダーを見てください。 この場合、7.0.8を実行しています。 次に、* System *行を確認します。 * x86_64 *で終わる場合、64ビットPHPを実行しています。 * i686 *で終わる場合、32ビットです。
この情報を使用して、ダウンロードとインストールを続行できます。
ステップ2-ionCubeのセットアップ
ionCubeダウンロードページにアクセスし、OSに基づいて適切なダウンロードリンクを見つけます。 この例では、http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz [この64ビットLinuxバージョン]が必要です。 サイトの* tar.gz *リンクをコピーして、ファイルをダウンロードします。
wget http://downloads3.ioncube.com/loader_downloads/.tar.gz
次に、アーカイブを抽出します。
tar xvfz .tar.gz
これにより、さまざまなPHPバージョン用のさまざまなファイルを含む「+ ioncube 」という名前のディレクトリが作成されます。 ご使用のPHPバージョンに適したフォルダーを選択してください。 この例では、PHPバージョン ` 7.0 `が必要です。これは ` ioncube_loader_lin_.so +`です。 このファイルをPHP拡張機能フォルダーにコピーします。
拡張機能フォルダのパスを見つけるには、 `+ http:/// info.php +`ページをもう一度確認し、* extension_dir *を検索します。
image:https://assets.digitalocean.com/articles/ioncube-ubuntu/oyRzoMW.png [extension_dir PHP設定ディレクティブ]
この例では、「+ / usr / lib / php / 20151012 +」なので、そこにファイルをコピーします。
sudo cp ioncube/ioncube_loader_lin_.so
PHPが拡張機能をロードするには、PHP構成に追加する必要があります。 メインの + php.ini +
PHP設定ファイルでそれを行うことができますが、別のファイルを作成する方が簡単です。 競合の可能性を回避するために、この別のファイルを他の拡張子の前にロードするように設定できます。
カスタム設定ファイルを作成する場所を見つけるには、 `+ http:/// info.php +`をもう一度見て、このディレクトリをスキャンして追加の.iniファイルを探します。
image:https://assets.digitalocean.com/articles/ioncube-ubuntu/C5OUFOO.png [追加のPHP設定ファイル]
そこで、 `+ / etc / php / 7.0 / apache2 / conf.d `ディレクトリ内に ` 00-ioncube.ini `という名前のファイルを作成します。 ファイル名の先頭にある「+00」により、このファイルが他のPHP設定ファイルの前にロードされることが保証されます。
sudo nano /00-ioncube.ini
次のロードディレクティブを貼り付け、ファイルを保存して閉じます。
00-ioncube.ini
zend_extension = "/ioncube_loader_lin_.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:/// info.php +`ページに戻り、ページを更新し、「ionCube」キーワードを検索します。 * ionCube PHP Loader(有効)が表示されます*:
image:https://assets.digitalocean.com/articles/ioncube-ubuntu/faYixRc.png [ionCube installed]
これにより、PHP ionCube拡張がサーバーにロードされていることが確認されます。
潜在的な攻撃者がサーバーに関する情報を見ることができるため、 `+ 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アプリケーションを続行できます。