Як підключити сайт до Elbuz Tunnel

15 хв

Elbuz сам налаштовує зʼєднання з вашим сайтом: ви кладете модуль тунелю на хостинг і вписуєте адресу сайту, а пароль модуля й доступи до бази програма бере з конфігурації CMS.

Коли це знадобиться:

  • Модуль уже на сайті — потрібна лише адреса сайту, решту програма зʼясує сама.
  • Ви вже забираєте із сайту замовлення тунелем — новий шаблон вивантаження візьме готові реквізити.
  • Хостинг блокує тунель — повідомлення в журналі назве, що ввімкнути: local_infile, zip чи таймаути.
  • Вийшла нова версія модуля — кнопка «Оновити» оновить його на сайті сама.

З чого почати: покладіть модуль у корінь сайту.

Що вміє підключення тунелю

Де це і хто має доступ

Меню
Довідники → Операції → Вивантаження даних → картка шаблону Elbuz Tunnel
Інші входи
вкладка «Підключення» картки шаблону
Право доступу
картка шаблону вивантаження
Підготувати
доступ до хостингу сайту; PHP mysqli, zip і curl

Що потрібно з боку сайту

Тунель — це файли на хостингу вашого сайту, тека etrade_http_tunnel2 в корені.

Перевіряти умови хостингу наздогад не треба: коли підключення налаштоване, кнопка «Перевірити підключення» покаже потрібні розширення PHP списком разом із memory_limit, post_max_size, upload_max_filesize, max_execution_time, мовною локаллю й версією самого модуля.

Модуль уже лежить на сайті

Тоді від вас потрібна тільки адреса сайту. Решту програма зʼясує сама на кроці підключення: збере адресу модуля, підбере логін, встановить пароль і прочитає реквізити бази з конфігураційного файла вашої CMS.

Модуля на сайті ще немає

Тоді його треба покласти на хостинг — архів віддає кнопка «Завантажити модуль» на вкладці «Підключення». Порядок дій розписано нижче, у розділі «Встановлення модуля на ваш хостинг». Після встановлення адреса модуля виглядає так: https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php — саме її програма підставить у поле «Посилання на модуль».

Тунель уже налаштований на завантаження даних

Найкоротший шлях. Якщо в акаунті вже є шаблон завантаження даних через тунель — той, яким ви забираєте із сайту замовлення, — новий шаблон вивантаження візьме в нього готовими: CMS і її версію, адресу модуля, логін і пароль, усі реквізити бази сайту, кодування й тип таблиць.

Разом із ними перенесеться й список обʼєктів із «Додаткових параметрів». Вкладку «Підключення» в цьому разі заповнювати не доведеться взагалі.

Якщо такого шаблону немає, поля заповнюються значеннями за замовчуванням: CMS — OpenCart, версія 3, порт 3306, кодування utf8mb4, порівняння символів utf8mb4_unicode_ci, тип таблиць InnoDB.

Встановлення модуля на ваш хостинг

Тунель — це папка etrade_http_tunnel2 у корені вашого сайту. Поки її там немає, підключатися нема до чого, тож перший крок завжди однаковий: покласти модуль на сервер. Це разова робота на кілька хвилин, і далі до неї не повертаються — оновлюється модуль сам.

  1. Завантажте модуль. У шаблоні тунелю, на вкладці «Підключення», є кнопка «Завантажити модуль» — вона віддає актуальний архів. Те саме прямим посиланням: etrade_http_tunnel2.zip.
  2. Розпакуйте архів на своєму комп'ютері.
  3. Перепишіть вміст на хостинг — у кореневу папку сайту, туди ж, де лежить головний index.php, разом із самою папкою etrade_http_tunnel2. Зручно зробити це FTP-клієнтом, наприклад FileZilla. Після цього адреса модуля виглядає так: https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php.
  4. Підключіться в Elbuz: на вкладці «Підключення» оберіть свою CMS (для OpenCart — ще й версію), вкажіть адресу сайту й натисніть «Підключити».

Далі Elbuz усе робить сам: прописує модулю пароль доступу (якщо це перше встановлення) і читає конфігураційний файл вашої CMS, діставши звідти параметри підключення до бази — сервер, назву бази, користувача, пароль і префікс таблиць. Вручну їх вводити не треба. Коли все вийшло, ви побачите повідомлення «Модуль успішно підключений!».

Усередині папки модуля, крім самого тунелю, лежать порожні теки temp і backup: у першій модуль тримає робочі файли, у другу складає архівні копії бази сайту. На хостингу мають бути ввімкнені розширення PHP mysqli, zip і curl.

Напис на кнопці залежить від того, чи вже налаштоване з'єднання. Поки параметри порожні — там «Підключити», і саме вона виконує автоматичне налаштування. Коли доступи вже заповнені, на її місці з'являється «Перевірити підключення»: вона нічого не переналаштовує, а лише перевіряє, чи відповідає модуль, і заодно показує версію модуля та налаштування PHP на хостингу.

Ще є кнопка «Отримати налаштування» в блоці ручних параметрів — нею можна перечитати конфігурацію сайту повторно, наприклад після переїзду бази.

Тоді ті самі параметри вводять руками:

  • Посилання на модуль — https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php;
  • Логін — admin;
  • Пароль — той, що заданий у файлі etrade_http_tunnel_login.php всередині модуля;
  • Доступ до бази даних сайту — сервер, порт, назва бази, користувач, пароль і префікс таблиць. Ці значення є в конфігураційному файлі вашої CMS (зазвичай config.php або подібний).

Типові причини, чому автоматичне підключення не спрацювало: не вказано адресу сайту або не обрано CMS (програма попередить окремим вікном); модуль не переписаний у кореневу папку сайту; хостинг закриває доступ до файлу модуля.

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

Оновлення модуля

Зазвичай оновлювати руками нічого не треба. Натисніть «Перевірити підключення»: програма покаже версію модуля на вашому хостингу й порівняє її з останньою. Якщо вийшла новіша, поруч зʼявиться рядок «Доступна нова версія модуля» і кнопка «Оновити» — вона оновлює файли на сайті сама, нічого копіювати не доведеться.

Ручний шлях потрібен, коли автоматичне оновлення не проходить — наприклад, хостинг не дозволяє модулю писати у власну папку. Тоді беруть архів оновлення: etrade_http_tunnel2_update.zip. Його розпаковують і перезаписують файли в папці etrade_http_tunnel2 на хостингу поверх наявних.

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

  • etrade_http_tunnel_login.php — файл із логіном і паролем до модуля. Саме тому оновлення не скидає доступ: пароль, який Elbuz прописав при першому підключенні, залишається на місці, і переналаштовувати зʼєднання після оновлення не треба;
  • папка backup — архівні копії бази вашого сайту;
  • папка temp — робочі файли модуля.

Через це архів оновлення розпаковують поверх наявної папки, а не замість неї. Повний архів (etrade_http_tunnel2.zip) потрібен лише для першого встановлення — у ньому ці файли й порожні папки є.

Вкладка «Підключення»

У картці тунельного шаблону дві вкладки — «Підключення» і «Вивантаження». Поки шаблон жодного разу не відпрацював, першою відкривається «Підключення»; після успішного прогону, якщо реквізити на місці, — «Вивантаження». Форма зберігається сама: у підвалі видно «Усі зміни збережено» або «Збереження…».

Порядок такий.

  1. Виберіть CMS Вашого сайту і, якщо в неї є версії, версію. У списку: 1C-Bitrix, CS-Cart, Magento (версії 1 і 2), OpenCart (1.5, 2, 3), PrestaShop, WebAsyst Shop-Script, WooCommerce і окремий пункт «MySQL (SQL custom query)» — для сайту на будь-якому іншому рушії, коли запити пишуть руками.
  2. Впишіть «Посилання на Ваш сайт» — просто адресу головної, виду https://yoursite.com.
  3. Натисніть «Підключити».

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

Далі програма читає конфігураційний файл самої CMS і підставляє з нього адресу сервера бази, порт, користувача, пароль, назву бази, префікс таблиць і кодування. Успіх — напис «Модуль успішно підключений!» і кнопка «Далі». Якщо модуль повернув помилку, програма показує вікно з її текстом, а кнопка «Підключити» знову стає доступною: виправте причину й натисніть її ще раз.

Дві перші розвилки — чого бракує у формі і чи відповів модуль. Далі шлях спільний: пароль модуля змінюється лише раз, при першому підключенні
НіТакНіТакНіТакМодуль не прийняв записЗаписано: парользберігається й у шаблоніНатиснули «Підключити»Заповнено «Посилання на Вашсайт» і вибрано CMS?Повідомлення «Вкажіть посиланняна Ваш сайт!» або «Виберіть CMSна базі якої працює Ваш сайт!»Пароль до модуля: із карткишаблону, інакше від шаблонузавантаження з тим самиммодулем, інакше заводськийМодуль відповів без помилки?Вікно з текстом помилки відмодуля. Кнопка «Підключити»знову доступнаУ модулі вже записаний власнийпароль?Програма генерує пароль ізаписує його в модульПрограма читає конфігураційнийфайл CMS і заповнює реквізитибази«Модуль успішно підключений!» ікнопка «Далі»
  • Дія або результат
  • Розвилка: далі шлях залежить від відповіді

Заповнене програма кладе у дві картки нижче на тій самій вкладці. Перша, «Налаштування підключення до тунелю», — три поля: «Посилання на модуль», «Ім'я користувача» (програма ставить admin) і «Пароль». Друга, «Налаштування підключення до бази даних сайту», — реквізити бази: «Адреса MySQL сервера», «Порт», «Ім'я користувача БД», «Пароль», «Назва БД», «Префікс таблиць», «Кодування з'єднання», «Кодування для порівняння символів» і «Тип таблиць».

Обидві картки заповнюються самі, але поля відкриті на правку: якщо конфігураційний файл сайту прочитати не вдалося, впишіть реквізити руками. Внизу другої картки є кнопка «Отримати налаштування» — вона перечитує конфігурацію сайту заново.

Якщо сайт живе не на MySQL, у секції «Налаштування підключення до бази даних сайту» є перемикач «Вибір СУБД» з трьома значеннями: MySQL, MariaDB, PostgreSQL. За замовчуванням — MySQL.

Коли реквізити вже заповнені, кнопка «Підключити» змінюється на «Перевірити підключення». Її варто натиснути перед першим прогоном: у відповідь модуль розповість про хостинг і назве свою версію.

Якщо вийшла свіжіша версія модуля, у тій самій відповіді зʼявиться рядок «Доступна нова версія модуля E-Trade Tunnel:» і кнопка «Оновити». Вона оновлює модуль на хостингу сама, лізти на сайт по FTP не потрібно: відповідь — «Модуль успішно оновлено!» або «Помилка оновлення модуля!». Що робити в другому випадку — в розділі «Оновлення модуля».

Шапка картки тунельного шаблону з вкладками
1Пілюля стану «Вимкнений»
2Вкладка «Підключення»
3Вкладка «Вивантаження» (активна)
4Кнопка-графік «Історія запусків»
  1. Пілюля стану показує, що шаблон вимкнений — так і має бути для обох тунельних шаблонів демо-тенанта.
  2. Вкладка «Підключення» веде до реквізитів сайту (в демо-тенанті не знімається).
  3. Активна вкладка «Вивантаження» — картка відкривається саме на ній, бо у шаблону вже є історія прогонів.
  4. Кнопка-графік відкриває історію запусків шаблону.

Сценарії

Модуль уже стоїть на сайті

Що зробити. «Додати» → «Elbuz» → «Elbuz Tunnel». На вкладці «Підключення» оберіть CMS і версію, впишіть адресу сайту й натисніть «Підключити», потім «Перевірити підключення».

Що вийде. Програма замінить заводський пароль модуля випадковим, прочитає реквізити бази з конфігурації CMS і покаже «Модуль успішно підключений!». Друга кнопка покаже розширення PHP і версію модуля. Чого не буде. Даних на сайт ще не поїде — прогін запускається окремо.

База сайту переїхала на інший сервер

Що зробити. На вкладці «Підключення» натисніть «Отримати налаштування» в картці «Налаштування підключення до бази даних сайту».

Що вийде. Програма перечитає конфігурацію сайту й підставить нові реквізити бази. Чого не буде. Для CS-Cart, Magento, Moguta, PrestaShop 1.7 і WebAsyst ручне значення порівняння символів не збережеться — кнопка запише utf8_general_ci; перевірте його знову (collation).

Хостинг не дає модулю оновитися самому

Що зробити. Завантажте архів оновлення, розпакуйте й перепишіть файли поверх папки etrade_http_tunnel2 на хостингу.

Що вийде. Ядро модуля оновиться, а файл із логіном і паролем, архівні копії й робочі файли лишаться на місці. Чого не буде. Переналаштовувати зʼєднання після оновлення не доведеться.

Що робити, коли тунель не підключається

Що ви бачитеЧому такЩо зробити
«Вкажіть посилання на Ваш сайт!» Натиснули «Підключити» з порожнім полем адреси сайту Впишіть адресу головної сторінки сайту (про підключення)
«Виберіть CMS на базі якої працює Ваш сайт!» Не обрано рушій сайту Оберіть CMS і, якщо є, версію. Немає вашої в списку — беріть «MySQL (SQL custom query)»
«Не вказано посилання на модуль E-Trade Tunnel або логін або пароль!» Натиснули «Перевірити підключення», а реквізити модуля не заповнені Натисніть «Підключити» — програма підставить їх сама (про підключення)
«Вказано неправильний логін або пароль до модуля E-Trade Tunnel!» Пароль у модулі на хостингу не збігається з тим, що в налаштуваннях шаблону Перевстановіть теку модуля на сайті й натисніть «Підключити» заново: програма запише в модуль новий пароль
«Вивантаження даних НЕ завершено: файл не сформовано» У тунелю це майже завжди означає, що порожнє одне з шести обовʼязкових полів підключення: посилання на модуль, імʼя користувача, пароль, адреса сервера бази, імʼя користувача бази, назва бази Відкрийте вкладку «Підключення», заповніть порожнє поле й натисніть «Перевірити підключення» (про підключення)
«Error! Need mode LOAD DATA LOCAL INFILE! Variable local_infile: OFF» або «mysqli_query(): LOAD DATA LOCAL INFILE forbidden» Дані приїздять на сайт CSV-файлом, і модуль заливає їх у тимчасову таблицю командою LOAD DATA LOCAL INFILE. На вашому хостингу вона вимкнена У php.ini — mysqli.allow_local_infile = On (за замовчуванням рядок закоментований крапкою з комою). У my.cnf — local-infile=ON у секціях [mysqld] і [mysql], далі перезапуск MySQL. Перевірка: SHOW VARIABLES LIKE 'local_infile'. Це налаштування хостингу, з боку Elbuz його не змінити
Прогін падає зі згадкою про zip На хостингу немає розширення PHP zip, а файли їдуть на сайт запакованими Поставте розширення (php-zip, для Bitrix VM — php-pecl-zip) і перезапустіть веб-сервер. Які розширення є на хостингу, показує кнопка «Перевірити підключення»
«504 Gateway Time-out» або «502 Bad Gateway» Веб-сервер сайту не дочекався відповіді від PHP і обірвав запит. На великому обсязі даних тунель працює довше, ніж дозволено за замовчуванням Це налаштування хостингу сайту, не Elbuz: збільшити час очікування (у nginx — таймаути проксування, у PHP — час виконання скрипта). Як тимчасовий захід — розбийте вивантаження на менші порції відбором товарів
«MySQL server has gone away» База сайту закрила з'єднання: або минув час очікування, або порція даних більша за дозволений розмір пакета Знову ж таки налаштування хостингу сайту: збільшити wait_timeout і max_allowed_packet у конфігурації MySQL. З боку Elbuz допомагає зменшити обсяг одного прогону
У журналі прогону помилка бази сайту «Illegal mix of collations (…) and (…) for operation '='» Перед відправкою тунель створює в базі сайту тимчасові таблиці з кодуванням і порівнянням символів із вкладки «Підключення». Якщо порівняння там не таке, як у таблицях сайту, MySQL відмовляється звіряти рядки двох таблиць між собою. Порожнє поле програма заповнює utf8mb4_unicode_ci; для CS-Cart, Magento, Moguta, PrestaShop 1.7 і WebAsyst кнопки «Підключити» та «Отримати налаштування» щоразу записують utf8_general_ci і затирають вписане руками Подивіться порівняння (Collation) таблиці товарів сайту в phpMyAdmin або в хостинг-панелі і впишіть його у «Кодування для порівняння символів», а частину до першого підкреслення — у «Кодування з'єднання»: utf8mb4_general_ci → utf8mb4, utf8_general_ci → utf8. Робіть це після «Підключити» й не натискайте його та «Отримати налаштування» потім знову. Для Magento і WebAsyst тимчасові таблиці завжди створюються в кодуванні utf8, тому там підходить лише порівняння виду utf8_…: з utf8mb4_… таблиці не створяться зовсім. Запустіть прогін знову (вкладка «Підключення»)

Часті запитання

Тунель пише помилку collation (Illegal mix of collations). Які значення поставити?

Те саме порівняння символів, що в таблицях сайту. Подивіться «Порівняння» (Collation) таблиці товарів у phpMyAdmin, впишіть його в «Кодування для порівняння символів», а частину до першого підкреслення — у «Кодування з'єднання». Робіть це після «Підключити» (розбір).

Чи треба оновлювати модуль на хостингу руками?

Зазвичай ні: «Перевірити підключення» покаже версію модуля, а кнопка «Оновити» оновить його на сайті сама. Ручний архів оновлення потрібен, коли хостинг не дає модулю писати у власну папку.

Де взяти пароль модуля, якщо підключаю вручну?

У файлі etrade_http_tunnel_login.php всередині модуля; логін — admin. Після першого автоматичного підключення там стоїть пароль, який прописав Elbuz.

Чи треба переналаштовувати зʼєднання після оновлення модуля?

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

Які розширення PHP потрібні на хостингу?

mysqli, zip і curl; для архівної копії бази — ще pdo. Які розширення є на хостингу, покаже кнопка «Перевірити підключення».

Суміжні теми

Чи була стаття корисною?