Перенос сайта на 1С-Битрикс на новый сервер: рабочий чек-лист

Перенос сайта на 1С-Битрикс на новый сервер требует больше внимания, чем простое копирование файлов. Нужно перенести базу, upload, настройки подключения, права, cron, почту, SSL, DNS и проверить, что после запуска работают формы, обмены, агенты, композит и админка.

Главная ошибка — считать перенос завершённым после открытия главной страницы. В Битрикс много фоновых и служебных механизмов, которые могут сломаться незаметно.

Что нужно сохранить перед переносом

Перед началом стоит сделать полный архив. Код проекта обычно лежит в корне сайта, пользовательские файлы — в upload, настройки подключения — в bitrix/php_interface/dbconn.php и .settings.php.

tar -czf site-files.tar.gz /var/www/site.ru
mysqldump --single-transaction -u user -p database | gzip > database.sql.gz

Если upload большой, его можно переносить отдельно через rsync:

rsync -av /var/www/site.ru/upload/ newserver:/var/www/site.ru/upload/

База данных

После импорта базы нужно проверить кодировку и подключение. В старых Битрикс-проектах могут встречаться разные кодировки, поэтому менять charset наугад не стоит.

gunzip < database.sql.gz | mysql -u user -p database

Проверить настройки подключения:

cat bitrix/php_interface/dbconn.php
cat bitrix/.settings.php

Пароли и доступы не стоит показывать в логах или отправлять в общие чаты.

Права на файлы

Битрикс должен писать в upload, bitrix/cache, bitrix/managed_cache, bitrix/stack_cache, bitrix/html_pages и некоторые временные директории. После переноса от root права часто ломаются.

ls -la upload
ls -la bitrix/cache
ls -la bitrix/managed_cache

Примерно:

chown -R www-data:www-data upload bitrix/cache bitrix/managed_cache bitrix/stack_cache bitrix/html_pages
chmod -R ug+rw upload bitrix/cache bitrix/managed_cache bitrix/stack_cache bitrix/html_pages

Пользователь зависит от сервера. Нельзя бездумно ставить 777 на весь проект.

PHP и расширения

Версия PHP и набор расширений должны подходить проекту. После переноса могут отсутствовать mbstring, mysqli, curl, gd, imagick, intl или zip.

php -v
php -m

Также нужно проверить memory_limit, upload_max_filesize и post_max_size, особенно для каталога и обмена с 1С.

php -i | grep memory_limit
php -i | grep upload_max_filesize
php -i | grep post_max_size

Cron и агенты

Если на старом сервере агенты запускались через cron, расписание нужно перенести. Если они запускались на хитах, после переезда стоит хотя бы проверить, что фоновые задачи выполняются.

crontab -l

Пример проверки агентов:

php -f bitrix/modules/main/tools/check_agents.php

Почта и формы

После переноса нужно отправить тестовую форму. SMTP может быть привязан к IP или DNS, а mail() на новом сервере может работать иначе.

  • проверить SMTP host, port, login, password;
  • проверить SPF, DKIM и DMARC;
  • проверить почтовые события в Битрикс;
  • проверить папку “Спам”;
  • посмотреть очередь b_event.

SSL, DNS и редиректы

После переключения DNS нужно проверить основной домен, www, HTTPS, сертификат и редиректы. Если включён композит или абсолютные URL, старый домен может остаться в кэше или настройках.

curl -I http://example.ru/
curl -I https://example.ru/
curl -I https://www.example.ru/

Очистка кэша после переноса

После переноса лучше очистить кэш Битрикс и проверить, что новые директории кэша создаются с правильными правами. Также стоит учитывать OPcache.

rm -rf bitrix/cache/*
rm -rf bitrix/managed_cache/*
rm -rf bitrix/stack_cache/*

Удалять нужно содержимое кэш-директорий, а не важные системные файлы проекта.

Проверка после запуска

  1. Главная страница открывается по HTTPS.
  2. Админка открывается и сохраняет изменения.
  3. Работают формы и письма.
  4. Открываются изображения из upload.
  5. Каталог и карточки товаров работают.
  6. Агенты или cron выполняются.
  7. Обмен с 1С запускается, если он используется.
  8. robots.txt и sitemap.xml указывают на новый домен.
  9. В логах нет свежих критических ошибок.

Перенос Битрикс-сайта лучше делать по списку. Тогда не придётся через два дня выяснять, что сайт работал только внешне, а агенты, почта и обмен с 1С остались на старом сервере.

Комментарии (0)

Пока нет комментариев. Будьте первым!