Поиск по сайту:

Как установить Ioncube Loader на CentOS, Debian и Ubuntu


На этой странице

  1. 1 Предпосылки
    1. СентОС
    2. Debian и Ubuntu

    1. 4.1 Настройка загрузчика Ioncube в CentOS
    2. 4.2 Настройка загрузчика Ioncube в Debian и Ubuntu

    Загрузчик Ioncube — это PHP-модуль для загрузки файлов, защищенных программным обеспечением Ioncube Encoder. Ioncube часто используется поставщиками коммерческого программного обеспечения PHP для защиты своего программного обеспечения, поэтому вполне вероятно, что вы рано или поздно столкнетесь с закодированным файлом Ioncube при установке расширений для CMS или программного обеспечения Shop, написанного на PHP. В этом руководстве я подробно объясню установку модуля загрузчика Ioncube для CentOS, Debian и Ubuntu.

    1 Предпосылки

    На вашем сервере должен быть установлен язык программирования PHP. Я буду использовать редактор командной строки Nano и приложение для загрузки из командной строки wget. Nano и Wget установлены на большинстве серверов, если их нет на вашем сервере то установите их с помощью apt/yum:

    CentOS

    yum install nano wget

    Дебиан и Убунту

    apt-get install nano wget

    2 Скачать загрузчик Ioncube

    Файлы загрузчика Ioncube можно бесплатно загрузить с Ioncube Inc. Они существуют для 32-битных и 64-битных систем Linux.

    На первом этапе я проверю, является ли сервер 32-битной или 64-битной системой. Бег:

    uname -a

    Вывод будет примерно таким:

    Когда текст содержит \x86_64\, сервер работает под управлением 64-битного Linux Kerbel. В противном случае это 32-битное (i386) ядро. Большинство современных серверов Linux используют 64-битное ядро.

    Загрузите загрузчик в формате tar.gz в папку /tmp и распакуйте его:

    Для 64-разрядной версии x86_64 Linux:

    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-битной i386 Linux:

    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 подходит?

    Когда вы запускаете \ls /tmp/ioncube\, вы видите, что в каталоге ioncube много файлов загрузчика.

    Файлы имеют номер, соответствующий версии PHP, для которой они созданы, а также существует версия \_ts\ (Thread Safe) каждого загрузчика. Здесь мы будем использовать версию без потокобезопасности.

    Чтобы узнать установленную версию php, выполните команду:

    php -v

    Вывод будет примерно таким:

    Для этой задачи важны только первые две цифры номера версии в первой строке результата, на этом сервере я буду запускать PHP 7.0. Мы записываем это число, так как оно нам нужно для следующих шагов.

    Теперь пришло время узнать, где находится каталог расширения этой версии PHP, выполните следующую команду, чтобы найти имя каталога:

    php -i | grep extension_dir

    Вывод должен быть похож на тот, что на этом снимке экрана:

    Я отметил путь на скриншоте, каталог расширения на этом сервере \/usr/lib/php/20151012\. Имя каталога будет разным для каждой версии PHP и дистрибутива Linux, просто используйте то, которое вы получаете от команды, а не то, которое я получил здесь.

    Нет необходимости копировать загрузчик ioncube для нашей версии PHP 7.0 в каталог расширения /usr/lib/php/20151012:

    cp /tmp/ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/

    Замените \7.0\ выше на вашу версию PHP и \/usr/lib/php/20151012\ на каталог расширения вашей версии PHP.

    4 Настройте PHP для загрузчика Ioncube

    Следующий шаг настройки немного отличается для Centos и Debian/Ubuntu. Нам нужно будет добавить строку:

    zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so

    в качестве первой строки в файл(ы) php.ini системы. Опять же, указанный выше путь содержит каталог расширения \/usr/lib/php/20151012\ и версию PHP \7.0\, убедитесь, что вы заменили их в соответствии с настройкой вашей системы. Начну с инструкций для CentOS.

    4.1 Настройка загрузчика Ioncube на CentOS

    В Centos есть только один центральный файл php.ini, в который мы должны добавить загрузчик ioncube. Откройте файл /etc/php.ini в редакторе:

    nano /etc/php.ini

    и добавьте \zend_extension =\ плюс путь к загрузчику ioncube в качестве первой строки в файле.

    zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so

    Затем сохраните файл и перезапустите веб-сервер Apache:

    service httpd restart
    service php-fpm restart

    4.2 Настройка загрузчика Ioncube в Debian и Ubuntu

    Debian и Ubuntu используют отдельные файлы php.ini для режима PHP CLI (командная строка), CGI, Apache2 и FPM. Пути к файлам:

    • /etc/php/7.0/apache2/php.ini
    • /etc/php/7.0/cli/php.ini
    • /etc/php/7.0/cgi/php.ini
    • /etc/php/7.0/fpm/php.ini

    Файл необходимо отредактировать, чтобы включить загрузчик ioncube в соответствующий режим PHP. Вы можете не указывать файлы для режимов PHP, которые вы не используете или где вам не нужна поддержка загрузчика ioncube. Также возможно, что на вашем сервере нет всех файлов, поэтому не беспокойтесь, если вы не можете найти один из файлов.

    Apache mod_php

    nano /etc/php/7.0/apache2/php.ini

    Командная строка PHP (CLI)

    nano /etc/php/7.0/cli/php.ini

    PHP CGI (используется для режимов CGI и Fast_CGI)

    nano /etc/php/7.0/cgi/php.ini

    PHP FPM

    nano /etc/php/7.0/fpm/php.ini

    и добавьте \zend_extension =\ плюс путь к загрузчику ioncube в качестве первой строки в файле(ах).

    zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so

    Затем сохраните файл(ы) и перезапустите веб-сервер Apache и php-fpm:

    service apache2 restart
    service php7.0-fpm restart

    5 Тестовый ионный куб

    Давайте проверим, успешно ли установлен загрузчик ioncube. Сначала я протестирую командную строку PHP. Бег:

    php -v

    Я отметил строку белым цветом, которая показывает, что загрузчик ioncube включен:

    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd.

    Если вы хотите протестировать PHP веб-сайта, создайте файл info.php со следующим содержимым:

    <?php
    phpinfo();
    ?>

    И откройте URL-адрес в веб-браузере. Вы сможете увидеть ioncube в выводе phpinfo():

    6 ссылок

    • СентОС
    • Дебиан
    • Убунту
    • Ионокуб