
Корневая папка сайта определяет, где веб-сервер ищет файлы для отображения страниц. Изменение её расположения может потребоваться при переносе проекта на другой сервер, организации более логичной структуры или разделении тестовой и рабочей версии сайта. Для сайтов на Apache или Nginx это влияет на DocumentRoot и пути к ресурсам.
Перед переносом важно создать резервные копии всех файлов и базы данных. Любое пропущенное действие может привести к недоступности сайта. Для баз данных MySQL достаточно выполнить mysqldump с сохранением текущей версии, а для файлов – полное копирование с сохранением прав доступа и структуры папок.
Выбор новой корневой папки требует оценки прав доступа пользователя веб-сервера. На Linux это обычно пользователь www-data или nginx. Недостаточные права приведут к ошибкам 403 при обращении к файлам. После переноса нужно обновить конфигурационные файлы веб-сервера, проверив пути к index-файлу, include-директивы и виртуальные хосты.
Пошаговая проверка работы сайта после смены корневой папки позволяет обнаружить проблемы с относительными путями, ссылками и подключением стилей или скриптов. Для сайтов на CMS важно обновить внутренние пути к ресурсам, иначе часть контента может не отображаться. В статье представлены конкретные инструкции для выполнения всех этих действий.
Проверка текущей корневой папки и структуры сайта
После определения корневой папки следует изучить её структуру: убедиться, что index-файл находится в корне, а все папки для статики, скриптов и шаблонов расположены согласно принятой архитектуре сайта. Используйте команду ls -l или tree для Linux, чтобы получить полное дерево директорий с правами доступа. Это позволяет выявить недостающие папки, лишние файлы и потенциальные конфликты с правами.
Рекомендуется проверить права доступа на папки и файлы: веб-сервер должен иметь возможность читать файлы и выполнять скрипты. Для Linux стандартные права – 755 для папок и 644 для файлов, пользователь веб-сервера должен быть владельцем или в группе владельцев. Все эти шаги позволяют безопасно планировать перенос корневой папки без нарушения работы сайта.
Резервное копирование файлов и базы данных
Перед сменой корневой папки необходимо создать полные резервные копии файлов сайта. Для Linux используйте команду rsync -av /путь/к/корню/ /путь/к/резерву/ или tar -czf backup.tar.gz /путь/к/корню/, чтобы сохранить структуру папок и права доступа. Убедитесь, что в резервной копии находятся все скрипты, стили, изображения и конфигурационные файлы.
Для баз данных MySQL или MariaDB выполните mysqldump -u пользователь -p база > backup.sql. Если сайт использует несколько баз, создайте отдельные дампы для каждой. Для PostgreSQL используйте pg_dump -U пользователь база > backup.sql. Проверяйте размер файлов дампа и наличие ошибок при экспорте.
Резервные копии рекомендуется хранить вне сервера, где работает сайт, например, на отдельном диске или в облачном хранилище. После создания копий проведите проверку: распакуйте архив и убедитесь, что все файлы доступны, а дампы баз данных можно импортировать без ошибок. Только после этого переходите к переносу корневой папки.
Выбор новой корневой папки и подготовка директорий

При выборе новой корневой папки важно учитывать расположение на сервере, права доступа и удобство управления. Оптимально размещать папку вне системных директорий, например, в /var/www/новый_сайт, чтобы не конфликтовать с другими проектами и не нарушать структуру веб-сервера.
Перед переносом создайте структуру директорий для основных компонентов сайта. Минимальный набор включает папки для статики, скриптов и загрузок пользователей. Пример структуры можно оформить в виде таблицы:
| Папка | Назначение | Рекомендуемые права |
|---|---|---|
| /новый_сайт/ | Корневая папка сайта | 755 |
| /новый_сайт/index.php | Главный файл сайта | 644 |
| /новый_сайт/css/ | Стили и темы оформления | 755 |
| /новый_сайт/js/ | Скрипты и библиотеки | 755 |
| /новый_сайт/images/ | Изображения и медиафайлы | 755 |
| /новый_сайт/uploads/ | Загрузки пользователей | 755 или writable для веб-сервера |
После создания директорий проверьте владельца и группу для каждой папки, обычно это пользователь веб-сервера www-data или nginx. Правильная подготовка директорий снижает риск ошибок доступа и упрощает перенос файлов в следующем шаге.
Перенос файлов сайта в новую папку
Для переноса файлов используйте команды, сохраняющие структуру и права доступа. В Linux оптимально применять rsync -av /старый_путь/ /новый_путь/ или cp -a /старый_путь/. /новый_путь/. Команда rsync позволяет видеть процесс копирования и пропускать уже скопированные файлы, что ускоряет повторные операции.
При переносе учитывайте скрытые файлы, такие как .htaccess и конфигурации CMS. Они критичны для работы сайта и маршрутизации запросов. Для копирования скрытых файлов используйте опцию -a в rsync или cp -a.
После копирования проверьте права доступа и владельца для всех файлов и папок. Команды chown -R www-data:www-data /новый_путь/ и chmod -R 755 /новый_путь/ помогут привести их к корректным значениям. Особое внимание уделите папкам, в которых сайт сохраняет загрузки пользователей или временные файлы, их нужно сделать доступными для записи веб-сервером.
Рекомендуется выполнить пробный запуск сайта в новой папке до изменения настроек веб-сервера, чтобы убедиться, что все файлы корректно копированы и права доступа настроены правильно.
Обновление настроек веб-сервера и конфигурационных файлов

После переноса файлов необходимо изменить путь к корневой папке в конфигурации веб-сервера. В Apache откройте файл виртуального хоста, например /etc/apache2/sites-available/000-default.conf, и замените директиву DocumentRoot на новый путь: DocumentRoot /новый_путь/. Для Nginx измените директиву root в соответствующем блоке server.
Обновите все include-директивы и дополнительные настройки, указывающие на старую папку, включая файлы .conf для модулей или SSL-сертификатов. Для проверки корректности конфигурации используйте команды apachectl configtest для Apache и nginx -t для Nginx. Ошибки в путях приведут к 404 или 500 статусам.
После внесения изменений перезапустите веб-сервер: systemctl restart apache2 или systemctl restart nginx. Проверьте доступность главной страницы и ресурсов сайта. Если сайт использует CMS, убедитесь, что внутренние пути к медиафайлам, скриптам и стилям соответствуют новой структуре, чтобы избежать сломанных ссылок.
Проверка работы сайта после изменения корневой папки

После обновления конфигурации веб-сервера важно проверить доступность всех страниц. Используйте браузер для открытия главной страницы и нескольких внутренних URL. Если сайт возвращает ошибки 403 или 404, проверьте права доступа к папкам и правильность путей в конфигурации.
Для выявления сломанных ссылок и медиафайлов применяйте инструменты проверки, например Broken Link Checker или встроенные инструменты разработчика браузера. Особое внимание уделите подключению стилей, скриптов и изображений, чтобы убедиться, что относительные и абсолютные пути соответствуют новой структуре.
Если сайт использует CMS, проверьте работу плагинов и модулей, особенно тех, которые генерируют динамические URL. Для сайтов на PHP можно включить отображение ошибок display_errors и просмотреть логи веб-сервера, чтобы выявить проблемы с доступом к файлам и базам данных.
Дополнительно рекомендуется провести тестовые операции: отправку форм, загрузку файлов и авторизацию пользователей, чтобы убедиться, что функционал полностью работает после смены корневой папки.
Исправление возможных ошибок и корректировка путей
После смены корневой папки могут возникнуть ошибки доступа к файлам, сломанные ссылки или некорректное подключение скриптов. Для их устранения выполните следующие действия:
- Проверьте права доступа к новым директориям. Для папок используйте 755, для файлов – 644, убедитесь, что веб-сервер является владельцем или входит в группу владельцев.
- Проверьте конфигурационные файлы CMS и скриптов. Все пути к медиа, стилям и скриптам должны отражать новую структуру корневой папки.
- Используйте поиск по проекту для выявления абсолютных путей, указывающих на старую корневую папку, и замените их на новые.
- Проверьте .htaccess или правила перенаправлений в веб-сервере. При изменении корня могут перестать работать редиректы и ЧПУ.
- Обновите пути в базе данных, если CMS хранит абсолютные URL к файлам или изображениям.
После внесения изменений проведите повторную проверку сайта, включая загрузку страниц, работу форм и отображение медиафайлов. Логирование веб-сервера поможет выявить оставшиеся ошибки и скорректировать их своевременно.
Вопрос-ответ:
Почему после изменения корневой папки сайт не открывается и выдаёт ошибку 403?
Ошибка 403 возникает из-за неправильных прав доступа к новой папке или файлов. Проверьте, чтобы веб-сервер имел права на чтение и выполнение файлов. Для папок используйте права 755, для файлов — 644, и убедитесь, что владелец папок совпадает с пользователем веб-сервера (например, www-data для Apache/Nginx).
Как правильно перенести файлы сайта, чтобы не потерять структуру и скрытые конфигурации?
Используйте команды, сохраняющие права и структуру директорий, например rsync -av /старый_путь/ /новый_путь/ или cp -a /старый_путь/. /новый_путь/. Они копируют все файлы, включая скрытые (.htaccess, .env), и сохраняют права доступа. После копирования проверьте, что все файлы на месте и доступны веб-серверу.
Что делать, если после переноса корневой папки сломались ссылки и подключение стилей на сайте?
Проверьте пути к файлам в конфигурации CMS и скриптах. Если используются абсолютные пути, замените их на новые. Также проверьте .htaccess или правила перенаправления веб-сервера, чтобы корректно работали ЧПУ. После исправлений перезапустите сервер и очистите кеш браузера.
Как убедиться, что база данных не пострадала при смене корневой папки?
Перед переносом создайте полный дамп базы данных с помощью mysqldump для MySQL или pg_dump для PostgreSQL. После переноса можно выполнить пробный импорт дампа на тестовом сервере, проверить таблицы и содержимое. Это гарантирует, что структура и данные базы сохранены и совместимы с новой конфигурацией сайта.
Нужно ли менять настройки веб-сервера после переноса корневой папки, если сайт работает на CMS?
Да, необходимо обновить директивы DocumentRoot в Apache или root в Nginx, чтобы сервер указывал на новую папку. Также проверьте include-файлы и настройки виртуальных хостов. Для CMS проверьте внутренние пути к медиафайлам и скриптам, чтобы избежать сломанных ссылок и ошибок доступа.
Как проверить, что новая корневая папка полностью готова к работе сайта?
После переноса файлов и настройки веб-сервера убедитесь, что структура директорий соответствует требованиям сайта: index-файл находится в корне, папки для статики, скриптов и медиа имеют правильные права доступа (755 для папок, 644 для файлов). Проверьте работу основных страниц в браузере и откройте несколько внутренних URL. Используйте логи веб-сервера для выявления ошибок доступа или отсутствующих файлов. Если сайт использует CMS, проверьте, что подключение плагинов и модулей работает корректно.
Что делать, если после смены корневой папки часть ресурсов не загружается?
Сначала проверьте пути к ресурсам в HTML, CSS и скриптах: относительные и абсолютные пути должны соответствовать новой структуре папок. Если используются абсолютные пути на старую корневую папку, замените их на новые. Проверьте .htaccess и настройки редиректов в веб-сервере. После внесения изменений очистите кеш браузера и повторно протестируйте загрузку страниц. Также убедитесь, что веб-сервер имеет права на чтение всех файлов и папок.
