Перенос Drupal на другую машину
Перенос Drupal на другую машину.
Содержание
1 Прагматика
- При замене операционной системы возникает необходимость переноса сервисов на другую машину.
2 Порядок миграции
2.1 Настройка машины
- Следует установить на машину стек LAMP (см. Rocky Linux. Установка сервера).
2.1.1 Необходимое программное обеспечение
- Установите необходимое для Drupal программное обеспечение:
dnf install gd dnf install php-gd dnf install php-pecl-apcu
2.1.2 Drush
Drush 8
- Загрузите нужную версию
drush
изhttps://github.com/drush-ops/drush/releases
:cd /usr/local/bin/ wget https://github.com/drush-ops/drush/releases/download/8.4.8/drush.phar -O drush chmod +x drush
- Загрузите нужную версию
2.1.3 Запуск базы данных
Mysql
Запустите базу данных:
systemctl enable --now mariadb.service
Поправьте уровень безопасности:
mysql_secure_installation
- Не надо переключаться на сокет и менять пароль пользователя
root
.
- Не надо переключаться на сокет и менять пароль пользователя
Postgresql
- Запустите базу данных:
systemctl enable --now postgresql.service
- Запустите базу данных:
2.1.4 Настройка сети
- Откройте необходимые порты:
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload
2.1.5 Настройка Selinux
- Зададим переключатели для Selinux:
setsebool -P httpd_can_network_connect 1 setsebool -P httpd_can_sendmail 1
2.2 Перенос файлов
- Перейдите на новой машине в каталог для файлов www-сервера:
cd /var/www/html
- Скопируйте каталог с файлами со старой машины:
rsync -av -HS -AX root@<oldhost>:/var/www/html/<oldsite> . --delete
- Перегенерите метки Selinux:
restorecon -vR /var/www/
2.3 Перенос базы данных
2.3.1 Создание дампа базы данных
- На исходной машине необходимо создать дамп базы данных.
Mysql
- Создайте дамп базы:
mysqldump --quote-names --add-drop-table -u root -p databasename > mysql-databasename-`date +%Y%m%d-%H%M%S`.sql
- Создайте дамп базы:
Postgres
- Создайте дамп базы:
su - 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
):mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
Подключитесь к базе данных:
mysql -u root -p
- Создайте пользователя и установите разрешения:
CREATE USER username@localhost IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON `databasename`.* TO 'username'@'localhost' IDENTIFIED BY 'password';
- Сбросьте привилегии:
FLUSH PRIVILEGES;
- Закройте терминал базы данных, набрав
exit
.
- Создайте пользователя и установите разрешения:
Postgres
- Создайте пользователя базы данных:
createuser --pwprompt --encrypted --no-adduser --no-createdb username
- Создайте базу данных:
createdb --encoding=UNICODE --owner=username databasename
- Создайте пользователя базы данных:
2.3.3 Восстановление дампа базы данных
Mysql
- Восстановите базу данных:
mysql -u root -p databasename < mysql-databasename.sql
- Восстановите базу данных:
Postgres
- Восстановите базы данных:
psql -U postgres -d databasename < pg-databasename.sql
- Восстановите базы данных: