Site icon Блог cyber01

Установка Ioncube Loader в CentOS/Debian/Ubuntu

Ioncube Loader это PHP модуль, для загрузки файлов, защищенных ПО Ioncube Encoder. Ioncube обычно используется коммерческими компаниями, занимающимися разработкой на PHP для защиты их продуктов

В этой статье я расскажу, как происходит установка Ioncube Loader в CentOS/Debian/Ubuntu.

 

1. Подготовка

Предположим, что вебсервер с PHP уже настроены и работают. В хоте установки мы будем использовать Nano и Wget.

Если у вас они не установлены, то установим их:

CentOS

yum install nano wget

Debian/Ubuntu

apt-get install nano wget

2. Загрузка Ioncube Loader

Ioncube Loader может быть загружен с официального сайта Ioncube Inc. Есть версии как под 32-битные системы, так и под 64-битные.

Для начала выясним, какая разрядность у системы на сервере, набрав:

uname -a

В результате увидим подобный результат:

Если в результате есть x86_64, значит сервер работает с 64-битным ядром Linux, иначе 32-битное.

Загрузим сам Ioncube Loader в формате tar.gz в папку /tmp, после чего распакуем его.

Для 64-битных систем:

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

Для 32-битных систем:

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

После результате распаковки мы получили папку ioncube

3. Так какой Ioncube Loader нам устанавливать?

После перехода в папку /tmp/ioncube/ вы увидите много файлов:

Число в имени файла соответствует версии PHP, для которой он собран, а _ts это Thread Safe версии. Мы будем использовать обычную версию (не Thread Safe).

Для начала выясним, какая версия PHP у нас установлена:

php -v

В результате вы получите нечто подобное:

У нас установлен PHP версии 5.6. Запомним ее.

Теперь выясним, где расположена папка с расширениями PHP:

php -i | grep extension_dir

Получаем подобный результат:

На скриншоте нужный нам путь был выделен. И это /usr/lib/php5/20131226. У вас может быть другой путь, в зависимости от операционной системы и версии PHP.

Скопируем Ioncube Loader для PHP 5.6 в папку расширений:

cp /tmp/ioncube/ioncube_loader_lin_5.6.so /usr/lib/php5/20131226/

Не забудьте, что цифра в имени файла — версия PHP, для которой собран Ioncube Loader. Не перепутайте.

4. Настройка PHP для Ioncube Loader

Здесь нам понадобится добавить в конфигурацию PHP (php.ini) строку, отвечающую за загрузку расширения:

Эта операция различается для CentOS и Debian/Ubuntu:

4.1 Для CentOS

В CentOS есть основной файл php.ini, в который мы и добавим вышеуказанную строку. Откроем файл для редактирования:

nano /etc/php.ini

И добавим строку в него:

zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so

У вас будет другой путь, поэтому проверьте, что ничего не перепутали.

После этого сохраняем файл и перезапускаем вебсервер и PHP (если PHP НЕ как модуль Apache):

service httpd restart
service php-fpm restart

4.2 Для Debian/Ubuntu

В отличие от CentOS в Debian/Ubuntu есть несколько файлов php.ini, для PHP CLI (командная строка), CGI, модуля Apache и PHP FPM.

Обычно они расположены по следующим путям:

/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/cgi/php.ini
/etc/php5/fpm/php.ini

Нам потребуется отредактировать каждый из них или отредактировать только нужные вам (допустим вам не нужен Ioncube Loader в CGI)

Также как и в CentOS открываем файл для редактирования и добавляем вышеуказанную строку:

Для модуля Apache:

nano /etc/php5/apache2/php.ini

И вставляем 

zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so

Эту же операцию проводим для остальных файлов.

После чего перезагружаем вебсервер и PHP (если PHP НЕ как модуль Apache):

service apache2 restart
service php5-fpm restart

5. Проверяем Ioncube Loader

Проверим, правильно ли мы установили Ioncube Loader, для этого в консоли выполните следующую команду:

php -v

В результате вы получите что-то вроде

Наш Ioncube Loader успешно устновлен и работает (выделен на скриншоте).

Учтите, что если вы не устанавливали Ioncube Loader для консоли (CLI), то он может отсутствовать в выводе команды, поэтому нужно использовать вывод phpinfo() на сайте:

Создайте на вашем сайте файл с произвольным именем и добавьте в него:

<?php
phpinfo();
?>

После чего откройте в браузере этот файл, вы должны увидеть длинный вывод с большим количеством информации, но нам интересна эта часть:

На этом все 🙂

Exit mobile version