Установка ionCube в Ubuntu 16.04

ionCube – это модуль PHP, предназначенный для загрузки зашифрованных PHP-файлов и ускоряет загрузку веб-страниц, что необходимо для корректной работы многих PHP-приложений. Данное руководство поможет установить ionCube на сервер Ubuntu 16.04.

Требования

  • Сервер Ubuntu 16.04 и пользователь с доступом к sudo (все дополнительные инструкции можно найти здесь).
  • Предварительно установленный веб-сервер Apache или Nginx и PHP (читайте руководство по установке стека LAMP или LEMP).

1: Выбор версии ionCube

Версия ionCube должна совпадать с версией PHP. Чтобы выбрать правильную версию ionCube, нужно знать:

  • Номер версии PHP;
  • Архитектуру (32-битная или 64-битная).

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

Создайте файл info.php в корневом каталоге веб-сервера (по умолчанию это /var/www/html) с помощью текстового редактора.

sudo nano /var/www/html/info.php

Вставьте в него следующий код:

<?php
phpinfo();

Сохраните файл и откройте в браузере ссылку:

http://your_server_ip/info.php

На экране появится страница с таким заголовком:

PHP Version 7.0.8-3ubuntu3

Ниже будет представлен список параметров PHP.

Как видите, версия PHP указана в самом заголовке. В данном случае используется версия 7.0.8. Обратите внимание на строку System. Если в конце этой строки вы видите x86_64, вы используете 64-битную версию PHP, а если i686, то 32-битную.

Теперь можно загрузить ionCube.

2: Установка ionCube

Посетите сайт ionCube и найдите ссылку на соответствующую версию пакета. В данном случае это 64-битный пакет Linux. Скопируйте ссылку на архив tar.gz и загрузите файл.

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

Распакуйте архив:

tar xvfz ioncube_loaders_lin_x86-64.tar.gz

Примечание: Версия может отличаться.

Эта команда создаст каталог ioncube, в котором хранятся разные файлы для разных версий PHP. В данном случае нужен файл для версии PHP 7.0, он называется ioncube_loader_lin_7.0.so. Этот файл нужно скопировать в каталог расширений PHP, extension_dir. Чтобы найти путь к нему, снова откройте страницу:

http://your_server_ip/info.php

Путь к этому каталогу будет указан в строке extension_dir (в данном случае это /usr/lib/php/20151012). Скопируйте файл в указанное место:

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

Чтобы PHP-расширение загружалось, его нужно добавить в настройки PHP. Это можно сделать в конфигурационном файле php.ini, но лучше всё же создать отдельный файл для параметров расширения: так вы сможете загружать его раньше других расширений и избежать возможных конфликтов.

Чтобы узнать, где можно создать пользовательский конфигурационный файл, откройте страницу info.php:

http://your_server_ip/info.php

Найдите строку Scan this dir for additional .ini files.

Scan this dir for additional .ini files    /etc/php/7.0/apache2/conf.d

Теперь нужно создать файл 00-ioncube.in в каталоге /etc/php/7.0/apache2/conf.d. Два нуля в начале файла позволяют загружать этот файл прежде других расширений PHP.

sudo nano /etc/php/7.0/apache2/conf.d/00-ioncube.ini

Добавьте в файл такую строку:

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

Сохраните и закройте файл.

Чтобы изменения вступили в силу, перезапустите веб-сервер:

# Apache:
sudo systemctl restart apache2.service
# Nginx:
sudo systemctl restart nginx

Также можно перезапустить php-fpm:

sudo systemctl restart php7.0-fpm.service

3: Тестирование ionCube

Вернитесь на страницу info.php:

http://your_server_ip/info.php

Обновите её и найдите ключевое слово ionCube. Вы увидите:

[…] Zend engine v3.0.0. Copyright © 1998-2016 Zend Technologies
with the ionCube PHP Loader (enabled) + Instruction Protection from ioncube24.com […]

Это значит, что расширение ionCube загружено на сервер.

После установки ionCube страницу info.php нужно удалить: она открывает доступ к конфиденциальным данным сервера и подвергает его опасности.

sudo rm /var/www/html/info.php

Также вы можете удалить дополнительные файлы ionCube:

sudo rm ioncube_loaders_lin_x86-64.tar.gz
sudo rm -rf ioncube_loaders_lin_x86-64

Расширение ionCube полностью готово к работе. Теперь вы можете использовать его для поддержки любого PHP-приложения, которому необходим этот модуль.

Tags: , , , ,

1 комментарий

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