Развертывание сайта из архива — это стандартная процедура при переносе проекта на новый хостинг‚ восстановлении из резервной копии или установке CMS вручную. Несмотря на кажущуюся простоту‚ процесс требует соблюдения последовательности действий: от загрузки файлов до настройки прав доступа и подключения базы данных. В этой статье мы подробно разберем все способы установки архивов на сайт‚ используя инструменты панели управления хостингом‚ FTP-клиенты и файловые менеджеры.
Подготовительный этап: что нужно сделать до загрузки
Прежде чем приступить к загрузке архива‚ убедитесь в следующем:
- Формат архива: Большинство хостинг-панелей и файловых менеджеров корректно работают с форматами .zip и .tar.gz. Формат .rar часто не поддерживается для распаковки на сервере напрямую. Заранее запакуйте нужные файлы в один из поддерживаемых форматов.
- Структура архива: Проверьте‚ не лежат ли файлы сайта внутри лишней папки внутри архива (например‚
archive.zip -> site_folder -> files). При распаковке файлы должны попадать прямо в корневую директорию сайта. - Корневая директория (Document Root): Определите папку‚ куда нужно загрузить файлы.
- Для дополнительных доменов/поддоменов обычно создается отдельная папка‚ название которой совпадает с именем домена (например‚
example.com)‚ часто находящаяся внутриpublic_htmlили на уровне выше.
- Для дополнительных доменов/поддоменов обычно создается отдельная папка‚ название которой совпадает с именем домена (например‚
- База данных: Если сайт динамический (WordPress‚ Bitrix‚ Joomla‚ OpenCart и др.)‚ кроме файлов вам понадобится дамп базы данных (
.sqlили.sql.gz). Его импорт, отдельный обязательный этап.
Способ 1: Через файловый менеджер панели управления хостингом (Рекомендуемый для новичков)
Это самый надежный способ‚ так как не требует установки стороннего ПО и работает прямо в браузере. Интерфейс может отличаться у разных провайдеров‚ но логика везде одинакова.
Пошаговая инструкция:
- Авторизуйтесь в личном кабинете хостинга (или перейдите напрямую в панель управления: cPanel‚ ISPmanager‚ Plesk‚ собственная панель провайдера).
- Найдите раздел «Файловый менеджер» (File Manager).
- Нажмите кнопку «Загрузить» (Upload) — обычно находится в верхнем меню со стрелкой вверх.
- Выберите на компьютере подготовленный ZIP-архив (или tar.gz) и дождитесь завершения загрузки.
- Критически важный шаг: После загрузки выделите загруженный файл архива (поставьте галочку/флажок рядом с именем файла).
- В верхнем меню найдите и нажмите кнопку «Разархивировать» (Extract / Unzip / Распаковать).
- В открывшемся окне подтвердите путь извлечения (обычно текущая папка) и нажмите «ОК».
- После завершения процесса удалите сам архив с сервера (выделите -> Удалить)‚ чтобы не засорять диск и в целях безопасности.
Способ 2: Через FTP-клиент (FileZilla‚ Total Commander‚ WinSCP)
Подходит для загрузки больших объемов данных (несколько ГБ)‚ так как браузер может «уронить» соединение. Часто используют комбинированный подход: заливают архив по FTP‚ а распаковывают — через файловый менеджер панели (так быстрее и надежнее).
Вариант А: Загрузка архива + распаковка на сервере (Оптимально)
- Подключитесь к серверу по FTP (хост:
ftp.ваш_домен.comили IP сервера‚ логин/пароль от FTP/хостинга‚ порт 21). - Перетащите архив с локального компьютера (слева) в удаленную панель. Дождитесь завершения передачи (очередь передач пуста).
- Удалите архив после распаковки.
Вариант Б: Распаковка локально + загрузка файлов (Долго‚ но работает везде)
- Распакуйте архив на своем компьютере.
- Минус: Загрузка тысяч мелких файлов по FTP занимает в 10-50 раз больше времени‚ чем загрузка одного архива.
Пример для Total Commander:
- Нажмите «Соединиться» (Ctrl+F)‚ выберите ваше FTP-соединение.
- Скопируйте файл архива (F5) с левой панели (локально) на правую (сервер).
- Далее, распаковка через панель хостинга (см. выше).
Способ 3: Через SSH (Консоль) — для VPS/VDS и продвинутых пользователей
Самый быстрый и профессиональный способ. Требует доступа по SSH (обычно есть на VPS/VDS и на некоторых виртуальных хостингах).
# 1. Подключение
ssh user@your_server_ip
unzip archive.zip # для .zip
tar -xzvf archive.tar.gz # для .tar.gz
rm archive.zip
find . -type f -exec chmod 644 {} ;
find . -type d -exec chmod 755 {} ;
Способ 4: Восстановление из бэкапа / Веб-архива (Специфичные панели)
Некоторые панели (например‚ ISPmanager‚ собственные панели Reg.ru‚ Beget‚ Timeweb) имеют встроенные инструменты восстановления.
- В разделе «Резервные копии» или «Восстановление» выберите нужную дату/задачу.
- Запустите задачу восстановления. Статус выполнения можно отслеживать в списке задач.
- Когда задача будет готова‚ часто появляется кнопка «Скачать» ZIP-архив с копией сайта.
- Этот архив затем загружается и распаковывается стандартным способом (Способ 1 или 2).
Постустановочные действия: что делать после распаковки файлов
Файлы на месте — сайт еще не работает. Обязательно выполните:
Настройка файла конфигурации (Подключение БД)
Найдите конфигурационный файл вашей CMS и пропишите актуальные реквизиты базы данных (хост‚ имя БД‚ пользователь‚ пароль‚ префикс таблиц).
- WordPress:
wp-config.php - Bitrix:
/bitrix/php_interface/dbconn.phpи.settings.php - Joomla:
configuration.php - OpenCart:
config.phpиadmin/config.php - Laravel:
.env
Импорт базы данных
- В панели хостинга создайте новую базу данных и пользователя с полными правами на эту БД. Запишите пароль!
- Зайдите в phpMyAdmin (обычно есть в панели хостинга).
- Выберите созданную пустую БД слева -> вкладка «Импорт» (Import).
- Выберите файл дампа (
.sqlили.sql.gz)‚ кодировку utf8mb4 (или utf8) -> «Вперед»/Go. - Если дамп большой (> 50-100 Мб)‚ phpMyAdmin может выдать таймаут. В этом случае импорт делают через SSH:
mysql -u user -p db_name < dump.sqlили используют скрипт-разбиватель (BigDump) или консольные утилиты (mysqldump/restore).
Исправление прав доступа (Permissions)
После распаковки архива права на файлы и папки могут быть неверными (например‚ 777 или 600)‚ что приведет к ошибкам 500 Internal Server Error или 403 Forbidden.
- Стандарт безопасности: Папки — 755 (drwxr-xr-x)‚ Файлы — 644 (-rw-r--r--).
- Папки для записи (кэш‚ загрузки‚ лог): Часто требуют 755 или 775 (зависит от настроек PHP-FPM/SuEXEC на сервере). Примеры:
wp-content/uploads‚bitrix/managed_cache‚var/cache‚storage‚images. - Владелец файлов (owner) должен совпадать с пользователем‚ от имени которого работает PHP (обычно ваш пользователь хостинга). Если файлы заливались под root по SSH — обязательно смените владельца:
chown -R user:user /path/to/site.
Убедитесь‚ что в корне сайта (public_html) лежит индексный файл. Для CMS это обычно index.php. Если там лежит старый index.html (заглушка хостинга) — удалите или переименуйте его‚ иначе сервер будет отдавать заглушку вместо сайта (приоритет index.html выше index.php в стандартных настройках Apache/Nginx).
Очистка кэша
После переноса обязательно очистите кэш CMS:
- WordPress: плагины кэширования (WP Rocket‚ W3 Total Cache) или просто пересохранение «Настройки -> Постоянные ссылки».
- Bitrix: Настройки -> Настройки продукта -> Очистка кэша (или удаление папки
/bitrix/managed_cacheи/bitrix/stack_cache). - Joomla: Система -> Очистить кэш.
- Laravel/Symfony:
php artisan cache:clear‚php artisan config:clear‚php artisan view:clear.
Частые ошибки и их решения
| Ошибка / Симптом | Причина | Решение |
|---|---|---|
| Белый экран / Ошибка 500 | Неверные права доступа‚ ошибка в .htaccess‚ несовместимость версии PHP‚ ошибка в конфиге БД. | Проверьте error_log в папке сайта или лог ошибок PHP в панели хостинга. Выставьте права 755/644. Проверьте версию PHP (нужна та‚ под которую написан сайт). |
| Ошибка «Error establishing a database connection» | Неверные логин/пароль/хост БД в конфиге. | Проверьте wp-config.php / .env / dbconn.php. Убедитесь‚ что пользователь БД привязан к БД с полными правами. Хост часто localhost‚ но иногда 127.0.0.1 или отдельный IP сервера БД. |
| Сайт открывается‚ но без стилей/картинок (404 на CSS/JS) | Неверный site_url / home_url в БД (при смене домена) или не работает .htaccess (mod_rewrite). | В БД (таблица wp_options для WP‚ core_config_data для Magento) поменяйте URL на новый. Проверьте наличие .htaccess в корне и права 644 на него. |
| Файлы загрузились‚ но сайт показывает «Index of /» (листинг папки) | Переименуйте главный файл в index.php. Удалите index.html заглушку хостинга. | |
| Архив не распаковывается в панели («Error»‚ «Unsupported format») | Архив в формате .rar‚ поврежден‚ слишком большой для лимита панели‚ или в имени файла кириллица/спецсимволы. |
Чек-лист перед сменой NS-серверов / запуском
Перед тем как направить домен на новый хостинг (сменить NS-записи или A-запись)‚ убедитесь‚ что на новом месте:
- [ ] База данных импортирована без ошибок.
- [ ] Конфиг CMS переписан под новую БД.
- [ ] Права доступа выставлены (755/644‚ владелец верный).
- [ ] Файл
.htaccessна месте (для Apache/Litespeed) или конфиг Nginx настроен (для чистого Nginx). - [ ] Версия PHP на хостинге соответствует требованиям CMS.
- [ ] SSL-сертификат выпущен/подключен (Let's Encrypt или платный), иначе сайт будет открываться с предупреждением «Небезопасно».
- [ ] Тестовый вход в админку CMS проходит успешно.