Способы оплаты Abuse

Инструкция по установке модуля WHMCS

26.09.2024, 12:51

WHMCS (Web Host Manager Complete Solution) — система автоматизации для хостинг-компаний и провайдеров интернет-услуг. Она предлагает функционал для управления клиентами, выставления счетов, поддержки и автоматизации процессов. Дальше приведем инструкцию по установке данного модуля.

ШАГ 1. Загрузка модуля

Загрузка модуля на сервер через командную строку с помощью 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 (как на скриншоте ниже)

Модуль загружен.

ШАГ 2.Проверка IonCube

На нашем shared-хостинге, поддержка IonCube и его версия зависит от выбранной для пользователя версии PHP. Это актуально для любой линейки тарифных планов хостинга, а также для виртуальных/выделенных серверов с установленной панелью ISPManager.

Внимание: если на Вашем сервере установлена панель ISPManager4 – у Вас уже установлен IonCube для всех поддерживаемых версий. Выполнять эту инструкцию ни в коем случае не стоит, так как это может привести к полной неработоспособности сервера. В случае возникновения потребности обновить версию IonCube – обратитесь в Службу поддержки.

Предварительные требования к установке IonCube

Если у Вас сервер без какой-либо панели управления, Вы можете столкнуться с необходимостью ручной установки IonCube.

Процесс установки может отличаться в зависимости от Вашей ОС. Вне зависимости от ОС, первым шагом всегда является подключение по SSH и получения root доступа.

Для установки IonCube требуется машина с активным и работающим веб сервером, Apache или Nginx, а также установленная версия PHP из списка поддерживаемых IonCube Loader.

Внимание: IonCube Loader имеет определенную особенность – он зачастую не поддерживает “нулевые” версии PHP, например PHP 8.0. При этом, версии PHP 8.1 или PHP 8.2 им поддерживаются.

Пошаговая установка IonCube

Важно: значение команд, используемых при установке IonCube Loader варьируются в зависимости от некоторых переменных: версии PHP на сервере, локации PHP-директории и версии архитектуры сервера. Здесь и в дальнейшем мы будем выделять значения этих переменных. Вместо них, при установке, необходимо будет подставить соответствующие значения для Вашего сервера.

1 .Подключитесь к серверу по SSH.

2. Проверьте архитектуру текущего сервера:

uname -m
Вывод
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

ШАГ 3. Добавить сервер

Заходим в панель администратора.

System Settings/Servers

Нажимаем добавить новый сервер(Add New Server)

Заполняем форму как на скриншоте ниже

В поле Module находим: PQH

В поле Hostname or IP Address вводим: bill.pq.hosting

Далее вводим свои данные аккаунта(логин, пароль) от bill.pq.hosting

И нажимаем continue.

Далее на следующей странице нужно ввести имя сервера(на ваш выбор) и нажимаем Save Changes

ШАГ 4. Администратор модуля

Нужно создать нового администратора.

Это можно сделать перейдя в settings/manage admins

Затем нажать на кнопку Add New Administrator

Роль: Full administrator

Username (обязательно!): apisystem

Остальный данные на ваш выбор

Пример(скриншот ниже)

ШАГ 5. Дополнительные поля

Такие поля как выбор операционной системы при покупке можно настроить перейдя в 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.

ШАГ 6. Добавления продуктов

Перейти в Settings/System settings/ Products,Services

Создать новую группу нажатием на кнопки Create a New Group.

Далее заполните поля по своему усмотрению

Сохраните и перейдите снова в Settings/System settings/ Products,Services

  1. Нажмите на Create a New Product
  2. Затем (обязательно) выберите 
  3. Product Type: Server/VPS
  4. Module: PQH

Остальное заполните по вашему усмотрению

После сохранения, вам доступно настроить этот продукт

В вкладке Details(скриншот ниже) вы можете настроить продукт по своему усмотрению (Product Name,Product Tagline, Product Short Description, Product Description).

Checkbox в значении Require Domain стоит убрать.

Не забудьте сохранить настройки продукта

В вкладке Pricing (скриншот ниже) вы можете настроить оплату за продукт. Не забудьте сохранить настройки продукта

В вкладке Module Settings (скриншот ниже)

Выберите (обязательно) Module Name: PQH

Затем выберите дата центр и тариф который будет соответствовать этому продукту.

Не забудьте сохранить настройки продукта

В вкладке Custom Fields (скриншот ниже) ОБЯЗАТЕЛЬНО в поле Field Name вставьте значение “VMid”

Остальные вкладки настройте по своему усмотрению.

Далее для упрощения процесса добавление продуктов мы можете их дублировать (скриншот ниже)

ШАГ 7. Тестирование

Создайте пользователя, пополните ему счет и попробуйте заказать услугу с тестового аккаунта. При заказе пользователем модуль передаст в BILLmanager все параметры, закажет сервер автоматический и при активации сервера на стороне BILLmanager, активируется и услуга на стороне WHMCS.