MediaWiki — движок для коллаборативных вики-сайтов с открытым исходным кодом. Написан на PHP, использует MySQL или MariaDB для хранения контента и истории правок. Именно на MediaWiki работает Википедия — крупнейший пользователь платформы с 6,7 млн статей в англоязычном разделе и более чем 60 млн страниц суммарно.
Как работает
MediaWiki хранит каждую страницу как текст в формате вики-разметки (Wikitext). При запросе PHP-ядро парсит Wikitext в HTML через Parsoid (Node.js-парсер) или встроенный Parser. Каждое сохранение создаёт новую ревизию в таблице revision — полная история никогда не удаляется (только скрывается). Это позволяет откатиться к любой версии страницы.
Для высокой нагрузки MediaWiki поддерживает: Memcached и Redis для кеширования, репликацию Master-Slave базы данных, CDN для статики. Wikimedia Foundation использует Varnish и Nginx в качестве прокси перед PHP-бэкендом.
Расширения (Extensions) — основной механизм расширения функциональности. Каталог MediaWiki.org содержит более 2 000 расширений: от синтаксических до антиспам и семантических инструментов (Semantic MediaWiki).
История
Wikipedia с 2001 года работала на движке UseModWiki, затем на PHP-скрипте Магнуса Манске. В 2002 году Ли Дэниэл Крокер переписал движок с нуля — так появился Wikipedia Phase III. В 2003 году проект получил имя MediaWiki и стал отдельным open-source продуктом под GNU GPL. Версия 1.19 (2012) принесла расширенную поддержку мобильных устройств. MediaWiki 1.35 LTS (2020) поддерживается до 2023 года; актуальная LTS — 1.39 (2022). Проект продолжает развиваться под управлением Wikimedia Foundation.
Требования к хостингу
Минимум: PHP 8.1+, MySQL 5.7.50+ или MariaDB 10.3+, 512 МБ ОЗУ. Для небольших wiki (до 1 000 статей) хватит виртуального хостинга с поддержкой PHP и MySQL. Для корпоративной wiki с сотнями активных редакторов — VPS с 2–4 ГБ ОЗУ, SSD и настроенным кешированием.
Типичный стек для продакшена: Nginx + PHP-FPM + MariaDB + Memcached. OPcache обязателен — без него MediaWiki работает в 3–5 раз медленнее. Для файлового хранилища рекомендуется объектное хранилище (S3-совместимое) через расширение FileBackend.
На что обращать внимание
MediaWiki спроектирована для открытых вики с публичным редактированием. Для закрытой корпоративной wiki (только авторизованные пользователи) требуется дополнительная конфигурация $wgGroupPermissions. Конкуренты в сегменте корпоративных wiki — Confluence (Atlassian) и DokuWiki — проще в настройке для закрытых инсталляций, но значительно уступают по масштабируемости.
Производительность MediaWiki
Для крупных вики с 10 000+ статей обязательно настройте Memcached или Redis как backend кэша парсера. LocalSettings.php: $wgMainCacheType = CACHE_MEMCACHED;. Master-Slave репликация MySQL позволяет разгрузить БД при высоком числе читателей. CDN для медиафайлов (Cloudflare, Selectel CDN) критично для вики с тысячами изображений — каждый раздел статьи Википедии обслуживает миллионы запросов через CDN.