Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації щодо оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

unicornteleport

Unicorn Teleport - міграція на новий хост

Важливо: перед збиранням пакунку міграції, необхідно оновити ваш поточний біллінг до останньої нічної збірки.

Знаходиться в “Консолі Розробника”

ось тут

Тут можна відмітити, куди ми зібрались телепортувати наш Ubilling і які саме дані резервувати.

Збирання пакунку телепорту може зайняти деякий час, і повинна завершитись якось так

Можете собі його завантажити з веб-інтерфейсу

або можете одразу залити пакунок телепорту, напряму з білінгового сервера на новий хост (якщо він доступний звідти)

scp /usr/local/www/apache24/data/billing/exports/unicornteleport.tgz 192.168.0.223:/tmp/

Ну або завантажити собі і залити його потім куди вам треба

scp unicornteleport.tgz 192.168.0.223:/tmp/

(тут сподіваюсь очевидно, що 192.168.0.223 це IP нового, сервера з чистою FreeBSD 14.3 для прикладу?)

Крок 1. Розпакування пакунку телепорту

$ ssh 192.168.0.223
$ su
# cd /tmp/
# tar zxvf unicornteleport.tgz -C /usr/local/
# cd /usr/local/unicornteleport

всередині лежить файлик README, з детальними інструкціями, що до розгортання пакунку телепортації в декілька простих кроків. Якогось такого вмісту:

# Unicorn Teleport Guide

To migrate your Ubilling 1.5.9 rev 9494 with serial UB45fc024bbb2632be0b3de41ff8a8b15b as it was by 2025-11-25 14:19:04 to another host, make following actions:

## Step 1: Extract teleport package
tar zxvf unicornteleport.tgz -C /usr/local/
cd /usr/local/unicornteleport

## Step 2: Install base system
fetch http://snaps.ubilling.net.ua/ubinstaller_current.tar.gz
tar zxvf ubinstaller_current.tar.gz
cd ubinstaller
sh Batchinstaller.sh MIG 143_6L CURRENT em0 em1 mys123456 stg123456 rsd123456 UB45fc024bbb2632be0b3de41ff8a8b15b

## Step 3: Restore database data and configurations
cd /usr/local/unicornteleport
mysql --host localhost -u root -pmys123456 stg < unicornteleport.sql

tar zxvf wwwdata.tgz -C /usr/local/www/apache24
tar zxvf apache_conf.tgz -C /usr/local/etc
tar zxvf rcconf.tgz -C /etc
tar zxvf firewallconf.tgz -C /etc
tar zxvf stgconfig.tgz -C /etc
/usr/bin/crontab crontab

Так, всі серійники, паролі, інші налаштування, вже намальовані так як треба, як вони були на вашій системі, де ви збирали цей пакунок. Давайте пройдемось по цих кроках. Вдумливим копіпастом.

Крок 2. Встановлення Ubillling

Початково, необхідно завантажити максимально свіжий нічний білд скрипта встановлення Ubilling

fetch http://snaps.ubilling.net.ua/ubinstaller_current.tar.gz
tar zxvf ubinstaller_current.tar.gz
cd ubinstaller

Та запустити його пакетну версію, якось так:

sh Batchinstaller.sh MIG 143_6L CURRENT em0 em1 mys123456 stg123456 rsd123456 UB45fc024bbb2632be0b3de41ff8a8b15b

Коротко про параметри Batchinstaller

Синтаксис:

Batchinstaller.sh <type> <arch> <channel> <internal_interface> [external_interface] [mysql_pass] [stargazer_pass] [rscriptd_pass] [ubilling_serial]

Обов’язкові параметри

  • type - тип встановлення:
    • NEW - нове встановлення
    • MIG - міграція існуючої системи

Детальніше про іменування бінарних пакунків, можна дізнатись тут

  • channel - канал встановлення Ubilling:
    • STABLE - останній стабільний реліз
    • CURRENT - поточна нічна збірка
  • internal_interface - назва внутрішнього мережевого інтерфейсу. Обов'язкова.

Необов’язкові параметри

  • external_interface - назва зовнішнього інтерфейсу (використовується для NAS та розгортання фаєрволу).

Параметри, обов’язкові для типу MIG

  • mysql_pass - пароль root для MySQL.
  • stargazer_pass - пароль адміністратора Stargazer.
  • rscriptd_pass - пароль шифрування rscriptd.
  • ubilling_serial - серійний номер Ubilling.

Тобто уважно дивимось на це все. В першу чергу, на архітектуру системи на якій ви намагаєтесь розгорнути цей пакунок телепорту, а також на те, як у вас вже попередньо налаштовані інтерфейси на цій системі. У випадку, якщо ваш новий сервер максимально повторює конфігурацію попереднього - сильно багато можна не думати і копіпастити запуск Batchinstaller як він є.

Отож після запуску Batchinstaller почнеться встановлення чистого Ubilling з потрібними вам параметрами, взятими напряму з вашої системи, котру ви телепортуєте

яке повинно би закінчитись якось так

Важливо: не перезавантажуємось!

Крок 2. Розгортання резервної копії бази

Тут все просто, беремо та копіпастимо.

cd /usr/local/unicornteleport
mysql --host localhost -u root -pmys123456 stg < unicornteleport.sql

Все. Тепер ми маємо свіжий Ubilling, з нашою базою, знятою на момент створення пакунку телепорту.

Що нам може знадобитись ще? Ну наприклад, ми хотіли б для початку, розгорнути весь наш вміст apache24/data, оскільки там живуть наш біллінг, його адміністратори, різні дані, за звичай всякі вже налаштовані openpayz, та інші вже налаштовані сервіси.

tar zxvf wwwdata.tgz -C /usr/local/www/apache24

також нам може захотітись відновити наш попередній crontab, оскільки в нас там теж можуть бути (і скоріш за все є) різні кастомні штуки:

/usr/bin/crontab crontab

перевіряємо

crontab -l

Все, в цілому це вже _ваш_ робочий білінг, з вашою актуальною базою. Але підемо трішки далі.

Бекапимось

cp -R /etc/stargazer /etc/orig_stargazer
cp -R /etc/firewall.conf /etc/orig_firewall.conf
cp -R /etc/rc.conf /etc/orig_rc.conf
cp -R /usr/local/etc/apache24 /usr/local/etc/orig_apache24

Також важлива конфігурація Stargazer, там живуть власне налаштування тарифікації, скрипти ініціалізації користувачів, тощо. Якщо ви її змінювали, після встановлення вашого білінгу, теж було б добре розгорнути:

tar zxvf stgconfig.tgz -C /etc

Також опційно, вам може захотітись відновити ваші старі rc.conf, налаштування фаєрволу з firewall.conf та налаштування Apache (може у вас там якісь віртуалхости були намальовані, тощо). Зробити це можна аналогічним чином (в ідеалі, попередньо забекапивши оригінальні та робочі конфігурації):

Розгортаємо що нам треба

tar zxvf apache_conf.tgz -C /usr/local/etc
tar zxvf rcconf.tgz -C /etc
tar zxvf firewallconf.tgz -C /etc

При розгортанні конфігурації Apache, варто пам'ятати, що версії PHP бувають різні. Тому, наприклад, при переїзді з старої установки, що була на PHP 7.4 на новий хост з PHP 8.4 ваш Apache може сказати щось типу

apachectl restart
Performing sanity check on apache24 configuration:
httpd: Syntax error on line 175 of /usr/local/etc/apache24/httpd.conf: Cannot load libexec/apache24/libphp7.so into server: Cannot open "/usr/local/libexec/apache24/libphp7.so"

Що з одного боку, лікується просто заміною в /usr/local/etc/apache24/httpd.conf

LoadModule php7_module        libexec/apache24/libphp7.so

<IfModule mod_php7.c>
       DirectoryIndex index.php index.html
       AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps
</IfModule>

на

LoadModule php_module         libexec/apache24/libphp.so

<IfModule mod_php.c>
       DirectoryIndex index.php index.html
       AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps
</IfModule>

а з іншого боку, наглядно демонструє, що при копіпасті все ще треба трішки користуватись мозком. Резервувати оригінальні конфіги, і можливо проявити якось креатив, при розгортанні старих конфігурацій. Наприклад, якщо від Apache вам були потрібні, тільки віртуальні хости (ну там кабінети у вас на тому висять, ще якісь сервіси) то можна зробити просто якось так:

tar zxvf apache_conf.tgz -C /usr/local/etc apache24/extra/httpd-vhosts.conf

Ось власне і все.

unicornteleport.txt · Востаннє змінено: 2025/12/17 15:29 повз nightfly