UMGUM.COM 

Миграция Bitrix-сайтов ( Шпаргалка по переносу набора простейших сайтов на примере работающих под управлением CMS "Bitrix". )

9 февраля 2019  (обновлено 30 марта 2019)

OS: "Linux Debian 9", "Linux Ubuntu 16 LTS".

Здесь шпаргалка по переносу сайтов, работающих под управлением CMS "Bitrix". Принцип легко распространить на любые другие сайты схожего стека технологий, но записка эта создана по мотивам переезда таковых с площадки созданной с год назад, описываемой в соответствующей публикации.

Далее просто и последовательно.


Предварительные работы на принимающей стороне.

Естественно, web-сервер должен быть сконфигурирован и готов к обслуживанию сайтов (например, по упоминаемой выше инструкции).

Подготовим место для приёма переносимых файлов:

# mkdir -p /var/tmp/bitrix0 && chown admin /var/tmp/bitrix0

Копирование данных на принимающий web-сервер.

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

Запускаем процедуру копирования файлов сайта (напрашивающаяся для применения утилита "scp" следует за символическими ссылками, а у нас в каждом сайте ссылки на много много-гигабайтные "общие ресурсы", так что используем "tar"):

# cd /var/www/ ; tar cfv - * | ssh admin@web.example.net "(cd /var/tmp/bitrix0; tar xf - )"

Выгружаем "логический дамп" БД, на лету передавая его на целевой web-сервер:

# mysqldump -u root bitrix0 | ssh admin@web.example.net "cat > /var/tmp/bitrix0/bitrix0.sql"

Копируем конфигурационные файлы web-сервера, описывающие переносимые сайты:

# scp -r /etc/nginx/sites-available admin@web-example.net:/var/tmp/bitrix0/sites-available

Выгружаем перечень команд запуска задач пользователя web-сервера по расписанию:

# sudo -u www-data crontab -l | ssh admin@web.example.net "cat > /var/tmp/bitrix0/crontab"

Применение данных проекта на принимающем web-сервере.

Первым делом занесём в БД содержимое "дампа", полученного с исходного web-сервера:

# mysql -u bitrix0 -p bitrix0 < /var/tmp/bitrix0/bitrix0.sql

Размещаем файловые ресурсы сайтов в соответствующей директории web-сервера:

# mv /var/tmp/bitrix0/www/* /var/www

В CMS "Bitrix" сайты разделяющие общее ядро подключаются к нему посредством символических ссылок - не забываем проверить их наличие:

# ln -s /var/www/shared/bitrix /var/www/site.example.net/www/bitrix
# ln -s /var/www/shared/upload /var/www/site.example.net/www/upload

Явно позволим пользователю, от имени которого запускается web-сервер, читать файлы сайтов:

# setfacl --recursive --no-mask --modify user:www-data:rX /var/www
# setfacl --recursive --no-mask --modify default:user:www-data:rX /var/www

Явно переводим файлы сайтов во владение соответствующего пользователя:

# chown -R www-data:www-data /var/www
# chmod -R g+rw /var/www
# chmod -R o-rwx /var/www

Удовлетворяя требования OpenSSH-сервера, посредством которого мы предоставляем SFTP-доступ к файловым ресурсам сайтов, передаём корневую директорию (не рекурсивно!) web-проектов во владение суперпользователя:

# chown root /var/www
# chmod g-w /var/www

Адаптация конфигурационных файлов.

Практически для всех сайтов параметры подключения к БД и "Memcached" устанавливаются в двух местах - не забываем их там изменить при необходимости:

# vi /var/www/shared/bitrix/.settings.php
# vi /var/www/shared/bitrix/php_interface/dbconn.php

Не забываем про запускаемые по расписанию задачи (скопированы в файл "/var/tmp/crontab"):

# sudo -u www-data crontab -e

Финальная проверка.

Совместимость конфигурации web-сервера с рекомендациями разработчиков CMS "Bitrix" проверяются на соответствующей страницы панели администрирования:

Администрирование -> Инструменты -> Проверка системы.


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )