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

В этой статье я хотел бы описать процедуру ручного обновления с версии 2.9.2 до версии 3.0. Должно работать и для версий 2.7 – 2.9.2. Если же версия ниже 2.7, то рекомендуется сначала обновится до 2.7, а уже потом до 3.0.

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

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

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

Подготовительные шаги

Основная проблема при обновлении до версии 3.0 заключается в том, что структура файла wp-config.php была немного изменена. Но мы не хотим заново создавать этот файл из wp-config-sample.php, тем самым потеряв некоторые из наших настроек. Например, я использую дополнительные настройки:

1
2
define ('WP_POST_REVISIONS', 3);
define ('AUTOSAVE_INTERVAL', 160 );

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

Какие нововедение в версии 3.0. в файле wp-config.php? Теперь в файле wp-config.php хранится так называемая «соль» секретных ключей (Secret Key’s Salts):

1
2
3
4
5
6
7
8
define('AUTH_KEY', 'впишите сюда уникальную фразу');
define('SECURE_AUTH_KEY', 'впишите сюда уникальную фразу');
define('LOGGED_IN_KEY', 'впишите сюда уникальную фразу');
define('NONCE_KEY', 'впишите сюда уникальную фразу');
define('AUTH_SALT', 'впишите сюда уникальную фразу');
define('SECURE_AUTH_SALT', 'впишите сюда уникальную фразу');
define('LOGGED_IN_SALT', 'впишите сюда уникальную фразу');
define('NONCE_SALT', 'впишите сюда уникальную фразу');

Если вы не хотите, чтобы у ваших пользователей залогинившихся с галочкой «Запомнить меня» были проблемы, то вы можете взять старые секретные ключи из старого файла wp-config.php, а «соль» секретных ключей из полного перечня параметров, для этого надо зайти по ссылки wp-admin/options.php и скопировать эти ключи. Если не хотите мучаться, то генерируем новые ключи с помощью генератора ключей и вставляем заменяя старые.

Также в файл wp-config.php был добавлен параметр для разработчиков плагинов и тем. Т.к. мы не являемся разработчиками, то устанавливаем данный параметр в false.

1
define('WP_DEBUG', false);

Все, теперь у Вас должен получаться новый файл wp-config.php, который отличается от старого лишь описанными нововедениями.

Делаем заглушку (сайт находится на реконструкции)

Создаем страницу-заглушку, сообщающую о том что сайт временно не работает default.php:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>under construction</title>
</head>
<body>
<h3>Under Construction!</h3>
<br />
<a href="http://www.000webhost.com/317556.html" target="_blank"><img src="http://www.000webhost.com/images/120x60_powered.gif" alt="Web Hosting" width="120" height="60" style="border: 0;" /></a>
</body>
</html>

Изменяем файл .htaccess, чтобы он отображал эту страницу. Особенность этого файла в том, что он обязательно должен иметь кодировку ANSI и желательно перенос строк в формате UNIX. Не путайте с UTF-8!

1
2
3
DirectoryIndex default.php
Options All -Indexes
ErrorDocument 404 /default.php

В этом же файле можно дополнительно задать, ограничение на обновление с определенного ip-адреса.

1
2
3
4
RewriteEngine on
RewriteCond %{REQUEST_URI} !/default.php$
RewriteCond %{REMOTE_ADDR} !^<strong>172.234.12.185</strong>
RewriteRule $ /default.php [R=302,L]

где 172.234.12.185 ваш ip-адрес. Узнать свой ip-адрес. Если Вы отключитесь от провайдера или потеряете связь, то ip-адрес может измениться. Но ничего страшного в этом нет. Вы можете убрать эти строчки перед запуском обновления upgrade.php.

Установка WordPress 3.0

Для начала необходимо удалить файлы WordPress, относящиеся к версии 2.9.2 (см. скриншоты, галочкой отмечены файлы, которые мы удаляем):

Если Вы используете кэш, то очистите содержимое этих папок.

Скачиваем WordPress 3.0 с официального сайта. Я заливал файлы с помощью FileZilla. Подойдет любой клиент, который умеет работать с заданиями и доводить их до ума. Также можно попробовать залить ZIP или TAR.GZ файл через Web File Manager, если такой поддерживается на вашем хостинге. Все файлы нужно записать поверх (с заменой старых).

Заходим по ссылке /wp-admin/upgrade.php или просто /wp-admin/ если вы изменили default.php на index.php в .htaccess. Нажимаем Обновить базу данных. Поздравляю теперь у вас версия 3.0.

Можете зайти в админ панели на вкладку Консоль > Обновления и скрыть обновления 3.0. Странно, что он их сам не скрывает. Ведь мы уже обновились до версии 3.0.

Шаги после обновления

Обновить все плагины до последних версии. Реактивировать плагины. Просмотреть сайт на наличие дефектов отображения и функционирования.

Не забудьте поменять измения файла .htacсess обратно.

Дополнительные материалы

Кодекс. Обновление WordPress

Кодекс. Расширенная справка по обновлению WordPress (пока что, только на английском)

Список измений версии 3.0 (на английском)

FAQ (Часто задаваемы вопросы и ответы):

TODO: задавайте вопросы в комментариях

2 comments

  1. Леха Декабрь 15th, 2010 9:27 дп Reply
    #1

    У меня почему то не получается обновить версию….
    Даже не понятно в чем ошибка

  2. ideaer Декабрь 15th, 2010 10:49 дп Reply
    #2

    Слишком мало информации. Какую ошибку выдает или что не получается?

Leave a comment

HTML enabled