Обновляем WordPress с помощью Subversion

Владимир | | Subversion, Web разработка, WordPress.

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

В общем-то, особых секретов нет. Скачать дистрибутив WordPress можно как в виде zip архива, так и с помощью Subversion.

Преимущества второго метода очевидны. Вы сможете с помощью всего одной команды переустановить движок. Причем установить можно как новую версию, так и предыдущую.

Обычным способом вам бы пришлось качать архив, удалять файлы старой версии (не всегда), распаковывать архив, проверять, что находится в wp-content (там могут быть более ранние версии плагинов).

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

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

Теперь рассмотрим процесс получения дистрибутива.

1) Создаем папку, в которую будем устанавливать WordPress. Открываем консоль и переходим в эту папку.

Примечание. Я буду рассказывать на примере консоли. Но, естественно, вы можете воспользоваться SVN клиентом.

2) Определяем, какая версия WordPress вам нужна.

Здесь все просто. Заходим на страницу http://trac.wordpress.org/browser/ и изучаем структуру репозитория.

Основная ветка разработки называется trunk. Это самая последняя версия плюс новые исправления. Кстати, когда я последний раз смотрел, ее возраст был 17 часов.

Ветки, которые распространяются (или распространялись) в виде архивов, находятся в папке tags.

Теперь определяем адрес выбранной ветки. Первая часть адреса для всех веток одинакова — http://svn.automattic.com/wordpress/. К ней добавляем путь в репозитории.

Т.е. основная ветка имеет адрес http://svn.automattic.com/wordpress/trunk
Версия 2.6 доступна по адресу http://svn.automattic.com/wordpress/tags/2.6 и т.д.

3) Загружаем выбранную версию

Для этого выполняем команду
svn checkout адрес_версии .

Например,
svn checkout http://svn.automattic.com/wordpress/trunk .

Обратите внимание. После слова trunk стоит пробел и точка. Это означает, что загружать содержимое trunk нужно в текущую папку.

4) Настраиваем WordPress. Тут все, как и при обычной установке из архива. Нужно переименовать файл wp-config-sample.php в wp-config.php и указать в нем параметры подключения к базе данных. И после этого зайти на страницу sitename.com/wp-admin/install.php

На этом этапе нужно учесть два нюанса.
Первый. В дистрибутивы WordPress файл wp-config.php не входит, поэтому он останется неизменным при обновлении. Но wp-config-sample.php меняется от версии к версии, поэтому для нормальной работы движка, возможно, потребуется вручную обновить wp-config.php.

Второй. WordPress сам обновляет базу данных. Но процесс обновления подразумевает установку более новой версии движка. С помощью Subversion вы можете возвратиться к любой предыдущей версии. Правильное обновление базы при этом, насколько я знаю, никто не гарантирует. В такой ситуации я могу порекомендовать только создание бекапов базы для каждой из версий движка.

4) Обновление дистрибутива. Выполняется командой svn update .... Например:
svn update http://svn.automattic.com/wordpress/trunk .

5) Переключение между версиями. Команда svn switch .... Например, для перехода на версию 2.3 выполняем команду:
svn switch http://svn.automattic.com/wordpress/tags/2.3 .

Как видите, большинство действий выполняются всего одной коммандой.

Теперь пару замечаний об обновлении движка на сервере хостера.

Все приведенные в этой статье советы и рекомендации можно использовать для обновления WordPress на «боевом» сервере.

Естественно у вас должна быть возможность запускать svn. Т.е. нужен SSH-доступ, а на многих shared хостингах его нет.

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

В общем, если нужно администрировать один блог, то выигрыш от использования Subversion незначительный. Но если вам приходится обновлять десятки дистрибутивов WordPress, размещенных на VPS или выделенном сервере, то вариант с Subversion выглядит интереснее загрузки кучи файлов по FTP или распаковки архива на сервере.

Удачного апгрейда!