Manual:Upgrading/ru



Обзор
В первую очередь, прочтите текстовый файл UPGRADE, включённый в архив MediaWiki.


 * 1) Проверьте соответствие требованиям
 * 2) Прочтите примечания к релизу (release notes)
 * 3) Сделайте резервную копию существующих файлов и базы данных 
 * 4) Распакуйте новые файлы
 * 5) Запустите скрипт обновления для проверки базы данных
 * 6) Обновите расширения
 * 7) Протестируйте обновление

Проверка требований
MediaWiki требует:

PHP

 * PHP версии 5.0.x или выше
 * Мы рекомендуем использовать PHP версии 5.1.x или 5.2.x.
 * Обратите внимание, что PHP версии 5.0.x, работающий под определёнными 64-битными платформами, содержит ошибки, которые вызывают фундаментальные проблемы с MediaWiki. Если MediaWiki работает на x86_64 (AMD64, EMT64) или другой зависимой 64-битной платформе, требуется PHP версий 5.1.x или 5.2.x.

DBMS

 * MySQL версии 4.0.x или выше
 * Версия MySQL 3.x не поддерживается начиная с версии 1.6.0 MediaWiki

или


 * PostgreSQL версии 8.1 или выше
 * Вам также потребуются модули tsearch2 и plpgsql, если используется Postgres 8.1 или 8.2
 * см. также руководство по обновлению Postgres

Прочтите примечания к релизу
Где-то внутри дистрибутивного архива (tarball), или среди файлов, полученных или экспортированных из SVN, есть ряд файлов с именами, набранными прописными литерами. Один из них содержит ПРИМЕЧАНИЯ К РЕЛИЗУ (RELEASE-NOTES). Теперь — самое время, чтобы открыть этот файл и узнать то, что изменилось в этой версии.

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


 * содержимое базы данных вики-проекта; в дополнение к резервной копии SQL-базы данных не повредит сделать и экспорт всех страниц в формате XML.
 * MySQL:
 * текстовый дамп: mysqldump --all-databases > file.txt
 * xml-дамп: mysqldump --all-databases --xml > file.xml
 * PostgreSQL:
 * output for pg_restore: pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
 * изображения и другие медиа-файлы (находящиеся в каталоге images)
 * конфигурационные файлы, т. е. LocalSettings.php и AdminSettings.php</tt> (если есть)
 * программные файлы MediaWiki, включая все стили оформления и расширения, особенно если вы их изменяли.

См. более подробные инструкции в разделе Manual:Backing up a wiki/ru.

Использование tarball package
Если вы загрузили *.tar архив, распакуйте его (например, при помощи WinRAR) на том же сервере, где находится старая версия mediawiki. При распаковке tarball-пакета обычно создаётся новый каталог для новой версии вики и вы сможете скопировать новые файлы и каталоги в свой текущий вики-каталог. Вместо того, чтобы заменять существующие файлы после распаковки, можно сделать это в один проход:

$ tar xvfz mediawiki-.tar.gz -C /path/to/your/wiki/ --strip-components=1

Для старых дистрибутивов Linux (как, например, RHEL/CentOS 4.x) используйте:

$ tar xvfz mediawiki-.tar.gz -C /path/to/your/wiki/ --strip-path=1

Те, кто использует старую версию tar (например, GNU tar 1.13.x) не поддерживающую флаги --strip-components или --strip-path, могут распаковать архив без опции -C и затем рекурсивно скопировать содержимое последнего пакета в имеющуюся структуру папок вики, следующим образом:

$ tar xvfz mediawiki-.tar.gz $ cp -r mediawiki-/* /path/to/your/wiki/

Пользователи (Open)Solaris должны использовать gtar, или же следующий способ:

$ gzip -dc mediawiki-.tar.gz | tar xf -

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

Запустите скрипт обновления
Замечание: убедитесь, что файл AdminSettings.php</tt> расположен в корневом вики-каталоге, а также проверьте правильность и актуальность указанных в нём параметров. Пользователю потребуются полные права (shell access) на базу данных.

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

Командная строка (shell)
Из командной строки, с использованием SSH, или иным аналогичным образом, перейдите в каталог maintenance</tt> и выполните сценарий обновления:

$ php update.php --aconf ../AdminSettings.php

(Примечание для простой установки в Windows (например, с XAMPP): Вы можете запустить update.php, просто щёлкнув по нему (двойным кликом) если ваши .php-файлы ассоциированы с PHP.exe (если нет, то открыв правым кликом контекстное меню для файла update.php, выберите «Открыть c помощью ...» (“Open With ...”) и найдите PHP.exe). Убедитесь, что ваше серверное приложение (например, Apache) и база данных (например, MySQL) запущены).

MediaWiki проверит существующую схему и обновит её для работы с новым кодом, добавив при необходимости таблицы или новые поля.

Что делать, если возникает ошибка "No superuser credentials"
Может случиться так, что выполнение скрипта прерывается с сообщением:

"No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See AdminSettings.sample for more details"

Это означает, что вы должны проверить настройки $wgDBadminuser и $wgDBadminpassword в своём файле LocalSettings.php (в основном каталоге). Это имя пользователя и пароль, необходимые этому скрипту для получения доступа к базе данных. Пример можно найти в файле AdminSettings.sample, вы можете скопировать этот фрагмент в файл LocalSettings.php и изменить имя пользователя и пароль для доступа к своей собственной базы данных.

Альтернатива 1: phpShell
Если прав на базу данных недостаточно или shell-доступ недоступен, попробуйте использовать phpShell, эмулирующий командную строку посредством PHP функций. Это может не сработать для инсталляций, размещённых на закрытых хостинг-площадках (locked-down hostings).

При использовании этого метода, часто требуется пропустить обратный отсчёт при старте — добавьте параметр --quick</tt> во время запуска скрипта:

$ php update.php --quick

Возможно, вам придется использовать "php5" вместо "php", если установлены разные версии. При использовании phpshell, файлы commandLine.inc и LocalSettings.php возможно придётся отредактировать, так как иначе скрипт может не завершиться из-за того, что phpshell был получен с веб-сервера. Возможно, эту проблему удастся обойти, запустив вместо предыдущего следующий скрипт:

$ unset REQUEST_METHOD; php update.php --quick

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

Альтернатива 2: Перезапуск инсталлятора
Если у вас нет возможности работать с командной строкой — перезапустите веб-инсталлятор:


 * 1) Переименуйте LocalSettings.php</tt> в LocalSettings.old.php</tt>
 * 2) Выдайте веб-серверу права на запись в каталог config</tt>
 * 3) Убедитесь, что пользователь базы данных имеет полные права к ней
 * 4) С помощью браузера перейдите к своей вики и запустите инсталлятор
 * Заполните поля формы теми же значениями, что вы вводили при установке предыдущей версии.
 * Когда начнётся процесс установки — скрипт обнаружит существующие таблицы MediaWiki и обновит их схему.
 * После завершения всех процедур будет сгенерирован новый файл LocalSettings.php</tt>.
 * 1) Удалите новый конфигурационный файл
 * 2) Переименуйте обратно LocalSettings.old.php</tt> в LocalSettings.php</tt>
 * 3) Восстановите прежние права доступа на каталог config</tt>

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

Протестируйте обновление
Как только обновление завершится, просмотрите вики-сайт и проверьте основные моменты, такие как просмотр и редактирование страниц, — чтобы гарантировать, что всё по-прежнему работает так, как ожидается.

Посетите страницу Special:Version и проверьте, что версия отображается корректно.