Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

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

Установка Ubuntu Server
Ответить
Аватара пользователя
ALEXX
Администратор
Администратор
Сообщения: 1350
Зарегистрирован: 21 дек 2014, 14:59
Откуда: Королёв
Контактная информация:

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

Сообщение ALEXX »

Версия 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).
или посмотрите командой:

Код: Выделить всё

php -i |grep extension_dir
Скопируйте нужный файл (в зависимости от версии php) в указанное место:
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-приложения, которому необходим этот модуль.
Ответить

Вернуться в «Ubuntu Server»