Перенос Drupal на другую машину
Перенос Drupal на другую машину.
Содержание
1 Прагматика
- При замене операционной системы возникает необходимость переноса сервисов на другую машину.
2 Порядок миграции
2.1 Настройка машины
- Следует установить на машину стек LAMP (см. Rocky Linux. Установка сервера).
2.1.1 Необходимое программное обеспечение
- Установите необходимое для Drupal программное обеспечение:
2.1.2 Drush
Drush 8
- Загрузите нужную версию
drush
изhttps://github.com/drush-ops/drush/releases
:
- Загрузите нужную версию
2.1.3 Запуск базы данных
Mysql
Postgresql
- Запустите базу данных:
1systemctl enable --now postgresql.service
- Запустите базу данных:
2.1.4 Настройка сети
- Откройте необходимые порты:
2.1.5 Настройка Selinux
- Зададим переключатели для Selinux:
2.2 Перенос файлов
- Перейдите на новой машине в каталог для файлов www-сервера:
1cd /var/www/html
- Скопируйте каталог с файлами со старой машины:
1rsync -av -HS -AX root@<oldhost>:/var/www/html/<oldsite> . --delete
- Перегенерите метки Selinux:
1restorecon -vR /var/www/
2.3 Перенос базы данных
2.3.1 Создание дампа базы данных
- На исходной машине необходимо создать дамп базы данных.
Mysql
- Создайте дамп базы:
1mysqldump --quote-names --add-drop-table -u root -p databasename > mysql-databasename-`date +%Y%m%d-%H%M%S`.sql
- Создайте дамп базы:
Postgres
- Создайте дамп базы:
1su - postgres -c "pg_dump -U postgres > pg-databasename-`date +%Y%m%d-%H%M%S`.sql
- Создайте дамп базы:
2.3.2 Создание базы данных на новой машине
Mysql
База данных должна быть создана с использованием кодировки UTF-8 (Unicode) (utf8mb4) и параметров сортировки
utf8mb4_unicode_ci
илиutf8mb4_general_ci
.- Разница между двумя сопоставлениями связана с тем, насколько быстро они сравнивают символы и сортируют их.
utf8mb4_general_ci
немного быстрее, однакоutf8mb4_unicode_ci
более точен для более широкого диапазона символов.
Необходимые значения:
databasename
— имя базы данных;username
— имя пользователя базы данных;password
— пароль пользователя базы данных.
Создайте новую базу данных для вашего сайта (измените
username
иdatabasename
):1mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
Подключитесь к базе данных:
1mysql -u root -p
- Создайте пользователя и установите разрешения:
- Сбросьте привилегии:
1FLUSH PRIVILEGES;
- Закройте терминал базы данных, набрав
exit
.
Postgres
2.3.3 Восстановление дампа базы данных
Mysql
- Восстановите базу данных:
1mysql -u root -p databasename < mysql-databasename.sql
- Восстановите базу данных:
Postgres
- Восстановите базы данных:
1psql -U postgres -d databasename < pg-databasename.sql
- Восстановите базы данных: