====== Unicorn Teleport - міграція на новий хост ====== **Важливо:** перед збиранням пакунку міграції, необхідно оновити ваш поточний біллінг до останньої **нічної** збірки. Знаходиться в "Консолі Розробника" {{:unicornteleport0.png|}} ось тут {{:unicornteleport1.png|}} Тут можна відмітити, куди ми зібрались телепортувати наш Ubilling і які саме дані резервувати. {{:unicornteleport2.png|}} Збирання пакунку телепорту може зайняти деякий час, і повинна завершитись якось так {{:unicornteleport3_s.png|}} Можете собі його завантажити з веб-інтерфейсу {{:unicornteleport4.png|}} або можете одразу залити пакунок телепорту, напряму з білінгового сервера на новий хост (якщо він доступний звідти) 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 [external_interface] [mysql_pass] [stargazer_pass] [rscriptd_pass] [ubilling_serial] === Обов’язкові параметри === * **type** - тип встановлення: * NEW - нове встановлення * MIG - міграція існуючої системи * **arch** - цільова [[setupubinstaller|архітектура]]: * 150_6M * 143_6L * 142_6L * 135_6L Детальніше про іменування бінарних пакунків, можна дізнатись [[setupubinstaller|тут]] * **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 з потрібними вам параметрами, взятими напряму з вашої системи, котру ви телепортуєте {{:unicornteleport5.png|}} яке повинно би закінчитись якось так {{:unicornteleport6.png|}} **Важливо: не перезавантажуємось!** ====== Крок 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 DirectoryIndex index.php index.html AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps на LoadModule php_module libexec/apache24/libphp.so DirectoryIndex index.php index.html AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps а з іншого боку, наглядно демонструє, що при копіпасті все ще треба трішки користуватись мозком. Резервувати оригінальні конфіги, і можливо проявити якось креатив, при розгортанні старих конфігурацій. Наприклад, якщо від Apache вам були потрібні, тільки віртуальні хости (ну там кабінети у вас на тому висять, ще якісь сервіси) то можна зробити просто якось так: tar zxvf apache_conf.tgz -C /usr/local/etc apache24/extra/httpd-vhosts.conf Ось власне і все.