Recommended VPS Complete list of best VPS hosting providers.

How to Install Zend and Ioncube Loader on Vestacp (Ubuntu)

Installing Zend Guard Loader and ionCube Loader on latest Ubuntu server can be so tricky but here’s the tutorial you can follow to get it installed correctly on your Ubuntu server with Vestacp software on top of it. Well, I can explain what is Zend Guard Loader and what is ionCube Loader but I’ve done that in my previous article so please take your time to read it if you want.

But as a refresh, you may need to install either Zend or ionCube loader when you want to run an app which is PHP-based and is encrypted using both or one of those technologies.

Prerequisites

What you may need:

  1. A SSH client like Bitvise or Putty and basic knowledge about how to use it.
  2. Basic knowledge about common Unix command to SSH to your server.
  3. A server or VPS with at least 512MB of RAM (1GB or more is recommended).
  4. Make sure your Vestacp server is installed and running on Ubuntu server.
    Read: How to install Vestacp
  5. About 30 minutes of your time
  6. a cup of coffee or tea.

Confused on choosing which VPS provider to install VestaCP? Read my recommended VPS providers or top low end cloud server providers. Quick recommendation: Digital Ocean, Atlantic.net or Ramnode.

In this guide I’m using a 512MB RAM Cloud VPS from Digital Ocean running Ubuntu 15.10 x64.

Install Zend Guard Loader

Step 0 – Install VestaCP on your server (I show this step in the video).

Step 1 – Login to your server via Putty (or any SSH client) as root or as user with root privilege (sudo).

Step 2 – Check your PHP version. This is necessary and important since Zend has made Guard Loader to every specific PHP version.

php -v

check php version ubuntu

Until this article is posted, the last time I checked VestaCP is using PHP 5.6.x on its Ubuntu version while its CentOS version is PHP 5.4.x.

Step 3 – Next, you need to download Zend Guard Loader package appropiate to the version of PHP you have and type of operating system your server is running (it is Linux but whether it is 32-bit or 64-bit). Go ahead grab the package from:

http://www.zend.com/en/products/loader/downloads#Linux

download zendguard ubuntu php56

Choose the appropriate package for current PHP version which is 5.6. You may also need to login or register for an account first. It’s free.

login zendguard site

Now all you need to do is to grab the download url. You can achieve that by copying the URL once the Download Dialog box appears.

or, you can use these shortcut if you don’t mind using current latest version (do visit Zend website to check newer version – if available):

Zend Guard Loader for PHP 5.4 – 32 bit:

http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-i386.tar.gz

Zend Guard Loader for PHP 5.4 – 64 bit:

http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-x86_64.tar.gz

Since I’m using VestaCP on Ubuntu 15.10 which is 64-bit, so I picked the last one.

Step 4 – Use wget to download it into your server:

wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-x86_64.tar.gz

wget zendguard ubuntu php56

Step 5 – Once the package has been downloaded, extract the package using command below:

tar xzvf name-of-package-file.tar.gz

for example in my case it is:

tar xzvf zend-loader-php5.6-linux-x86_64.tar.gz

Step 6 – Now enter the the new folder extracted and find the ZendGuardLoader.so file. See example below (use cd command):

cd zend-loader-php5.6-linux-x86_64
ls

extract zend guard loader package

then copy the ZendGuardLoader.so file to following location :

/usr/lib/php5

example :

cp ZendGuardLoader.so /usr/lib/php5

copy zendguard loader to php5

Step 7 – Now create ZendGuard.ini file inside /etc/php5/mods-available directory (use your favorite text editor like nano) :

cd /etc/php5/mods-available
ls
nano zendguard.ini

create zendguard ini file

Step 8 – Next, copy paste following codes to that file in nano text editor:

; priority=30
; Enable Zend Guard extension
zend_extension=/usr/lib/php5/ZendGuardLoader.so
zend_loader.enable=1

see screenshot pic below:

zendguard ini file

Do not forget to Save and Exit the editor which in Nano it is Control+O then Control+X.

Step 9 – Enable the newly created php5 module and restart Apache with this command:

php5enmod zendguard
service apache2 restart

restart apache enable zendguard

Step 10 – Drink your coffee or tea you’ve prepared then issue command below to verify that Zend Guard Loader module has been enabled on your server:

php -v

and you’ll see this:

zend guard loader enabled

Alrite! Now let’s move on to the next part, installing ionCube Loader.

Install ionCube Loader

Step 1 – Again, login to your server via Putty.

Step 2 – Go to your site’s public folder (root directory of your site) which in Vestacp it is usually at :

/home/username/web/domain.tld/public_html

replace username with your vestacp username but it is preferable as admin, then replace domain.tld with your own domain name but it is recommended to use your hostname. Example :

cd /home/admin/web/vesta.servermom.org/public_html

Step 3 – Use wget again to download ionCube Loader package into your server. You can check download links of its latest version at :

https://www.ioncube.com/loaders.php

use wget to download it,..

For Ubuntu 32-bit use:

wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

For Ubuntu 64-bit use :

wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

download ioncube package ubuntu

Step 4 – Extract the package once it’s downloaded :

Ubuntu 32-bit :

tar xvfz ioncube_loaders_lin_x86.tar.gz

Ubuntu 64-bit :

tar xvfz ioncube_loaders_lin_x86-64.tar.gz

extract ioncube package

Step 5 – Now go to ioncube folder and copy appropriate version:

cd ioncube
ls
php -v

Step 6 – Found the correct one? Now copy it to /usr/lib/php5 location

cp ioncube_loader_lin_5.6.so /usr/lib/php5

Step 7 – Then go to /etc/php5/mods-available and create new .ini file for that module:

cd /etc/php5/mods-available
nano ioncube.ini

create ioncube ini file ubuntu

Step 8 – Then put this inside that file (copy-paste it):

; priority=00
zend_extension = /usr/lib/php5/ioncube_loader_lin_5.6.so

do not forget to Save and Exit (Control+O then Control+X):

ioncube loader ini file fix

Step 9 – Now you can safely enable ionCube loader PHP module and restart Apache using this command:

php5enmod ioncube
service apache2 restart

enable ioncube php module

Step 10 – Now verify it using php -v command :

check ioncube loader enabled

Or, you can alsu use php -m command and you’ll see something like this:

php module check ist

or you can also create info.php file as usual then open it in your browser and you’ll see something like this:

phpinfo with ioncube enabled

That’s it. Now you have fully working Zend and ionCube Loader installed on your VPS with VestaCP control panel. Now all websites / domains hosted in that server will be able to use both feature.

Still got confused about following the steps above? I recorded all those steps above in a video you can watch it. I hope by watching the video you’ll get more detailed information which you can’t get from the steps above.

video guide zend ioncube ubuntu vesta

Download the video and donate $1 for me to buy a JCO donut.

Thanks!

3 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe and get interesting stuff plus faster updates to your email.