Drupal Update for Dummies

аватар: cristobal-junta

Очень краткая инструкция по обновлению сайта, работающего на «Друпал». Для простоты предполагается, что дистрибутив копируется с одной удаленной машины на другую, и у нас открыто два терминала (PuTTY, xterm, …)

  1. Распаковать дистрибутив и удалить из его корня «ненужные» файлы (лицензии, инструкции, …)
  2. Выполнить в этой папке команду ls | xargs, чтобы получить одной строкой список файлов, которые нужно будет обновить (см. следующий пункт) — получится строка в духе includes/ misc/ modules/ profiles/ scripts/ themes/ cron.php index.php install.php update.php xmlrpc.php robots.txt
  3. Ввести в соответствующих терминалах команды (но не нажимать ENTER!) типа
        rm -rf <вывод команды из предыдущего пункта>
        scp -r * .htaccess login@hostname.example.com
    
  4. Перевести сайт в режим обслуживания
  5. Отключить сторонние модули
  6. Сделать резервную копию базы данных, файлов robots.txt, .htaccess
  7. Выполнить команды из пункта 3 (т.е. нажать ENTER)
  8. Запустить скрипт update.php
  9. Дальнейшее очевидно

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

Инструкция соствлена на основе пота и крови, пролитых при работе над и обслуживании моих родимых кафедрального сайта и Вычислений ВысокоПроизводительных (ВВП).

Комментарии

аватар: Михаил

отключение модулей

Меня давно волнует такой вопрос, как быть с пунктом 5-ым "Отключение сторонних модулей" - ведь если их отключать через список модулей тем же путем, как производится установка, то модули фактически выполняют свою де-инсталяцию и удаляют все свои настройки. Так ведь? т.е. придется потом заново перенастраивать.

Или вы отключаете как-то по другому?

Я последнее время данный пункт не выполняю и обновление вроде как проходит успешно.

аватар: andyceo

Обновления

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

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

А чаще всего, даже деинсталляция недоступна, ибо если модуль простой, то никто не заморачивается, чтобы удалить одну-две переменных настройки. Так они и лежат мусором, в таблице variables...

Я кстати тоже ничего не отключаю, просто "на живую" перезаписываю изменившиеся файлы, а потом из админки запускаю update.php. Никаких сбоев ещё не было, при обновлении минорных версий модулей и самого друпала. По-хорошему да, надо отключать, прежде чем обновлять.

Вообще, в линуксе, (если сервак, на котором хостится сайт, вам доступен под root'ом), очень удобно поставить CVS и обновляться прямо из репозитория на drupal.org, или из собственного репозитория, если используешь что-то нестандартное, например хаки. (Разумеется, в этом случае можно поставить не только CVS, но и Subversion, Git, или чего душа пожелает.) Время, потраченное на обновления, в этом случае минимально, а если ещё и мультисайтинг при этом есть, то вы, считайте, одним кликом все сайты обновляете. Как-нибудь напишу об этом.

Admin is here.

аватар: Михаил

Благодарю за

Благодарю за подробный ответ.

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

Если вдруг у вас на примете есть какие-нить полезные ссылки на данную тему - буду признателен. В частности если намекнете, как лучше при этом организовать обновление, ну и просто образовательное на тему CVS: установка, использование и т.п.

Мож получится по вашим источникам самому разобраться, пока статью не напишите.

аватар: andyceo

Извиняюсь за

Извиняюсь за долгий ответ.

Буду предполагать, что вы знаете, что такое CVS. Я нашёл несколько документов на drupal.org, изучив которые вы сможете решить большинство своих вопросов, я думаю. Правда, всё на английском. Вот они:

Our code repositories for core and contrib - это вам в первую очередь понадобится, чтобы извлечь из хранилища новую версию или нужный релиз Drupal или его модулей.
Drupal and CVS - основательная подшивка о том, как используется CVS в Drupal.
TortoiseCVS (Win) - описание работы с визуальным агентом CVS под Windows (это глава из вышеуказанной подшивки).
Apply for contributions CVS access - статья о том, как получить доступ к CVS Друпала, чтобы было можно фиксировать свои модули/патчи и т.д.

Как работать с CVS на drupal.org? - этим вопросом задался один из друпаллеров. Статьи как таковой по этому адресу нет, зато на русском. Оттуда можно почерпнуть много полезных ссылок о CVS.

Admin is here.

аватар: Михаил

Благодарю!

Благодарю! Полезно.

аватар: cristobal-junta

CVS Book

Самое лучшее, что я видел по CVS - это следующая книга:
Fogel K., Bar M. - Open Source Development with CVS
(по-моему, она свободно доступна)

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

аватар: andyceo

Инструкция по VDS

Вот здесь я написал памятку по использованию Drupal-CVS на сервере - http://andyceo.ruware.com/blog/andyceo/vds-drupal-cvs

Листайте в конец статьи, ищите заголовок "памятка".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Доступны HTML теги: <a> <img> <noindex> <br> <em> <i> <strong> <b> <strike> <s> <u> <sup> <sub> <h1> <h2> <h3> <h4> <h5> <h6> <cite> <blockquote> <abbr> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <div> <span> <hr>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <blockcode>. The supported tag styles are: <foo>, [foo].
  • Вы можете разместить код, используя теги <code>...</code>(общий) или <?php ... ?> (выделенный PHP).

Подробнее о форматировании

CAPTCHA
Введите, пожалуйста, код, который Вы видите на картинке. Показ изображений в браузере должен быть включен.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.
Добавьте страницу в закладки. Перейти к верху страницы
RSS-материал