Домены
Интересные статьи
Домены

Установка 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

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

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/ вы увидите много файлов:

ioncube_loaders_dir

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

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

php -v

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

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

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

php -i | grep extension_dir

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

php_extension_directoryНа скриншоте нужный нам путь был выделен. И это /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_test_cliНаш Ioncube Loader успешно устновлен и работает (выделен на скриншоте).

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

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

<?php
phpinfo();
?>

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

ioncube_php_infoНа этом все 🙂

Обо мне cyber01

Прочитайте также

Как установить Python 3.6 в CentOS 6

В CentOS 6 по умолчанию используется Python 2, но бывает даже для такой старой системы …

Как установить RabbitMQ в CentOS 7

RabbitMQ это широко используемый брокер сообщений с открытым исходным кодом, написан на языке программирования Erlang. …

Как сделать дамп только нужных записей из базы данных

Бывало такое, что из всей таблицы нужно сделать дамп только определенных строк? Например, результата какого-либо …

9 комментариев

  1. Спасибо.Как изменить nano /etc/php5/apache2/php.ini ? Извенити,я новичок в люнекс.Даже незнаю как изменить и сохранить.

  2. Аноним

    Спасибо огромное за статью. Успешно!

  3. Еще одно спасибо

  4. Дмитрий

    Супер спасибо) настроил все работает.

  5. Мужик, спасибо большое! Все заработало! Ты просто мировой чувак, повсюду инструкции для апач, все прям четко под Ubuntu + Nginx + php-fpm и под мою версию 5.6! Невероятно

  6. Сергей

    Спасибо! Заработало!

  7. Только нужно помнить что при заливке в tmp папку. При рестарте сервера файлы будут удалены ваши

    • Да, это так, поэтому /tmp в статье используется для временных файлов, а нужные после этого просто были скопированы на свое место

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *