RPM(Red Hat Package Manager)でPHPエージェントをインストール
手順
PHPエージェントをインストールするには:
https://pkg.contrastsecurity.com
からエージェントパッケージを取得します。以下のスクリプトをシェルで実行し、お使いのRPMベースのシステムにContrastのパッケージリポジトリを設定します。sudo
の権限が必要になる場合があります。tee /etc/yum.repos.d/contrast.repo <<-"EOF" [contrast] name=Contrast centos-$releasever repo baseurl=https://pkg.contrastsecurity.com/rpm-public/redhat-$releasever/ gpgcheck=0 enabled=1 EOF
完了したら、以下のコマンドでエージェントをインストールします。
sudo yum install contrast-php-agent
注記
PHPがこの拡張モジュールを使用するように設定されると、 インタープリタが実行されるたびにこの拡張モジュールが使用されるようになります。このステップは、アプリケーション自体を実行する直前まで遅らせる必要があります。これにより、artisanや他のPHPコマンドの実行時に予期せぬ動作が発生するのを防ぐことができます。
PHPの設定ファイルである
php.ini
を探します。ほとんどの場合、/usr/local/etc/php/
内にあります。php-config
コマンドを使用できる場合はphp-config --ini-path
を使用して設定ファイルのパスを検索できます。このパスに設定ファイルがまだ存在しない場合は、作成する必要があります。PHP設定ファイルを編集します。
echo "extension=/usr/local/lib/contrast/php/contrast.so" >> `php-config --ini-path`/php.ini
PHPエージェントのYAMLテンプレートか環境変数を使用して、PHPエージェントを設定します。
通常の方法でアプリケーションを開始します。
アプリケーションの疎通やテストを行います。
PHPエージェントが実行されているかを確認するには、Contrast Webインターフェイスを確認するか、(設定によっては)PHPエージェントのログ出力を確認するなどしてください。
注記
コマンドラインにフラグを追加することで、PHP CLIを使ってエージェントを使用することが可能です。
php -d extension=/usr/local/lib/contrast/php/contrast.so
現在、ライブラリ解析とルート検出は、アプリケーションへの最初のリクエストで実行されます。そのため、最初のリクエストは、それ以降のリクエストに比べてかなり遅くなることが予想されます。
このエージェントは、サードパーティのPHP拡張モジュールとはテストされていません。他のサードパーティの拡張モジュール(xdebug、APMなどを含む)が使用された場合のエージェントの動作は不確定です。
プリロードを有効にすると、エージェントが正しく動作しない場合があります。 このエージェントを使用する場合は、プリロードを無効にすることをお勧めします。
デフォルトでは、エージェントはPHPアプリケーションを実行する際のサーバの作業ディレクトリが、アプリケーションのソースツリーのトップレベルのディレクトリと同じであると想定しています。エージェントは、このパスを使用して、ライブラリ解析とルート検出を行います。パスが異なる場合は、application.pathの設定を使用して、アプリケーションのトップレベルのディレクトリを指定する必要があります。