IonCube allows developers to protect their code that is written in the PHP programming language. IonCube prevents this code from being viewed, edited, and run on unlicensed systems. This works by IonCube compiling the bytecode before encoding, so that the source code is eliminated. Runtime overheads are also reduced.
Ubuntu Server 14.04 LTS – with a LAMP stack installed (Linux, Apache, MySQL, and PHP).
An SCP connection to your server – as root. In this case, I will be connecting from Windows using WinSCP.
An open SSH connection to your server as root.
Download the latest version of the IonCube Loader Wizard from the official site.
In the SSH window, identify the contents of your PHP modules folder.
php -i | grep extension_dirYou will see an output that looks something like the following. Jot this down.
extension_dir => /usr/lib/php5/20090626+lfs => /usr/lib/php5/20090626+lfsInside the .zip file that you downloaded from the IonCube website, there is a folder called IonCube. Upload that whole folder to your webroot /var/www/html using the SCP connection. Alternatively, you could use wget to place it in that folder, using these commands:
cd /var/www/html
mkdir ioncube
cd ioncube
wget http://www.ioncube.com/loader-wizard/loader-wizard.tgz
tar -xzf loader-wizard.tgzUsing your web browser, navigate to
http://<yourip>/ioncube/loader-wizard.phpWait for the website to load. It will prompt you to select a hosting option.
Select the “Dedicated / VPS Server” option and fill in the “Company details” with:
Name: AKLWEB HOST Address: https://www.aklwebhost.comIonCube will prompt you to copy a file from the folder that you have just uploaded to another folder on the VPS. Do that using the WinSCP connection. You may find it easier to download and re-upload the file. The directory that it has told you should be the PHP extensions directory that we found earlier.
The bottom of the webpage will show you a link to a file called 20-ioncube.ini.
Download that file and open it in your favorite text editor. It will contain one line that is very similar to this:
zend_extension = /usr/lib/php5/20121212/ioncube_loader_lin_5.5.soBack in the SSH connection, enter this command to locate the php.ini file:
php -i | grep 'Configuration File'The output will appear similar to:
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.iniOnce you have located it, open it in your favorite text editor.
nano /path/to/php.iniAdd the zend_extension line that we found earlier to the top of this file, below the line that reads [PHP].
Restart PHP and Apache.
/etc/init.d/apache2 restartIn your web browser, navigate to http://<yourip>/ioncube/loader-wizard.php.
You may see an error about the fact that some functions may be unavailable. I haven’t noticed any issues due to this error message.
Enjoy! You can now install your application that needs the IonCube loader.