MediaWiki

Pause

MediaWiki — свободное программное обеспечение с открытым исходным кодом для организации вики-сайтов. Изначально разработан Магнусом Мансеке и выпущен для использования в Википедии 25 января 2002 года, впоследствии доработан Ли Дэниелом Крокером, а дальнейшая разработка координируется Фондом Викимедиа. MediaWiki используется для работы множества вики-сайтов в Интернете, включая большинство проектов Фонда Викимедиа, таких как Википедия, Викисловарь, Викисклад, Викицитатник, Мета-вики и Викиданные, которые формируют основные требования к программному обеспечению[4]. Помимо проектов Викимедиа, MediaWiki применяется как система управления знаниями и контентом на таких сайтах, как Fandom, wikiHow, а также во внутренних корпоративных вики, например Intellipedia и Diplopedia.

Общие сведения

Описание

MediaWiki написан на языке программирования PHP и хранит весь текстовый контент в базе данных. Программное обеспечение оптимизировано для эффективной работы с крупными проектами, которые могут содержать терабайты данных и обслуживать сотни тысяч просмотров страниц в секунду[4]. Поскольку Википедия является одним из крупнейших и наиболее посещаемых сайтов в мире, масштабируемость с помощью многоуровневого кэширования и репликации баз данных была одной из главных задач разработчиков. Важной особенностью MediaWiki является интернационализация: интерфейс доступен более чем на 400 языках. Программное обеспечение поддерживает сотни параметров конфигурации. По состоянию на октябрь 2026 года в каталоге MediaWiki.org зарегистрировано 1558 расширений[5]. Версия MediaWiki 1.43 относится к выпускам с длительной поддержкой (LTS); её поддержка запланирована до 31 декабря 2027 года[6].

Ключевые особенности

MediaWiki предоставляет богатый набор базовых функций и механизм для подключения расширений, обеспечивающих дополнительную функциональность. Расширения регистрируются с помощью файла extension.json, в котором задаются их параметры и точки подключения к MediaWiki[7].

С версии 1.35 в стандартную поставку входит расширение VisualEditor, позволяющее редактировать страницы, таблицы, ссылки и сноски без непосредственной работы с вики-разметкой[8]. Расширение DiscussionTools, входящее в поставку с версии 1.40, предоставляет инструменты для ответа в обсуждениях и создания новых тем[9]. Ранее использовавшееся для структурированных обсуждений расширение Structured Discussions (Flow) признано устаревшим; вместо него применяется DiscussionTools[10]. Для использования файлов Викисклада в MediaWiki предусмотрена встроенная функция InstantCommons, включаемая через настройки сайта[11].

Интернационализация и локализация

Благодаря акценту на многоязычность в проектах Викимедиа, интернационализация и локализация получили значительное внимание со стороны разработчиков. Пользовательский интерфейс полностью или частично переведён более чем на 400 языков на translatewiki.net, и может быть дополнительно настроен администраторами сайта (весь интерфейс редактируется через вики).

Существуют расширения, предназначенные для расширения возможностей многоязычия и интернационализации MediaWiki. В состав набора MediaWiki Language Extension Bundle входят расширения Translate, UniversalLanguageSelector, Babel и CLDR[12].

Установка и настройка

Для установки MediaWiki требуется наличие административных прав на сервере с поддержкой PHP и совместимой базы данных SQL. Некоторые пользователи считают полезным создание виртуального хоста, если основной сайт работает на фреймворке, например, Zope или Ruby on Rails, несовместимом с MediaWiki[13]. Облачный хостинг может избавить от необходимости развертывания нового сервера.

Для локальной разработки предусмотрена среда MediaWiki-Docker на основе Docker Compose[14]. Образ MediaWiki в Docker Hub считается официальным со стороны Docker, но не самого проекта MediaWiki[15].

Для ветки MediaWiki 1.46 требуется PHP не ниже версии 8.3.0; поддерживаются версии PHP до 8.5.x[16]. Для этой ветки поддерживаются MariaDB начиная с версии 10.3.0, MySQL — с 5.7.0, PostgreSQL — с 10.0 и SQLite — с 3.31.0[17]. Поддержка IBM DB2 удалена из ядра после версии 1.21[18], а поддержка Oracle прекращена с версии 1.34[19].

Установка производится через PHP-скрипт, запускаемый в веб-браузере, который инициализирует настройки вики. Скрипт запрашивает минимальный набор параметров, а дальнейшие изменения, например, включение загрузки файлов[20], добавление логотипа сайта[21], установка расширений, производятся путём редактирования файла LocalSettings.php[22]. Некоторые параметры можно настраивать через специальные страницы или редактируя определённые страницы; например, фильтры злоупотреблений настраиваются через специальную страницу[23], а гаджеты добавляются созданием JavaScript-страниц в пространстве имён MediaWiki. Сообщество MediaWiki публикует подробное руководство по установке[24]. Наряду с веб-установщиком MediaWiki имеет установщик командной строки install.php. Начиная с версии 1.44 для установки с уже подготовленным файлом LocalSettings.php предусмотрен скрипт installPreConfigured.php[25]. При установке из официального архива Composer не требуется: PHP-зависимости уже включены в поставку; при установке из репозитория Git зависимости устанавливают с его помощью[26]. Расширения можно устанавливать вручную, поместив их файлы в каталог extensions и подключив в LocalSettings.php[27].

Разметка

Одним из первых отличий MediaWiki и его предшественника UseModWiki от других вики-движков стало использование «свободных ссылок» вместо CamelCase. Для создания ссылки в MediaWiki слова заключаются в двойные квадратные скобки, а пробелы сохраняются, например, World Wide Web. Это было логичным для энциклопедии, где важна точность заголовков.

MediaWiki использует расширяемую[28] облегчённую вики-разметку, более простую для изучения, чем HTML. Существуют инструменты для конвертации, например, таблиц между разметкой MediaWiki и HTML[29]. Попытки создать формальную спецификацию разметки MediaWiki показали, что вики-код требует контекстно-зависимых грамматических правил[30][31].

По состоянию на 2026 год официальная формальная спецификация викитекста не принята[32].

С версии 1.35 в поставку MediaWiki входит парсер Parsoid, обеспечивающий преобразование викитекста в HTML и обратно[33].

Синтаксис MediaWiki
(код «за кулисами», используемый для форматирования текста)
Эквивалент в HTML
(другой тип кода для форматирования текста)
Отображаемый результат
(видимый посетителю сайта)
==== Диалог ====

«Возьмите ещё [[чай]],» — сказал Мартовский Заяц Алисе очень серьёзно.

«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».

«Вы хотите сказать, что не можете взять ''меньше'',» — сказал Шляпник, — «очень легко взять '''больше''', чем ничего».
<h4>Диалог</h4>

<p>«Возьмите ещё <a href="/wiki/Tea" title="Tea">чай</a>», — сказал Мартовский Заяц Алисе очень серьёзно.</p> <br>
<p>«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».</p> <br>
<p>«Вы хотите сказать, что не можете взять <i>меньше</i>», — сказал Шляпник, — «очень легко взять <b>больше</b>, чем ничего».</p>
Диалог

«Возьмите ещё чай,» — сказал Мартовский Заяц Алисе очень серьёзно.

«Я ещё ничего не брала», — обиженно ответила Алиса, — «так что не могу взять больше».

«Вы хотите сказать, что не можете взять меньше,» — сказал Шляпник, — «очень легко взять больше, чем ничего».

Примечания

  1. ↑ Security and maintenance release: 1.35.10 / 1.38.6 / 1.39.3 — 2023.
  2. ↑ Copyright. mediawiki.org. Дата обращения: 6 октября 2026. Архивировано 19 сентября 2015 года.
  3. ↑ Names.php mediawiki. github.com (8 апреля 2021). Дата обращения: 6 октября 2026. Архивировано 15 июля 2021 года.
  4. ↑ 1 2 What is MediaWiki? MediaWiki (9 января 2021). Дата обращения: 6 октября 2026. Архивировано 22 июля 2018 года.
  5. ↑ Category:All extensions - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  6. ↑ MediaWiki. endoflife.date. Дата обращения: 6 октября 2026.
  7. ↑ Руководство:Регистрация расширений - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  8. ↑ Extension:VisualEditor - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  9. ↑ شاتاړی:شنن‌توکي - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  10. ↑ Structured Discussions/Deprecation - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  11. ↑ InstantCommons - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  12. ↑ MediaWiki Dil Uzantı Paketi - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  13. ↑ Lerner, Reuven M. Installing and Customizing MediaWiki. Linux Journal (23 февраля 2006). Дата обращения: 6 октября 2026. Архивировано 6 апреля 2010 года.
  14. ↑ MediaWiki-Docker - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  15. ↑ Docker/Docker Hub - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  16. ↑ Zgodność - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  17. ↑ Руководство:Обновление - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  18. ↑ Manual:IBM DB2 - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  19. ↑ Compatibility. MediaWiki. Дата обращения: 6 октября 2026.
  20. ↑ Manual:$wgEnableUploads. MediaWiki. Дата обращения: 6 октября 2026. Архивировано 25 июня 2010 года.
  21. ↑ Manual:$wgLogo. MediaWiki (12 декабря 2009). Дата обращения: 6 октября 2026. Архивировано 25 июня 2010 года.
  22. ↑ Manual:LocalSettings.php. MediaWiki (29 марта 2007). Дата обращения: 6 октября 2026. Архивировано 25 июня 2010 года.
  23. ↑ Extension:AbuseFilter. MediaWiki. Дата обращения: 6 октября 2026. Архивировано 25 июня 2010 года.
  24. ↑ Manual:Installation guide. MediaWiki. Дата обращения: 6 октября 2026. Архивировано 25 июня 2010 года.
  25. ↑ Manual:install.php - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  26. ↑ Composer - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  27. ↑ Руководство:Расширения/Установка и обновление - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
  28. ↑ Manual:Extending wiki markup. MediaWiki. Дата обращения: 6 октября 2026. Архивировано 1 мая 2011 года.
  29. ↑ HTML to Wiki Converter – tables. WMF Labs (29 марта 2008). Дата обращения: 6 октября 2026. Архивировано 13 июля 2014 года.
  30. ↑ Markup spec. MediaWiki. Дата обращения: 6 октября 2026. Архивировано 19 декабря 2007 года.
  31. ↑ Extricating Meaning from Wikimedia Article Archives. Дата обращения: 2 января 2011. Архивировано 10 марта 2011 года.
  32. ↑ Wikitext. MediaWiki. Дата обращения: 6 октября 2026.
  33. ↑ Parsoid - MediaWiki. MediaWiki. Дата обращения: 6 октября 2026.
Pause