Руководство:Перенос вики-сайта
/var/www/html/
на /var/www/html/mywiki/
, инструкции приведены здесь.На этой странице объясняется, как перенести вики-сайт на другой сервер. Это часто требуется при переходе на другой веб-сервер или домен (или то и другое одновременно).
Самый безопасный способ сделать это — использовать одну и ту же версию MediaWiki в обеих вики, старой и новой. Однако, можно установить на новый сервер более свежую версию MediaWiki и выполнить обновление непосредственно на новом сервере. На самом деле, это может оказаться для вас единственным вариантом, если вы хотите обновить свою вики до новой версии, имеющей более высокие требования, чем те, которые доступны на вашем старом сервере (как, например, версия php).
Эти шаги в основном объясняются на других страницах:
- Создайте резервную копию своей вики.
- Перенесите резервные копии со старого сервера на новый.
- Восстановите резервную копию на новом сервере.
$wgReadOnly
в LocalSettings.php. Например: $wgReadOnly = 'Down for maintenance: access will be restored shortly';
Обновление нового сервера
If you are upgrading to a newer MediaWiki version on the new server, instead of copying the old MediaWiki directory and extensions to the new server, you should follow the upgrading procedure. You'll download a new MediaWiki version on the new server and fresh versions of the extensions you use, matching the new MediaWiki version. Не забудьте запустить скрипт обновления.
Замечания
- If the URL has changed (for example, a new domain), be sure to update all references to it in LocalSettings.php. If using VisualEditor, you'll need to update Parsoid configuration too.
- Links on cached pages may still point to the old domain. You may need to bump $wgCacheEpoch to discard cached pages prior to that time.
- Check that the
upload/
directory has the correct permissions set if using uploads; it must be writable by the web server. - Make sure any extension directories have the correct permissions as well (e.g., if linux:
chmod -R o=rx extensions
) - When manually transferring a wiki from a windows platform to a Linux platform the best method is to:
- Manually install MediaWiki on the Linux platform from a tar file as outlined here: Manual Install of Wiki (i.e., try not to use install from an automated package)
- Replace the newly installed MediaWiki folder (e.g., /var/www/mediawiki...) on your Linux machine with the MediaWiki base folder from your windows machine
- Update your Linux machine's MySQL Database (e.g. wikidb) with the wiki database from your windows machine (i.e., use the backup and restore features of mysql as outlined above)
- After importing a wiki database, even if the database can work, some minor problems may arise:
- You might need to repair Searchindex: In phpMyAdmin, enter "
REPAIR TABLE wikidb.searchindex;
" for rebuilding the search index. wikidb is your database's name. - The collation of some rows may be changed. Cross-check it with the original database.
Тестирование
At this point, try to use the wiki on the new server. Log in as a sysop and a regular user and check that viewing, creating and editing pages and uploading files still works. Fix any problems reported either by PHP or MediaWiki itself.
You can do the entire process to test if the move will work without problems, before actually putting the old wiki in read-only mode. Once you know your wiki in the new server works as expected, you can put your old wiki in read-only mode and perform the move again.
Частые проблемы
- Недоступные файлы после смены домена
Столбец md_deps
в таблице module_deps содержит абсолютные пути к файлам, которые используются для поиска изображений и НЕКОТОРЫХ файлов, от которых зависит CSS.
Эти пути оказываются испорчены, когда вики, например, перемещается в другую папку или на другой сервер.
После переноса вы можете увидеть предупреждения PHP о том, что к определённым файлам доступ невозможен.
В текущих версиях MediaWiki это можно решить, запустив update.php , и очистив таким образом закешированные данные.
В версиях MediaWiki старше 1.25 (где phabricator:T37472 не реализован), update.php не удаляет содержимое таблицы module_deps
.
Для этих версий обходной путь заключается в том, чтобы вручную исправить неверные записи в таблице module_deps
:
-- Update entries in module_deps table
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 message related caches
TRUNCATE TABLE `msg_resource`;
TRUNCATE TABLE `msg_resource_links`;
См. также
- Руководство:Обновление
- Руководство:Установка MediaWiki
- Руководство:Восстановление кода вики из кэшированного HTML - если у вас нет успешной резервной копии
- Руководство:ImportImages.php
- Руководство:Короткий URL-адрес - измените каталог установки своей вики
- Manual:Grabbers - Набор инструментов для переноса содержимого из одной вики в другую, если у вас нет доступа к старой вики.