ФЭНДОМ


Настройки

  • Требования к версиям: https://www.mediawiki.org/wiki/Compatibility/ru
  • Изменение главной страницы: сайт/MediaWiki:Mainpage;
  • имеются в \includes\DefaultSettings.php, но там их исправлять не нужно, т.к. будут сбиваться после каждого обновления;
  • лучше необходимые настройки выносить менять не в \includes\DefaultSettings.php, а выносить в LocalSettings.php;
  • подключение иконки страниц:
$wgFavicon = "$wgResourceBasePath/favicon.ico";
  • где искать по умолчанию, массив указывается в $wgNamespacesToBeSearchedDefault = array(..., NS_CATEGORY => true);

Хостинг

Использование MediaWiki на бесплатном хостинге может вызывать превышение лимитов использования ЦПУ, за которое многие хостинги блокируют профиль.

Оптимизация

Если очистить историю правок, то база уменьшится, а это не так уж и плохо.
Для очистки истории правок есть специальные расширения, например deleteOldRevisions.

Перенос

  • адрес сайта:
    • в базе менять не нужно, его там нет, это позволяет легко переносить контент путём загрузки базы с локального хостинга и других сайтов;
    • в LocalSettings.php прописать адрес сайта в строке: $wgServer = "http://......";
  • после переноса:
    • проверить работу расширений, они могут перестать работать из-за различий на хостинге, например версии php;
      • проверять расширения, например: CategoryTree, MobileFrontend;
      • если какие-то расширения не работают, попробовать:
        • сменить версию php;
        • сменить версии расширения;
    • восстановить работу коротких ссылок.

Расширения

  • CategoryTree - в списке категорий отображает возле каждой количество входящих в неё категорий и страниц;
    • старая версия подключается так:
require_once("{$IP}/extensions/CategoryTree/CategoryTree.php");
  • deleteOldRevisions - удаляет историю правок, уменьшая базу.
    • Чтобы очистить историю правок, нужно положить файл deleteOldRevisions.php в папку \maintenance\ сайта, а в командной строке выполнить:
d:\OSPanel\modules\php\PHP-5.6\php.exe d:\OSPanel\domains\idei.my\maintenance\deleteOldRevisions.php --delete
  • WikiEditor - добавляет панель с кнопками форматирования текста: шрифт, ссылки, переход на новую строку.

Ссылки

  • Ссылки из адресной строки с кириллическими буквами корректно копируются браузерами Opera и Яндекс, а другие браузеры (Chrome и Firefox) копируют их в закодированном виде.
  • Но ссылки на раздел статьи любым браузером копируются в закодированном виде.
  • Ссылки на википедию: [[Wikipedia:ru:ХХХХ]]
    • А чтобы ссылки на русскоязычный раздел Википедии отображалась правильно (не en.wikipedia.org, а wikipedia.org), нужно в базе mediawiki в таблице interwiki удалить строку wikipedia и вместо неё импортировать такую:
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://ru.wikipedia.org/wiki/$1', 1, 0);

тогда возможно указать ссылку так: [[w:ХХХХ]].

Короткие ссылки

Чтобы адрес страницы выглядел не как "http://idei.my/index.php/Хостинг", а как "http://idei.my/Хостинг", нужно выполнить:

  • LocalSettings.php
$wgScriptPath = ""; (здесь в кавычках ставится путь к папке с файлами wiki, например "/w", "/wiki", "")
$wgScriptExtension = ".php";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
  • файл .htaccess не переносить на новый хостинг (там могут быть строки, которые запрещено редактировать), добавлять строки:
RewriteBase /
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]

Если файлы находятся в папке w или wiki, то .htaccess будет выглядеть иначе.

Правка статей

Перенаправления

#REDIRECT [[Новая статья]]

Проблемы

Ошибки

Ошибки могут возникать после установки, переноса, обновления. Может попробовать:

Ошибка cookies, хотя они включены

Проблема не в базе, а в файлах, можно их перезалить. Больше здесь.

Новые версии

При установке MediaWiki, начиная с версии 1.27.3, есть проблема с категориями:

  • при импорте статей их категории пустые (на заполняется таблица связей категорий и статей);
  • при ручном добавлении статей они попадают в категории через раз.

Проверял следующие версии:

  • версия "если всего один пользователь" - отпала;
  • проблема даже, если статьи сделаны админом;
  • версия "может из-за того, что при экспорте убрана" пустая строка - отпала;
  • версия php (как раз эти версии mediawiki созданы для более высокой версии php): PHP 5.5.38 MySQL 5.6.37) - та же проблема;
  • PHP 5.6, MySQL 5.7 - та же проблема.

Порядок обновления версии

  • Качаем движок, распаковываем.
  • Предупреждаем людей.
  • Делаем копии движка и базы, скачиваем их.
  • Заливаем index.php с текстом "Сайт временно отключен, ведутся технические работы, время окончания работ предположительно….".
  • Заливаем поверх старого новый движок.
  • Смотрим по инструкции какой файл запустить для обновления базы, запускаем его.
  • Если обновление незначительное, то база может и не обновляться, только движок.
  • Восстанавливаем счётчики посещений в файле \skins\Monobook и Vector.
  • Восстановить стиль по умолчанию в \includes\DefaultSettings.php в строке $wgDefaultSkin = 'monobook';
  • Возвращаем ссылку на основной сайт с картинки, в файле \skins/MonoBook\MonoBookTemplate.php (или MonoBook.php) ищем:
'href' => $this->data['nav_urls']['mainpage']['href'],

и меняем на

'href' => "http://xxxx.ru/", а в файле VectorTemplate.php (или Vector.php)

находим:

href="<?php echo htmlspecialchars( $this->data['nav_urls']['mainpage']['href'] ) ?>"

(или часть этого текста), меняем на href="http://.....ru/"

Все подобные мелкие настроечки, доступные для редактирования можно посмотреть в таблице l10n_cache, если сохранить её в кодировке Windows-1251. Всё что там стоит во втором столбце после текста «messages:» нужно подставить в адрес после этого места: «http://www.wiki.xxxx.ru/index.php?title=MediaWiki:». (Например текст письма при сбросе пароля: MediaWiki:Passwordreset-emailtext-user).

  • Чтобы после каждого обновления не исправлять настройки в DefaultSettings.php, нужно все их перенести из DefaultSettings.php в LocalSettings.php.

И сначала настроить LocalSettings.php и (если уж пришлось) DefaultSettings.php, а потом вместе с этими файлами выкладывать новую версию движка.
Но. Если хоть один параметр $wgGroupPermissions перенести в LocalSettings.php, то в DefaultSettings.php больше ни один параметр читаться не будет, т.е. переносить нужно весь массив $wgGroupPermissions.
Но. Если позакрывать всё незарегистрированным пользователям, то многое пропадёт и у админов и у зарегистрированных пользователей. Поэтому, всё что закрыли всем нужно потом открыть зарегистрированным пользователям, оно тогда откроется и админам тоже.
Для того, чтобы пользователь, который пытается войти под своим паролем, но не помнит его, мог сбросить пароль, нельзя закрывать всем пользователям в

$wgGroupPermissions ['*']['editmyprivateinfo'], ну тогда и ['*']['viewmyprivateinfo'] можно оставить.
  • Для установки версии MediaWiki 1.27.0 нужен PHP 5.5.9.
Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.