Перенос конфигурации сайта в Drupal 8 с помощью drush и git. Перенос друпал


Перенос конфигурации сайта в Drupal 8 с помощью drush и git

В предыдущей статье мы рассмотрели конфигурационную систему в друпал 8. В ней были описаны способы как с помощью админки импортировать и экспортировать конфигурацию сайта. Но это же можно делать и при помощи drush, и при этом с помощью git делать деплой на рабочий сервер.

Месторасположение папок, в которых лежат конфигурационные файлы, определяется в файле settins.php:

$config_directories['active'] = 'sites/default/files/config_tn5XVQ4dh3PByAMeCopfjfLImM2MTKPJHE81D2vdUAcAhTdVgJM7bPuv_4OW9zw7zutkEk_h3A/active'; $config_directories['staging'] = 'sites/default/files/config_tn5XVQ4dh3PByAMeCopfjfLImM2MTKPJHE81D2vdUAcAhTdVgJM7bPuv_4OW9zw7zutkEk_h3A/staging'; $config_directories['vcs'] = '../config_vcs';

Две первые папки (active и staging) мы рассмотрели в предыдущей статье , а папка vcs предназначена для гит репозитория. В нее мы будем экспортировать локальную конфигурацию сайта, затем делать push в удаленный репозиторий на рабочем сервере, который будет располагаться в такой же папке vcs. Затем получивший изменения репозиторий с помощью drush импортируем в staging.

Для работы с друпал 8 нам понадобиться drush.В нем для работы с CMI есть следующие команды :

Рассмотрим несколько примеров:

# Изменим имя сайта и слоган , открыв и отредактировав system.site конфигурацию. local$ drush config-edit system.site # Экспортируем активную конфигурацию сайта в каталог 'vcs'. # Путь до этого каталога определяется в переменной $config_directories[] в файле settings.php (см. Выше). local$ drush config-export vcs local$ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: ../config_vcs/system.site.yml # # Закоммитим все изменения которые мы получили. local$ git commit -am "New configuration" # сделаем push на удаленный сервер local$ git push # по ssh протоколу перейдем в рабочий сервер local$ ssh -A [email protected] ############################## # Welcome to dev.server.example.com. # Last login: Wed Feb 26 19:43:14 2014 from localhost dev$ cd www/docroot dev$ git pull # Импортируем все полученные конфиги и увидим diff между текущей конфигурацией и импортируемой. dev$ drush config-import vcs --preview=diff

drup.by

Перенос сайта на Drupal — КОМТЕТ — хостинг

Если Вы захотели перенести на наш хостинг свой сайт на Drupal, Вам прежде всего следует:

  1. Определится с тарифным планом: рекомендуемые разработчиками требования к проекту на Drupal больше всего подходят для тарифных планов "Профи", "Плюс" и "VIP", которые мы и рекомендуем для данной CMS.
  2. Зарегистрировать аккаунт (регистрация) с прикрепленным к нему доменом: прикрепленный домен нужен для того, чтобы на сервере для вас создалась дисковое пространство для работы с сайтом. Прикреплять домен можно как при регистрации хостинга, так и после регистрации.

Итак, если вышеописанные условия выполнены, можно переходить к переносу сайта. Следуем инструкции:

  1. На прежнем хостинге подготавливаем два архива: бекап сайта (архив содержащий все файлы сайта) и дамп БД.
  2. Заходим по FTP на рабочую площадку Вашего домена нашего хостинга.
  3. Закачиваем два ранее подготовленных бекапа сайта во временный каталог (рекомендуем закачивать в ~/private). Примечание: дамп БД в принципе закачивать необязательно, так как удобнее будет выполнить импорт БД с помощью инструмента phpmyadmin панели Plesk.
  4. Из архива с бекапом сайта распаковываем файлы в корень сайта ~/httpdocs
  5. С помощью панели управления Plesk создаем БД для выбранного домена, а также создаем пользователя БД (Для примера настройки конфигурационного файла, мы создали, например, БД с именем drupaltest_site и пользователя drupaluser, с паролем 123456).
  6. Выполняем импорт БД либо с помощью консольной комманды mysql, либо с помощью инструмента phpmyadmin панели Plesk, либо с помощью скрипта импорта (например, не менее популярный dumper.php)

Файлы сайта перенесены и подготовлены к настройке, продолжаем:

  1. Выполняем настройку сайта на предмет подключения к БД. Для этого необходимо редактировать файл ~/httpdocs/sites/default/settings.php следующим образом:$db_url = 'mysql://drupaluser:123456@localhost/drupaltest_site'; /// Если следует обозначить префикс таблиц то меняем и: $db_prefix = 'drupal_'; /// По умолчанию префикс пустой
  2. Проверяем работу сайта.

Примечание: если зона DNS для вашего домена, после смены ns-серверов у регистратора, еще не обновилась, проверить работу сайта вы можете с помощью предварительного просмотра сайта для вашего домена, добавить которое вы сможете обратившись в службу технической поддержки хостинга.

www.komtet.ru

Перенос сайта на Drupal между серверами при помощи Drush

Периодически возникает необходимость переноса сайтов под управлением Drupal от одного хостера к другому. И если бы небыло такой замечательной консольной проги как drush с ее возможностями - drush archive-dump и drush archive-restore, миграции проходили бы гораздо дольше и сложнее.

Типичный сайт на Drupal состоит из двух основных элементов: файлы (движок и все что накопилось за время работы) и база данных. Для корректной работы на новом месте нужно перенести обе части плюс внести некоторые изменения в загрузку.

Привычный «Cтарый путь» миграции предполагал следующее:

Перемещение базы

  1. создать новую пустую базу
  2. создать нового пользователя
  3. связать пользователя и базу (не забыв про корректные права доступа)
  4. создать дамп базы на старом месте
  5. импортировать базу на новый хостинг

Перемещение файловой части

  1. запаковать файлы сайта в zip или лучше в tar.gz (LinuxWay)
  2. переместить фалы на новый хостинг
  3. распаковать
  4. подредактировать файл settings.php вписав новый данные для доступа к базе и т. п.
  5. проверить и скорректировать владельца и права доступа на файлы

Новый путь (в светлое будущее)Получаем доступ по SSH, переходим в папку установки Drupal и делаем всего 3 простых манипуляции1. Создаем резервную копию

drush archive-dump

после завершения процедуры выдается сообщение с указанием пути где лежит наш архивArchive saved to /home/user/drush-backups/archive-dump .......2. Переносим архив на новый сервер по FTP, но я больше люблю SSH

scp [source-archive] [user]@[target-server]:[target-folder]

приблизительно так

scp /home/user/drush-backups/archive-dump/123.20121210_122505.tar.gz [email protected]:/var/www/html/drupal

3. Получаем доступ по SSH на новом сервере, переходим в папку с архивом и выполняем команду на подобии такой:

drush archive-restore [source-archive] --destination=./[new-folder-name] --db-url=mysql://[mysql-user]:[mysql-password]@[target-server]/[db-name] --overwrite

например вот так

drush archive-restore 123.20121210_122505.tar.gz --destination=/var/www/html/site.ru/ --db-url=mysql://c1006_site:megapassword@localhost/c1006_site --overwrite

В результате drush создаст новую папку, распакует туда содержимое архива, распакует базу данных, сделает ее доступной и скорректирует данные в settings.php.

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

--db-su [mysql-root-user] --db-su-pw [mysql-root-password]

Вот собственно и все. Для получения информации о дополнительных возможностях drush выполните команду с флагом --help. Если необходимо получить информацию по конкретной команде то логика команды выглядит так

drush help [command]

dematron.ru

Перенос сайта на Drupal » Блог о IT сфере. Главные новости и интересные статьи со всего рунета.

Перенос сайта на DrupalВеб-разработчики должны знать, как осуществляется перенос сайта на Drupal. Такие знания позволят переместить созданный на CMS-системе ресурс с локального сервера, на хостинг интернет-провайдера. С процедурой транспортировки сайта справится даже новичок, при условии, что будут соблюдены все пункты инструкции. Важно помнить о том, что не нужно спешить, чтобы не допустить серьезных ошибок.

Перенос сайта на Drupal осуществляется в несколько последовательных этапов. Перед выполнением перемещения веб-ресурса, рекомендуется заранее зарегистрировать доменное имя и выбрать хостинг. Когда все будет готово, можно смело приступать к переносу. Не стоит расстраиваться, если с первого раза не получится корректно переместить веб-ресурс. Если это произошло, необходимо всего лишь повторить все шаги сначала.

Резервное копирование

Некоторые пользователи не знают, но перед тем как приступить к переносу сайта, необходимо выполнить резервное копирование. Такая CMS-система, как Drupal, позволяет сделать бэкап двумя различными способами, а именно:

Первый способ достаточно сложный, но благодаря ему процедуру можно выполнить значительно быстрее. К тому же подобное средство имеет гибкие настройки. Пользователь при желании может исключить некоторые каталоги веб-сайта. Для этого достаточно добавить ключ «tar». Чаще всего подобное делается тогда, когда каталог имеет большие объемы и содержит видео или аудио файлы.

В первую очередь необходимо войти в SSH под своим логином и паролем. В открывшемся окне, в поле консоли следует ввести команду [mysqldump]. Важно учесть тот факт, что некоторые хостеры могут отключать такую утилиту. Это же касается и локального сервера. Если утилита сработала, необходимо ввести следующую команду: mysqldump -uname -ppass -hhost db_name > /path/site_dump.sql. Вместо атрибута «name», следует прописать имя пользователя, что касается значения «pass», то вместо него необходимо указать свой пароль. Таким же образом необходимо поступить с параметром «path», указав путь к месту хранения дампа.

Второй способ значительно проще, но его можно использовать только в последних версиях. Пользователю следует перейти в корневой каталог и в консоли прописать следующую команду: drush archive-dump --destination=/home/webmaster/yourdomains/test.ru/backup/ backup_test.tar.gz/. После выполнения операции в директории «backup» появится резервная копия веб-сайта, помещенная в архив «backup_test.tar.gz».

Перенос файлов

Многие специалисты советуют изучить хостинг и панель администрирования. Например, если хостер предоставляет доступ к phpMyAdmin, тогда лучше всего резервную копию создавать через этот же инструмент. Если сделать бэкап через другие элементы, может возникнуть проблемы с кодировкой.

После того, как пользователь создал резервную копию сайта и базы данных, можно перейти непосредственно к переносу. Чтобы переместить все необходимые файлы, необходимо воспользоваться:

Вебмастеру следует убедиться в том, что хостинг предоставил доступ к базе данных. Если этого не произошло, следует самостоятельно установить БД. Когда все будет готово, можно приступить к переносу файлов. Это можно сделать при помощи FTP сервера.

Если не хочется использовать phpMyAdmin или Sypex, необходимо воспользоваться консолью. Следует заметить, что это не самый простой способ развернуть сайт с базой данных.

В консоли следует ввести следующую команду: mysql -u name -p pass. Вместо указанных параметров, необходимо указать свое имя пользователя и пароль. Теперь вебмастеру следует выбрать рабочую базу данных, указав ее имя. Это можно сделать при помощи команды: USE db_name.Когда база будет выбрана, остается ее развернуть. Достаточно ввести в консоли следующую строку: SOURCE /path-to-your_db/dump_suit.sql. После этого остается лишь подключить сайт к развернутой базе данных.

Настройка развернутого сайта

Создание бэкапа и перенос веб-сайта на новый хостинг займет у пользователя не более 20 минут. Конечно, если веб-ресурс наполнен аудио и видео файлами, перемещение может занять больше времени.

В первую очередь необходимо изменить параметры settings.php файла. Для корректировки, лучше всего использовать notepad++. В открывшемся документе редактируются следующие поля:

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

При помощи модуля Backup and Migrate, необходимо настроить расписание создания резервных копий. К тому же можно изменить путь для сохранения бэкапов. Закончив с резервными копиями, пользователю необходимо проверить корректно ли отображается текст, картинки и другая информация.

Ошибки переноса

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

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

Ошибки могут появиться после того, как были перенесены не все файлы с локального сервера на хостинг. Важно, чтобы при копировании не появлялись ошибки, и вес скопированного файла соответствовал тому, что находится на компьютере.

Пользователям, которым сложно разбираться с CMS системой, рекомендуется просто произвести повторный перенос и подключение БД. В большинстве случаев, после второго перемещения, ошибки пропадают. Если же этого не произошло, необходимо разбирать каждый ошибку по отдельности также можно воспользоваться помощью специалистов, которые не однократно сталкивались с подобными проблемами.Новичкам рекомендуется пошагово выполнять каждый пункт инструкции. Только тогда перенос сайта на drupal будет выполнен быстро и без ошибок. Достаточно несколько раз выполнить перемещение веб-ресурса на хостинг, чтобы в дальнейшем все делать самостоятельно.

onedata.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта