Руководство:Перенос вики-сайта

This page is a translated version of the page Manual:Moving a wiki and the translation is 100% complete.
Если вы хотите просто переместить свою вики внутри того же сайта, например, с адреса /var/www/html/ на /var/www/html/mywiki/, инструкции приведены здесь.

На этой странице объясняется, как перенести вики-сайт на другой сервер. Это часто требуется при переходе на другой веб-сервер или домен (или то и другое одновременно).

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

Эти шаги в основном объясняются на других страницах:

  1. Создайте резервную копию своей вики.
  2. Перенесите резервные копии со старого сервера на новый.
  3. Восстановите резервную копию на новом сервере.
Прежде чем приступить к созданию резервной копии своей вики, вы можете перевести её в режим «только для чтения», чтобы никто не мог редактировать её во время перемещения. Если вы этого не сделаете, вы можете потерять правки/загрузки/записи в журналах и т.д., которые были сделаны в процессе миграции. Для этого используйте $wgReadOnly в LocalSettings.php. Например:
$wgReadOnly = 'Down for maintenance: access will be restored shortly';

Обновление нового сервера

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

Замечания

  • Если URL-адрес изменился (например, новый домен), обязательно обновите все ссылки на него в LocalSettings.php. Если вы используете VisualEditor, вам также необходимо обновить конфигурацию Parsoid.
    • Ссылки на кэшированных страницах могут по-прежнему указывать на старый домен. Возможно, вам придется применить $wgCacheEpoch , чтобы удалить кэшированные страницы до текущего времени.
  • При использовании загрузок проверьте, что для каталога upload/ установлены правильные разрешения; веб-сервер должен иметь право записи в него.
  • Убедитесь, что все каталоги расширений также имеют правильные права (например, если Linux: chmod -R o=rx extensions)
  • При ручном переносе вики с платформы Windows на платформу Linux наилучшим способом является:
  1. Вручную установите MediaWiki на платформе Linux из tar-файла, как описано здесь: Ручная установка Wiki (т. е. постарайтесь не использовать установку из автоматизированного пакета)
  2. Замените недавно установленную папку MediaWiki (например, /var/www/mediawiki...) на вашем компьютере с Linux на базовую папку MediaWiki с вашего компьютера с Windows
  3. Обновите базу данных MySQL на вашем компьютере с Linux (например, wikidb) с помощью базы данных wiki с вашего компьютера с Windows (т. е. используйте функции резервного копирования и восстановления MySQL, как описано выше)
  • После импорта базы данных вики, даже если база данных может работать, могут возникнуть некоторые незначительные проблемы:
  1. Возможно, вам придется восстановить Searchindex: В phpMyAdmin введите "REPAIR TABLE wikidb.searchindex; " для пересборки поискового индекса. wikidb — имя вашей базы данных.
  2. Сортировка некоторых строк может быть изменена. Сверьте их с исходной базой данных.

Тестирование

На этом этапе попробуйте использовать вики на новом сервере. Войдите в систему как администратор и как обычный пользователь и проверьте, что просмотр, создание и редактирование страниц, а также загрузка файлов по-прежнему работают. Исправить любые проблемы, о которых сообщает PHP или сама MediaWiki.

Вы можете выполнить весь процесс, чтобы проверить, пройдет ли перенос без проблем, прежде чем фактически переводить старую вики в режим «только для чтения». Как только вы убедитесь, что ваша вики на новом сервере работает так, как и ожидалось, вы можете перевести старую вики в режим «только для чтения» и выполнить перенос еще раз.

Частые проблемы

Недоступные файлы после смены домена

Столбец md_deps в таблице module_deps содержит абсолютные пути к файлам, которые используются для поиска изображений и НЕКОТОРЫХ файлов, от которых зависит CSS. Эти пути оказываются испорчены, когда вики, например, перемещается в другую папку или на другой сервер. После переноса вы можете увидеть предупреждения PHP о том, что к определённым файлам доступ невозможен. В текущих версиях MediaWiki эту проблему можно решить, запустив update.php и очистив таким образом кэши.

В версиях старше MediaWiki 1.25 (где phabricator:T37472 не реализован), update.php не удаляет содержимое таблицы module_deps. Для этих версий обходной путь заключается в том, чтобы вручную исправить неверные записи в таблице module_deps:

-- Обновление записей в таблице module_deps
SET @old='wiki.old-domain.org';
SET @new='wiki.new-domain.org';

UPDATE `module_deps` SET `md_deps` = REPLACE( `md_deps`, @old, @new );

Это может быть использовано для обновления неправильных сегментов пути и исправления ошибки.

Аналогичная проблема может возникнуть, когда MediaWiki пытается прочитать сообщения загрузчика ресурсов. В этом случае решение состоит в том, чтобы очистить соответствующие таблицы:

-- Усечение кэшей, связанных с сообщениями
TRUNCATE TABLE `msg_resource`;
TRUNCATE TABLE `msg_resource_links`;

См. также

Внешние ссылки