Коротка відповідь

Вибір між двома способами зводиться до одного питання: скільки разів ви заливатимете файли.

  • Разово перенести готовий сайт - файловий менеджер панелі. Заархівуйте сайт у ZIP, завантажте один файл, розпакуйте на сервері. Так швидше за FTP у рази: один потік замість тисяч дрібних передач.
  • Правити верстку щодня - FTP або SFTP, бо перезаливати архів по двадцять разів на день нікому не хочеться.
  • Оновити один-два файли - файловий менеджер, там є вбудований редактор: відкрили .htaccess, виправили рядок, зберегли.
  • WordPress чи OpenCart - файли взагалі не чіпаються руками після встановлення, теми й плагіни ставляться з адмінки.

На серверах Hosturm перший варіант основний, і не лише з міркувань швидкості: у класичному FTP логін і пароль ідуть мережею відкритим текстом. Тому FTP-демон на порту 21 не піднятий, а розділ FTP Management у панелі не показується. Якщо ваш робочий процес зав'язаний на FTP-клієнт чи деплой із IDE - напишіть мені в підтримку, розберемо ваш випадок окремо.

Чим вони відрізняються насправді

Обидва інструменти роблять одне й те саме - кладуть файли в теку на сервері. Різниця в тому, що між вами й диском.

Файловий менеджерFTPSFTP
Що потрібнобраузер і пароль від панеліFTP-клієнт, окремий акаунтSSH-клієнт, доступ до shell
Порт2222 (сама панель)21 + пасивний діапазон22
Пароль у мережіусередині HTTPSвідкритим текстомзашифрований
1 архів на 300 MBкілька хвилинкілька хвилинкілька хвилин
20 000 дрібних файлівзаливати архівомгодини, часті обривигодини
Розпакувати ZIP на серверітак, кнопка Extractні, тільки залититак, якщо є shell
Є на тарифах Hosturmтакні, порт закритийні, shell вимкнений

Рядок про 20 000 файлів - головний практичний аргумент. FTP відкриває окреме з'єднання на кожен файл, і сайт на WordPress із темою та десятком плагінів їде по FTP півтори-дві години, регулярно обриваючись на середині. Той самий сайт архівом - 4 хвилини разом із розпакуванням. Саме тому в інструкції з перенесення WordPress я щоразу наполягаю на архіві.

Крок 1. Знайти правильну теку

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

  • /home/user/ - корінь акаунта, сюди сайт класти не можна;
  • /home/user/domains/example.com/ - тека домену, тут лежать логи й службові папки;
  • /home/user/domains/example.com/public_html/ - корінь сайту, тільки сюди.

Файл index.php або index.html має опинитися прямо в public_html, а не в підпапці. Класична ситуація: архів розпакували, і всередині з'явилася тека site/, а вже в ній - усі файли. Тоді сайт відкривається за адресою example.com/site/, а на головній - порожньо. Лікується перенесенням вмісту на рівень вище, у файловому менеджері це виділення всіх файлів і кнопка Move.

Якщо домен ще не доданий у панель, спершу пройдіть перші кроки в DirectAdmin: без Domain Setup теки public_html просто не існує.

Крок 2. Завантаження через File Manager

Розділ System Info & Files → File Manager. Далі порядок, який я сам роблю клієнтам під час переїзду.

  1. На старому хостингу зайдіть у файловий менеджер, виділіть вміст public_html (не саму теку) і натисніть Compress. Формат - zip або tar.gz, різниці для DirectAdmin немає.
  2. Завантажте архів собі на комп'ютер, а в панелі Hosturm відкрийте domains/example.com/public_html і натисніть Upload Files.
  3. Дочекайтеся, поки смуга дійде до кінця. Не закривайте вкладку: залив через браузер живе рівно стільки, скільки відкрита сторінка.
  4. Виділіть архів, кнопка Extract. Файли лягають у поточну теку.
  5. Видаліть архів - він більше не потрібен і займає місце на тарифі.

Про місце: на тарифі Старт це 10 GB NVMe, і архів на пів гігабайта разом із розпакованою копією з'їдає гігабайт двічі. На Оптималі 20 GB, на Бізнесі 30 GB, на Pro 100 GB - актуальні обсяги завжди в блоці тарифів.

Коли архів не долітає

Залив через браузер впирається не в «ліміт хостингу», а в ваш канал і в стабільність з'єднання. На практиці спокійно проходять архіви до кількох сотень мегабайт. Гігабайтний архів через мобільний інтернет обірветься майже напевно - і тоді є два виходи: розбити сайт на два-три архіви (окремо wp-content/uploads, окремо решта) або написати мені - заллю з консолі через rsync, це швидше й без обривів.

Крок 3. FTP-акаунт у DirectAdmin: як це влаштовано

Розділ живе в Account Manager → FTP Management, кнопка Create FTP Account. Найважливіше там - не пароль, а тип акаунта: він визначає, що людина побачить, підключившись.

ТипЛогінКуди пускаєКому давати
Userім'я акаунтаувесь /home/user з усіма доменамитільки собі
Domainім'я@example.comтека одного доменусвоєму розробнику
Ftpім'я@example.comлише public_ftpдля обміну файлами
Customім'я@example.comбудь-який вказаний шляхпідряднику на один розділ

Правило просте: фрилансеру, який робить вам лендінг, ніколи не давайте акаунт типу User. Він відкриває всі домени акаунта, бекапи й поштові теки одразу. Тип Custom зі шляхом /domains/example.com/public_html дає рівно те, що потрібно для роботи, і нічого зайвого. Після закінчення робіт акаунт видаляється однією кнопкою - на відміну від пароля від панелі, який довелося б міняти.

Зверніть увагу на формат логіна: DirectAdmin підставляє домен автоматично, тож у клієнті треба писати повністю ім'я@example.com, разом із собакою. Половина звернень «не підключається FTP» - це логін, введений без доменної частини.

Крок 4. Налаштування FileZilla

Клієнт може бути будь-який - FileZilla, Cyberduck, WinSCP, Total Commander. Поля скрізь однакові:

  • Хост - домен сайту або IP сервера. Домен спрацює тільки після того, як DNS уже вказують на хостинг, тому в перший день переїзду надійніше вводити IP; про терміни розходження записів я писав у статті про спрямування домену на хостинг.
  • Порт - 21 для FTP і FTPS, 22 для SFTP. Пусте поле означає 21.
  • Протокол - «FTP - File Transfer Protocol», шифрування «Використовувати явний FTP через TLS, якщо доступно».
  • Режим передачі - пасивний. Активний режим вимагає, щоб сервер сам стукав до вас у порт, і його ріже будь-який домашній роутер.

Пасивний режим - причина класичного симптому: каталог начебто підключився, а список файлів не вантажиться і клієнт пише про тайм-аут. Це не пароль, це режим. Перемикається у FileZilla в «Налаштування → З'єднання → FTP».

І окремо про TLS. Якщо клієнт питає «сервер не підтримує шифрування, продовжити небезпечно?» - краще не продовжувати з публічного Wi-Fi: пароль піде в ефір як є. Це та сама логіка, що й із сайтом без сертифіката, про яку я писав у статті навіщо сайту SSL, тільки тут у відкритому вигляді летить не форма зворотного зв'язку, а доступ до всіх ваших файлів.

Чому на моїх серверах FTP вимкнений

Чесно, як є: демон на порту 21 не встановлений, розділ FTP Management у панелі не відображається, підключитися FTP-клієнтом до hosturm-акаунта зараз не вийде. Причина не в економії - FTP тягне за собою два ризики, які я не хочу мати на спільному сервері: паролі відкритим текстом і брутфорс по 21 порту, який на будь-якому публічному IP починається в першу ж добу.

Що замість нього:

  • File Manager у панелі - усе, що потрібно для заливки, редагування та розпакування, усередині HTTPS-сесії;
  • перенесення сайту силами підтримки - копіюю файли й базу сам, безкоштовно, звичайний сайт займає від 30 хвилин до 2 годин;
  • індивідуальне рішення - якщо у вас деплой із GitHub чи PhpStorm і без окремого доступу ніяк, напишіть, подивимося, що можна зробити саме на вашому акаунті.

SSH і SFTP на шаред-тарифах теж вимкнені: shell у користувачів стоїть /bin/false. Потрібен постійний консольний доступ - це вже рівень окремого VPS, там ви самі собі root; різницю між форматами розбирав у статті шаред, VPS чи виділений сервер.

Що зробити одразу після заливки

Файли на місці - це ще не працюючий сайт. Чотири речі, які перевіряю щоразу:

  1. Приховані файли. Увімкніть їх показ у файловому менеджері. Якщо .htaccess не потрапив в архів, головна відкриється, а внутрішні сторінки віддадуть 404 - правила ЧПУ лежать саме там.
  2. Права. Файли 644, теки 755. Після розпакування архіву з Windows вони іноді з'їжджають на 777 - це не «щоб точно працювало», а відкриті двері: на такі теки першими лізуть при зламі.
  3. База даних. Файли переїжджають окремо від бази. Створіть її в Account Manager → MySQL Management, імпортуйте дамп через phpMyAdmin і впишіть доступи в конфіг CMS. Пам'ятайте про префікс акаунта: ввели shop, реальне ім'я бази буде user_shop.
  4. Версія PHP. На серверах стоїть PHP 8.3, другим доступний 7.4. Старий сайт, який роками жив на 7.4, після переїзду на 8.3 може віддати білий екран - версія перемикається в панелі за домен, помилки шукайте в error.log у теці домену.

Найчастіші помилки і що вони означають

Що бачитеЩо насправдіЩо робити
Connection refused на порт 21FTP-сервер не слухає портвантажити через File Manager панелі
530 Login authentication failedлогін без доменної частиниписати повністю ім'я@example.com
Підключився, але список порожнійактивний режим замість пасивногоувімкнути passive у клієнті
Порожня сторінка на доменіфайли в підпапці, не в public_htmlперенести вміст на рівень вище
Сторінка-заглушка хостераindex.html хостера поверх вашого сайтувидалити чужий index.html
Головна є, внутрішні 404немає .htaccessувімкнути показ прихованих файлів, залити його
Error establishing a database connectionфайли залиті, база - ністворити базу, імпортувати дамп, правити конфіг
Залив обривається на 60%розрив каналу, не ліміт серверарозбити на кілька архівів

Окремий випадок - сайт залився й відкривається, але повільно. Це вже не про спосіб заливки: причини й порядок перевірки розібрані в статті чому сайт повільний.

Коротко

  • Разова заливка - завжди архівом через File Manager, це швидше за FTP у рази.
  • Корінь сайту - domains/example.com/public_html, index має лежати прямо в ньому.
  • Архів після розпакування видаляйте: на Старті всього 10 GB.
  • У FTP-акаунтах DirectAdmin тип Custom для підрядника, User - тільки собі.
  • Логін FTP пишеться повністю з доменом, режим - пасивний, шифрування - явний TLS.
  • На тарифах Hosturm FTP і SSH зараз вимкнені: порт 21 закритий, shell /bin/false.
  • Після заливки: приховані файли, права 644 і 755, база, версія PHP.
  • Не хочеться робити руками - пишіть у підтримку, перенесу сам, це безкоштовно.

Тарифи, обсяг диска й повний список того, що входить у кожен план - на сторінці хостингу. Заявлена доступність 99.9%, бекапи щоденні й зберігаються поза сервером, панель - DirectAdmin 1.710 на Apache 2.4.

Потрібен хостинг, який просто працює?

DirectAdmin, безкоштовний SSL, щоденні бекапи поза сервером і підтримка, де відповідає адміністратор. Від 142 грн/міс.

Обрати тариф