Мобильные телефоны и гаджеты

Мобильные телефоны и гаджеты

» » Drupal собственный сервер обновлений для модулей. На очереди обновление Drupal. Обновление между основными версиями

Drupal собственный сервер обновлений для модулей. На очереди обновление Drupal. Обновление между основными версиями

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

В данной статье будет рассмотрен вопрос как обновить Drupal 7 с одной минорной версии к другой (например с 7.0 на 7.2 или 7.2 до 7.4. и так далее).

Обновление основных (мажорных) версий, таких как с 5 на 6 или с 6 на 7 версию - гораздо более обширный вопрос и рассматриваться не будет.

Перед обновлением, выработайте в себе привычку смотреть заметки к релизу, где вы можете получить исчерпывающую информацию о том какие изменения были сделаны. Также, там вы можете увидеть вносились-ли какие-либо изменения в файлы.htaccess, web.config, robots.txt, или default settings.php.

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

Это позволит вам в случае возникновения каких-либо непредвиденных обстоятельств, в кратчайшие сроки вернуть работоспособность сайту, с дальнейшим поиском причин уже на тестовой инсталляции Drupal.

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

Обновление Drupal через браузер, файловый менеджер и архиватор

Шаг 1: Проверка доступных обновлений

Для начала, для обновления Drupal, нажмите "Reports" (Отчеты), затем "Available updates" (Доступные обновления). Если проверка обновлений производилась давненько, нажмите ссылку Check manually (Проверить вручную).

На странице "Available updates" (Доступные обновления) будут показаны обновления, которые доступны для модулей и ядра системы. Ядро системы необходимо скачать отдельно, установить его непосрдственно из административной консоли нельзя.

Шаг 2: Загрузка файлов обновления

Шаг 3. Переведите сайт Drupal в режим обслуживания

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

  • Откройте меню Конфигурация , или ссылку admin/config/development/maintenance
  • В разделе разработка откройте ссылку Режим обслуживания .
  • Установите чекбокс Перевести сайт в режим обслуживания
  • Измените, если это критично, Сообщение о режиме обслуживания и нажмите кнопку Сохранить настройки

Шаг 4: Создайте резервную копию

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

Шаг 5: Обновите файлы ядра Drupal

  • Перед выгрузкой файлов, в корневой папке вашего сайта удалите все содержимое, кроме директории sites (еще раз напоминаю про резервную копию).
  • Разархивируйте только что скачанный архив
  • Скопируйте распакованное содержимое, за исключением директории sites , в корневую директорию сайта (напоминаю про директорию sites ).
    Обратите внимание : Удалять директорию sites не обязательно, но ее копирование может привести к потере данных, созданных в ходе работы с сайтом. Убедитесь, что существующая на сервере директория sites осталась без изменений.

После выгрузки, обновите страничку "Доступные обновления" ("Available updates") . Версия сайта должна стать актуальной (зеленой вместо красной).

Шаг 6: Запустите менеджер обновления

Откройте страничку "Modules" ("Модули") и в строке "Always run the update script each time a module is updated" нажмите ссылку update script . Отктроется мастер обновления базы данных.

Overview - Нажмите "Continue".

Шаг 4. Переведите сайт назад в рабочий режим

$ drush vset --yes maintenance_mode 0;

Вот и все. Как видите, использование Drush существенно сократило работу. Всего пару команд и все готово. Так что, если есть возможность, обязательно используйте Drush и не только при обновлении Drupal.

Рассатривается обновление Drupal сайта между минорными версиями и патчами, например с 8.1.2 до 8.1.3, или с 8.3.5 до 8.4.0.

Прежде всего сделайте полную резервную копию всех файлов и каталогов сайта, базы данных (MySQL) до обновления и сохраните её за пределами установочной директории Drupal.

Рекомендуется пробовать обновление на тестовой копию вашего сайта. Даже незначительные обновления могут вызывать поведение для изменения. В большей степени это относится к плагинам, например может перестать работать выпадающее меню или wysiwyg редактор.

Обновление Drupal 8 до актуальной версии 8.x.x

    Под учетной записью администратора переведите сайт в режим обслуживания (Конфигурация -> Разработка -> Режим обслуживания).

    Скачайте с сервера drupal.org архив актуальной версию Drupal 8.

    Удалите все папки и файлы, за исключением папок:

    • sites
    • modules
    • themes
    • libraries (при наличии)

    Отдельно сохраните файлы:

    • .htaccess
    • robots.txt
    • composer.json
  1. Распакуйте архив с новой версии Drupal 8 в корневую папку вашего веб-сайта.

    Запустите скрипт update.php обновления Drupal. Для этого зайдите по адресу http:///update.php и выполните обновление. Этот скрипт обновляет таблицы базы данных.

    Если нет доступа, к скрипту update.php , выполните следующую инструкцию:

    • Откройте файл settings.php в текстовом редакторе.

      Найдите строчку:

      $settings["update_free_access"] = FALSE;

      Замените на:

      $settings["update_free_access"] = TRUE;

      После обновления обязательно верните в первоначальное состояние FALSE ;

  2. Проверьте отчёт о состоянии (Администрирование -> Отчеты -> Отчет о состоянии). Убедитесь, что все работает должным образом.

    Убедитесь, что вы присвоили параметру $settings["update_free_access"] значение FALSE в файле settings.php .

    Если обновление прошло удачно, то переведите сайт в режим «Рабочего состояния».

    Если файлы robots.txt , .htaccess и composer.json модифицировались, то не забудьте добавить нужные строки в обновленные файлы.

После обновления

Удалите файлы по которым можно определить версию системы.

  • CHANGELOG.txt
  • COPYRIGHT.txt
  • INSTALL.txt
  • LICENSE.txt
  • MAINTAINERS.txt
  • README.txt

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

Для CMS – Drupal регулярно выходят новые версии (обновления) в которых вносится изменения по усовершенствованию CMS, исправление ошибок/уязвимостей и доработки по безопасности.

Как узнать о выходе обновления для ядра вашего сайта?

если вы являетесь администратором сайта на CMS – Drupal вы можете настроить уведомления с сайта на ваш Е-mail о доступных обновлениях или проверить самостоятельно посетив раздел: Отчёты > Отчёт о состоянии (ваш_сайт/admin/reports/status)

Итак, мы видим, что появилось новое ядро. Что же делать? Обновляться, причем чем скорее, тем лучше. Особенно для обновлений с пометкой «Не безопасно!», как на скрине выше.

В отличии от модулей ядро Drupal не может обновиться самостоятельно или автоматически, это придется делать собственноручно. В этом нет ничего сложного.

Для начала качаем свежую версию Drupal . Затем выполняем следующие действия:

  1. Сделайте резервную копию вашего сайта (backup), включая все директории сайта + базы данных.
  2. Переведите сайт в режим обслуживания: заходим Конфигурация > Разработка > Режим обслуживания(/admin/config/development/maintenance) . Ставим галочку «Перевести сайт в режим обслуживания» и сохраняем настройки.
  3. Заходим на сервере в каталог сайта и удаляем все файлы и папки, за исключением: папки sites , файлов .htaccess и robots.txt

    ВНИМАНИЕ! Если вы используете дистрибутив (например Drupalife Store, Commerce Kickstart и подобные), папку profiles удалять нельзя . Эту папку мы перезапишем с заменой на более новые файлы.

  4. Распакуйте архив с новой версией Drupal скачанный с официального сайта и удалите папку sites , а также файлы .htaccess и robots.txt оставшиеся файлы можно заливать на сервер вашего сайта
  5. После того как все файлы нового ядра записаны на сервер, переходим по адресу vash_site/update.php и жмем continue на всех шагах.
  6. Когда появится сообщение что все обновлено. Можете перейти на страницы сайта и проверить его. Если все работает корректно, переведите сайт обратно в рабочий режим (см. пункт 2).

Перейдите в раздел Отчёт о состоянии и убедитесь что ядро теперь самой последней версии.

Вот такими простыми шестью шагами можно обновить версию друпала.

На заметку

  1. Всегда удаляйте следущие файлы из корня сайта: CHANGELOG.txt , COPYRIGHT.txt , INSTALL.txt , LICENSE.txt , MAINTAINERS.txt , README.txt - это первая дыра в безопасности сайта. На основе данных файлов можно определить версию системы, соответственно зная версию и её дыры, будет на много легче взломать сайт.
  2. Всегда своевременно обновляйте ядро сайта до последней версии. Да, лень, да, муторно, но безопасность превыше всего.
  3. Ничего не храните и не меняйте в ядре. Именно поэтому мы удалили все кроме папки sites и двух файлов. Те два файла могут быть у каждого свои, они не меняются из версии в версию, а у сайтов они подвергаются изменениям. Случайно заменив их, может возникнуть проблема. Папку sites мы не трогали, так как в ней хранятся все файлы ВАШЕГО САЙТА. эта папка - хранилище файлов системы, ничего важного для обновления ядра там нет. Ни в коем случае не трогайте файл и папки ядра. И не редактируйте код ядра, для этого есть Drupal API.
  4. Если вы выключили по каким-то причинам модуль updates, то вы не узнаете о том что вышла новая версия ядра на своем сайте. В таком случае проверяйте наличие обновлений вручную.
  5. И самый банальный совет - не делайте обновление без backup .

Наша Команда техподдержки рада представить Вам туториал, который покажет, как обновить движок Drupal :

    Используйте ваш FTP или Файловый менеджер панели управления вашего сервера (Hosting cPanel Filemanager) для того, чтобы открыть корневую папку вашего сайта (public_html , www и т. д.). Создайте там папку «drupal_new» . Если ваш сайт расположен в папке под названием drupal , у Вас будет две папки с одинаковым размещением: drupal — папка текущего размещения вашего сайта и drupal_new , которая является пока что пустой:

    Загрузите архив последней версии движка Drupal в эту папку и разархивируйте его (extract it), если Вы используете панель управления сервера (Hosting Cpanel ). В противном случае, Вы можете загрузить файл для разархивации (unzipper file) через FTP :

    Скопируйте файл .htacess и папку «site» из папки вашого текущего сайта в новую папку, разрешив перезаписывание файлов.

    Перейдите в папку drupal_new/sites/default и найдите файл settings.php в ней. Откройте его для редактирования:

    Найдите следующую строку кода:

    $update_free_access=FALSE;

    и замените её на:

    $update_free_access=TRUE;

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

    Откройте ваш браузер и введите http ://yourwebsiteurl/drupal_new/update .php в адресную строку:

    Нажмите на кнопку Продолжить (Continue), если Вы уже сделали резервную копию вашего сайта. Вы можете ознакомиться с детальным руководством к тому, как создать резервную копию вашего сайта:

    Нажмите на кнопку Применить ожидающие обновления (Apply pending updates):

    Вернитесь к drupal_new —> sites —> default , для того чтобы вновь внести изменения в файл settings.php . Измените TRUE назад на FALSE , так же, как Вы это сделали в шаге 6.

    Откройте http ://yourwebsiteurl/drupal_new/ в браузере, для того чтобы удедиться, что ваш сайт работает корректно.

    Если сайт отображается должным образом, воспользуйтесь вашим FTP или панелью управления хостинга (Cpanel ) и переименуйте текущую папку расмещения сайта с drupal на drupal_old , а drupal_new на drupal .

22.11.2012

Прогресс не стоит на месте, всё движется вперед – не исключением является и развитие всеми нашего любимого Drupal. Возникают такие ситуации, когда после сдачи сайта в эксплуатацию заказчику, через некоторое время на странице отчётов появляются вот такие сообщения

Что порой приводит к недоумению заказчиков. А это сообщение как раз и говорит о том, что разработчики Drupal не спят, и постепенно совершенствуют свою платформу и сейчас пришло время как раз обновиться. В каждой новой версии разработчики исправляют различные баги функционала, так же и баги которые касаются системы безопасности. Как обновить Drupal на более свежую версию я сейчас вам расскажу. В принципе задача довольно простая, первое что нам необходимо сделать это скачать обновлённую версию Drupal, ссылка на скачивание даётся также в окне сообщения


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

Теперь, что бы не было не предвиденных сбоев при обновлении рекомендуется перевести сайта режим обслуживания. Для этого переходим по пути «Конфигурация->Разработка->Режим обслуживания»


Далее открывается страница, на которой нам необходимо поставить галочку напротив пункта «перевести сайт в режим обслуживания», а так же имеется возможность написать свой текст для посетителей сайта, на тот момент пока он будет не доступен


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


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


После копирования и замены файлов нам необходимо запустить процесс обновления, для этого в адресной строке пишем вот такой URL

Название вашего сайта/update.php

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


Поэтому жмём «продолжить». Теперь открывается страница, с сообщением что ядро Drupal обновлено из вне, и есть ещё 3 модуля которые ждут процесса обновления. Количество модулей для обновления у вас может отличаться от моих.



После завершения обновления, у вас будет вот такая страница.


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


Кликаем по ссылке «Переключиться в рабочий режим» и снимаем галочку напротив «Перевести сайт в режим обслуживания» и сохраняем настройки. Теперь перейдём в «Отчёты->Доступные обновления» и видим, что версия Drupal у нас обновлена

На этом обновление ядра Drupal закончено.