Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

1.2.2. Обновление Drupal 8 без Drush и без Composer.

21/11/2019, by Ivan

Если вы ставили друпал, скачивая его с сайта drupal.org с этой страницы:

https://www.drupal.org/project/drupal

То у вас могут возникнуть проблемы с обновлением Drupal, потому что Drush и Composer не смогут обновить его обычным способом. Поэтому вам придется обновлять друпал заменой файлов или поменять структуру файлов в проекте, чтобы композер мог обновлять Drupal. В этой статье мы разерем первый вариант как обновить Drupal без Drush и Composer.

drupal

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

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

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

Не пытайтесь обновить Drupal 8 сайт по FTP на удаленном сервере, это займет очень много времени. Если у вас есть SSH доступ на удаленный сервер, вы можете скачать drupal файлы через wget это займет гораздо меньше времени.

Теперь когда у вас есть бекап сайта, приступаем к обновлению.

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

2. Поставьте сайт в режим обслуживания:

/admin/config/development/maintenance

Конфигурация > Режим обслуживания

Administration > Configuration > Development > Maintenance mode

drupal

1. Удалите папки core, vendor из корня сайта.

drupal update

Как только вы удалите эти папки сайт уже перестанет работать и будет недоступен.

2. Если вы изменяли файлы .htaccess, robots.txt, то сохраните эти изменения потому что все файлы которые лежат прямо в корне сайта тоже нужно будет обновить.

Также сохраните изменения из файла composer.json, если вы ставили какие-то библиотеки или модули через composer, вам придется установить их заново через композер.  Если измений очень много, то лучше не перезаписывать composer.json и composer.lock файлы и оставить их как есть.

drupal update

3. Иногда изменения могут затронуть default.settings.php, а это значит что вам нужно будет добавить изменения в свой settings.php файл. Вы можете найти список изменений для вашей версии Drupal, перейдя по ссылки View all releases на страницы проекта Drupal:
https://www.drupal.org/project/drupal

drupal update

Но обычно такое происходит редко и если вы обновляете минорную версию друпала (8.5.x -> 8.5.y), то можете пропустить этот шаг.

4. Качаем новую версию Drupal со страницы проекта друпала или со страницы Views all releasers.

https://www.drupal.org/project/drupal

Из файлов новой версии мы копируем папки vendor, core  и все файлы из корня сайта.

Drupal update

И теперь закидываем эти файлы на наш сайт.

Вы также можете использовать SSH на удаленном сервере чтобы скачать файлы друпала в папку которая находятся снаружи вашего сайта:

wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz
tar -zxvf drupal-x.y.z.tar.gz

И потом закидывать файлы на ваш сайт внутри сервера:

cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation

Если все-таки FTP это единственный путь, то используйте Filezilla и копируйте в 10 потоков, чтобы процесс шел быстрее:

drupal files

5. Теперь возвращаем изменения в файлах robots.txt, .htaccess, default.settings.php, settings.php, composer.json.

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

$settings['update_free_access'] = TRUE;

Это позволит запускать от любого пользователя файл update.php.

Запускаем файл /update.php:

update.php

7. Проверяем что версия drupal обновилась. Заходим на страницу Status Report:

/admin/reports/status

Drupal status

8. Возвращаем сайт в рабочий режим:

/admin/config/development/maintenance

Drupal maintenance mode

9. Не забудьте после выполнения update.php вернуть значение обратно на FALSE:

$settings['update_free_access'] = FALSE;

 

Если у вас возникли трудности или ошибки, пишите в комментариях.