WHMCS (Web Host Manager Complete Solution) — система автоматизации для хостинг-компаний и провайдеров интернет-услуг. Она предлагает функционал для управления клиентами, выставления счетов, поддержки и автоматизации процессов. Дальше приведем инструкцию по установке данного модуля.
Загрузка модуля на сервер через командную строку с помощью scp:
scp /path/to/local/module-whmcs-billmanager.zip
username@remote_server:/path/to/remote/directory
Пример если вы уже находитесь в папке с файлом:
scp module-whmcs-billmanager.ziproot@77.92.122.212:/var/www/www-root/data/www/data-hub.online/
Затем потребуется ввести пароль от сервера.
После загрузки файла на сервер подключитесь к серверу по SSH и распакуйте файл
ssh user@remote_server
Потребуется ввести пароль от сервера.
Затем нужно перейти в папку вашего проекта и куда вы загрузили файл
cd /var/www/path/to/destination/
Архив нужно распаковать в корень проекта
unzip module-whmcs-billmanager.zip
В данном архиве есть 3 версии модуля соответствующие версии php на которой работает whmcs, чтобы узнать свою версию php перейдите в Utilities/System/PHP info
Затем вам нужно ещё раз распаковать архив версии которую поддерживает ваш whmcs.
Для версии php 7.1, php 7.2, php 7.4 введите
unzip version7.1|7.2|7.4.zip
Для версии php 8.1 введите
unzip version8.1
Для версии php 8.2 введите
unzip version8.2
Затем нужно (обязательно) выдать права файлам сделать это можно находясь в папке проекта, ввести команду
chmod -R 755 modules/servers/PQH
Модуль загружен.
Или Загрузка модуля на сервер через FileZilla
На своем компьютере распаковать файл module-whmcs-billmanager.zip
Затем вам нужно ещё раз распаковать архив версии которую поддерживает ваш whmcs:
Для версии php 7.1, php 7.2, php 7.4 архив version7.1|7.2|7.4.zip
Для версии php 8.1 архив version8.1
Для версии php 8.2 архив version8.2
Затем подключиться к своему серверу с помощью filezilla
Перенести файлы в корневую папку сайта из архива соответствующей вашей версии php (как на скриншоте ниже).
Затем нужно (обязательно) выдать права папке и файлам сделать это можно перейдя в папку modules/servers и кликнуть правой кнопкой мыши по папке PQH и выбрать пункт атрибуты файла в всплывающем окне прописать в поле числовое значение 755 и поставить галочку на recurse into subdirectories (как на скриншоте ниже)
Модуль загружен.
На нашем shared-хостинге, поддержка IonCube и его версия зависит от выбранной для пользователя версии PHP. Это актуально для любой линейки тарифных планов хостинга, а также для виртуальных/выделенных серверов с установленной панелью ISPManager.
Если у Вас сервер без какой-либо панели управления, Вы можете столкнуться с необходимостью ручной установки IonCube.
Процесс установки может отличаться в зависимости от Вашей ОС. Вне зависимости от ОС, первым шагом всегда является подключение по SSH и получения root доступа.
Для установки IonCube требуется машина с активным и работающим веб сервером, Apache или Nginx, а также установленная версия PHP из списка поддерживаемых IonCube Loader.
Важно: значение команд, используемых при установке IonCube Loader варьируются в зависимости от некоторых переменных: версии PHP на сервере, локации PHP-директории и версии архитектуры сервера. Здесь и в дальнейшем мы будем выделять значения этих переменных. Вместо них, при установке, необходимо будет подставить соответствующие значения для Вашего сервера.
1 .Подключитесь к серверу по SSH.
2. Проверьте архитектуру текущего сервера:
uname -m
Exit
x86_64
Как видим из x86_64, наш текущий сервер работает на 64-битной архитектуре. Значения вида i686 указывали бы на обратное – 32-х битную архитектуру.
Далее, переходим директорию tmp и загружаем необходимый архив:
Для 64-битных систем:
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Для 32-битных систем:
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
После загрузки архива необходимо его разархивировать:
Так как в примере у нас используется 64-х битная архитектура, мы загрузили и распаковываем именно такой архив.
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz
5. Переходим в директорию ioncube и просматриваем список файлов.
cd ioncube/
ls -l
Вывод
total 39260
-rw-rw-r-- 1 507 507 472192 Sep 9 2023 ioncube_loader_lin_4.1.so
-rw-rw-r-- 1 507 507 471968 Sep 9 2023 ioncube_loader_lin_4.2.so
-rw-rw-r-- 1 507 507 472768 Sep 9 2023 ioncube_loader_lin_4.3.so
-rw-rw-r-- 1 507 507 490752 Sep 9 2023 ioncube_loader_lin_4.3_ts.so
-rw-rw-r-- 1 507 507 475840 Sep 9 2023 ioncube_loader_lin_4.4.so
-rw-rw-r-- 1 507 507 494880 Sep 9 2023 ioncube_loader_lin_4.4_ts.so
-rw-rw-r-- 1 507 507 483360 Sep 9 2023 ioncube_loader_lin_5.0.so
-rw-rw-r-- 1 507 507 497632 Sep 9 2023 ioncube_loader_lin_5.0_ts.so
-rw-rw-r-- 1 507 507 1116768 Sep 9 2023 ioncube_loader_lin_5.1.so
-rw-rw-r-- 1 507 507 1155744 Sep 9 2023 ioncube_loader_lin_5.1_ts.so
-rw-rw-r-- 1 507 507 1139936 Sep 9 2023 ioncube_loader_lin_5.2.so
-rw-rw-r-- 1 507 507 1176704 Sep 9 2023 ioncube_loader_lin_5.2_ts.so
-rw-rw-r-- 1 507 507 1222328 Sep 9 2023 ioncube_loader_lin_5.3.so
-rw-rw-r-- 1 507 507 1275512 Sep 9 2023 ioncube_loader_lin_5.3_ts.so
-rw-rw-r-- 1 507 507 1512960 Sep 9 2023 ioncube_loader_lin_5.4.so
-rw-rw-r-- 1 507 507 1599584 Sep 9 2023 ioncube_loader_lin_5.4_ts.so
-rw-rw-r-- 1 507 507 1520056 Sep 9 2023 ioncube_loader_lin_5.5.so
-rw-rw-r-- 1 507 507 1602040 Sep 9 2023 ioncube_loader_lin_5.5_ts.so
-rw-rw-r-- 1 507 507 1485192 Sep 9 2023 ioncube_loader_lin_5.6.so
-rw-rw-r-- 1 507 507 1549640 Sep 9 2023 ioncube_loader_lin_5.6_ts.so
-rw-rw-r-- 1 507 507 1254608 Sep 9 2023 ioncube_loader_lin_7.0.so
-rw-rw-r-- 1 507 507 1316080 Sep 9 2023 ioncube_loader_lin_7.0_ts.so
-rw-rw-r-- 1 507 507 1355080 Sep 9 2023 ioncube_loader_lin_7.1.so
-rw-rw-r-- 1 507 507 1438760 Sep 9 2023 ioncube_loader_lin_7.1_ts.so
-rw-rw-r-- 1 507 507 1407568 Sep 9 2023 ioncube_loader_lin_7.2.so
-rw-rw-r-- 1 507 507 1489008 Sep 9 2023 ioncube_loader_lin_7.2_ts.so
-rw-rw-r-- 1 507 507 1316800 Sep 9 2023 ioncube_loader_lin_7.3.so
-rw-rw-r-- 1 507 507 1386880 Sep 9 2023 ioncube_loader_lin_7.3_ts.so
-rw-rw-r-- 1 507 507 1363392 Sep 9 2023 ioncube_loader_lin_7.4.so
-rw-rw-r-- 1 507 507 1430848 Sep 9 2023 ioncube_loader_lin_7.4_ts.so
-rw-rw-r-- 1 507 507 1401736 Sep 9 2023 ioncube_loader_lin_8.1.so
-rw-rw-r-- 1 507 507 1506216 Sep 9 2023 ioncube_loader_lin_8.1_ts.so
-rw-rw-r-- 1 507 507 1439016 Sep 9 2023 ioncube_loader_lin_8.2.so
-rw-rw-r-- 1 507 507 1546568 Sep 9 2023 ioncube_loader_lin_8.2_ts.so
-rw-r--r-- 1 507 507 10768 Aug 5 2022 LICENSE.txt
-rw-r--r-- 1 507 507 181104 Aug 15 2022 loader-wizard.php
-rw-r--r-- 1 507 507 4070 Sep 9 2023 README.txt
-rw-r--r-- 1 507 507 39548 Sep 9 2023 USER-GUIDE.pdf
-rw-r--r-- 1 507 507 11269 Sep 9 2023 USER-GUIDE.txt
Как видим, в архиве присутствовало множество различный версий модуля для разных версий PHP. Необходимо узнать, какой из этих файлов нужен нам для дальнейшей установки.
6. Зная свою версию PHP(из первого шага), Следующим шагом, определяем локацию директории, в которую необходимо будет устанавливать IonCube Loader.
php -i | grep extension_dir
Вывод
extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902
Локация /usr/lib/php/20210902 понадобится нам в дальнейшем процессе установки. В ОС из ветки Centos такая папка может иметь вид /usr/lib64/php/modules.
7. Копируем файлы IonCube в нужную директорию.
sudo cp /tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
8. Теперь необходимо внести правки в файлы конфигурации php.ini. В разных конфигурациях сервера у них может варьироваться локация:
sudo nano /etc/php/8.1/cli/php.ini #для PHP CLI
sudo nano /etc/php/8.1/fpm/php.ini #для PHP-FPM & Nginx
sudo nano /etc/php/8.1/apache2/php.ini #для Apache2
Вставьте строку следующего вида в самое начало php.ini:
zend_extension = /usr/lib/php/20210902/ioncube_loader_lin_8.1.so
9. Выполните рестарт вебсервера:
Apache Ubuntu/Debian
sudo systemctl restart apache2
Apache Centos/Rocky/Alma
sudo systemctl restart httpd
Nginx/PHP-FPM
sudo systemctl restart nginx
sudo systemctl restart php-fpm
10. Проверьте правильность установки командой:
php -v
Если установка успешна, строка с информацией о текущей версии IonCube будет отображаться следующим образом:
Вывод
PHP 8.1.2-1ubuntu2.17 (cli) (built: May 1 2024 10:10:07) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with the ionCube PHP Loader v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
with Zend OPcache v8.1.2-1ubuntu2.17, Copyright (c), by Zend Technologies
Заходим в панель администратора.
System Settings/Servers
Нажимаем добавить новый сервер(Add New Server)
Заполняем форму как на скриншоте ниже
В поле Module находим: PQH
В поле Hostname or IP Address вводим: bill.pq.hosting
Далее вводим свои данные аккаунта(логин, пароль) от bill.pq.hosting
И нажимаем continue.
Далее на следующей странице нужно ввести имя сервера(на ваш выбор) и нажимаем Save Changes
Нужно создать нового администратора.
Это можно сделать перейдя в settings/manage admins
Затем нажать на кнопку Add New Administrator
Роль: Full administrator
Username (обязательно!): apisystem
Остальный данные на ваш выбор
Пример(скриншот ниже)
Такие поля как выбор операционной системы при покупке можно настроить перейдя в settings/system settings/Configurable Options
Нажать на кнопку Create a New Group, далее по своему усмотрению задать имя группы
и нажать кнопку Save Changes, затем нажать на кнопку которая появится Add New Configurable Option
Затем в всплывающем окне ввести в поле Option Name: “VM Template”
Затем добавляем значение в поле Add Options.
Вот список всех поддерживаемых значений:
VM6_ISPsystem_Alma-Linux-8
VM6_ISPsystem_Alma-Linux-9
VM6_ISPsystem_Astra-Linux-CE
VM6_ISPsystem_CentOS-8-Stream
VM6_ISPsystem_CentOS-9-Stream
VM6_ISPsystem_Debian-10
VM6_ISPsystem_Debian-11
VM6_ISPsystem_Debian-12
VM6_ISPsystem_FreeBSD-12
VM6_ISPsystem_FreeBSD-13
VM6_ISPsystem_Oracle-Linux-8
VM6_ISPsystem_Rocky-Linux-8
VM6_ISPsystem_Ubuntu-18.04
VM6_ISPsystem_Ubuntu-20.04
VM6_ISPsystem_Ubuntu-22.04
VM6_ISPsystem_VzLinux-8
Нажать Save Changes и в этой вкладке и в вкладке Configurable Option Groups.
Перейти в Settings/System settings/ Products,Services
Создать новую группу нажатием на кнопки Create a New Group.
Далее заполните поля по своему усмотрению
Сохраните и перейдите снова в Settings/System settings/ Products,Services
Остальное заполните по вашему усмотрению
После сохранения, вам доступно настроить этот продукт
В вкладке Details(скриншот ниже) вы можете настроить продукт по своему усмотрению (Product Name,Product Tagline, Product Short Description, Product Description).
Checkbox в значении Require Domain стоит убрать.
Не забудьте сохранить настройки продукта
В вкладке Pricing (скриншот ниже) вы можете настроить оплату за продукт. Не забудьте сохранить настройки продукта
В вкладке Module Settings (скриншот ниже)
Выберите (обязательно) Module Name: PQH
Затем выберите дата центр и тариф который будет соответствовать этому продукту.
Не забудьте сохранить настройки продукта
В вкладке Custom Fields (скриншот ниже) ОБЯЗАТЕЛЬНО в поле Field Name вставьте значение “VMid”
Остальные вкладки настройте по своему усмотрению.
Далее для упрощения процесса добавление продуктов мы можете их дублировать (скриншот ниже)
Создайте пользователя, пополните ему счет и попробуйте заказать услугу с тестового аккаунта. При заказе пользователем модуль передаст в BILLmanager все параметры, закажет сервер автоматический и при активации сервера на стороне BILLmanager, активируется и услуга на стороне WHMCS.