To run VIMP you need the SourceGuardian PHP extension.
This article describes how to install the extension on AlmaLinux 9/RHEL 9 (64-bit) with PHP 8.3. More information about using SourceGuardian can be found here.
A wizard for installing the latest SourceGuardian loaders can be found here.
The general procedure is as follows:
First, create a temporary directory named `loader` under `/usr/src/` and change to that directory:
mkdir -p /usr/src/loader cd /usr/src/loader
Next, install curl and tar if they are not already installed:
dnf install -y curl tar
Now download the SourceGuardian Loader package for Linux 64-bit directly into the new directory:
curl -L https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz --output loaders.linux-x86_64.tar.gz
Unzip the file:
tar xzf loaders.linux-x86_64.tar.gz
Now locate the PHP extension directory for your PHP installation:
php -i | grep '^extension_dir'
In a standard PHP 8.3 installation on AlmaLinux 9 / RHEL 9, the directory is usually:
/usr/lib64/php/modules
Copy the SourceGuardian loader file that matches your PHP version to this directory:
cp ixed.8.3.lin /usr/lib64/php/modules/
Next, create a custom configuration file for the SourceGuardian Loader:
nano /etc/php.d/00-sourceguardian.ini
Insert the following directive there:
extension=ixed.8.3.lin
Then save the file.
Now restart PHP-FPM:
systemctl restart php-fpm
Next, depending on the use case, we'll restart NGINX
systemctl restart nginx
or Apache2:
systemctl restart httpd
Next, check whether the SourceGuardian Loader for PHP CLI has been loaded:
php -m | grep -i sourceguardian
You can also check whether PHP is loading the new INI file:
php --ini
For PHP-FPM, the loaded configuration can be checked as follows:
php-fpm -i | grep -i sourceguardian
The extension is now enabled for PHP-FPM and PHP CLI. This allows VIMP to execute the encrypted PHP files.