Установка 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: Apache, IonCube, NGINX, PHP, Ubuntu 16.04
1 комментарий
Спасибо, лучший гайд, что я на шел. Ставил на Ubuntu 16.04.2 x64 с Vesta CP 0.9.8, всё прошло успешно.