Как установить Ioncube Loader на CentOS, Debian и Ubuntu
На этой странице
- 1 Предпосылки
- СентОС
- Debian и Ubuntu
- 4.1 Настройка загрузчика Ioncube в CentOS
- 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 restart4.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 restart5 Тестовый ионный куб
Давайте проверим, успешно ли установлен загрузчик 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 ссылок
- СентОС
- Дебиан
- Убунту
- Ионокуб