Перенос Drupal на другую машину
2022-09-13
·
3 мин. для прочтения
Перенос 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
 
- Восстановите базы данных:
