MediaWiki — свободен сървърен софтуер за уики и управление на съдържание
МедияУики е името на софтуера, който управлява всички проекти на Уикимедия. MediaWiki е пусната през 2003 г. Това е свободен сървърен софтуер, лицензиран под Общия публичен лиценз на GNU (GPL). Софтуерът е лицензиран под GPL. Това означава, че той е със свободно съдържание или с отворен код, което позволява свободно копиране, изучаване, модифициране и разпространение на програмния код.
MediaWiki е проектирана да работи в големи сървърни ферми за уебсайтове с милиони посещения дневно. Това е мащабируем и функционално богат софтуер за уики, който използва PHP за обработка и показване на съдържание, съхранявано в релационни бази данни като MySQL. Страниците се записват във формат Wikitext, което позволява лесно редактиране и от потребители без познания по XHTML или CSS да променят съдържанието.
Основни характеристики
- История на версиите и възстановяване: При всяка редакция MediaWiki запазва предишните версии в базата данни, което позволява лесно връщане към по-ранни варианти при вандализъм или грешки.
- Управление на файлове: Поддържат се качване и вграждане на изображения и мултимедийни файлове, които обикновено се съхраняват във файловата система или в обектиран сторидж.
- Кеширане и производителност: За големи инсталации MediaWiki поддържа различни механизми за кеширане и може да работи съвместно със системи за прокси и кеширане (напр. Squid) и бекендове като Memcached или Redis.
- Разширения и скинове: Функционалността лесно се разширява чрез добавки (extensions) и визуалният вид чрез скинове (skins). Има голяма екосистема от готови разширения — от визуални редактори до интеграция с външни услуги.
- Правила за достъп и потребителски роли: Сложна система за права и групи дава възможност за фино управление на правомощията на потребителите.
- API и интеграции: MediaWiki предлага REST и action API за програмен достъп до съдържанието и операциите, което улеснява интеграция с други системи и автоматизация.
Архитектура и основни изисквания
MediaWiki е базирана на PHP и работи с релационна база данни (MySQL/MariaDB, но и други драйвери са възможни). При по-големи товари се използват отделни услуги за кеширане, уеб сървъри (Apache, nginx), балансировачи и специални системи за обработка на фонови задачи (job runners). За пълна функционалност често са нужни и допълнителни компоненти като Parsoid/RESTServices за визуалните редактори и Composer за управление на PHP зависимости.
Разширения, редактори и функции за редактиране
Най-често използваните разширения включват визуален редактор (VisualEditor), разширения за сигурност, интеграция със системи за удостоверяване (LDAP, OAuth), инструменти за импортиране/експортиране и Semantic MediaWiki за структурирани данни. MediaWiki поддържа шаблони, категории, именни пространства, междупроектни и междупосочни връзки, което позволява богато организиране на съдържанието.
Международност и локализация
MediaWiki е силно насочена към международна употреба: интерфейсът и системните съобщения са преводими, поддържани са множество езици и локализации. Това е една от причините проектите на Уикимедия да могат да работят на стотици езици.
Сигурност и поддръжка
Редовните актуализации и голямата общност помагат за бързото откриване и отстраняване на уязвимости. Добра практика при разгръщане включва използване на актуални версии, конфигуриране на бекъп, HTTPS, ограничаване на правата за качване на файлове и проследяване на логове.
Къде се използва?
Освен проектите на Уикимедия, MediaWiki се използва за:
- вътрешни знания бази и корпоративни уики;
- документация на проекти с отворен код;
- образователни платформи и колаборативни проекти;
- публични уеб енциклопедии и справочни сайтове.
Общност и лицензиране
MediaWiki се развива от голяма общност разработчици, администратори и преводачи. Кодът е с отворен лиценз (GPL), което позволява на организации и отделни потребители да адаптират софтуера според нуждите си, при запазване на свободата за модификация и разпространение.
За по-големи инсталации и специфични нужди Уикимедия поддържа свои клонове и често използва специални версии и допълнения, пригодени за натоварването и изискванията на нейните проекти.
Ако търсите конкретни инструкции за инсталиране, конфигуриране или избор на разширения, мога да добавя стъпка-по-стъпка ръководство според вашата среда (операционна система, версия на PHP и база данни).
Употреба
Тъй като MediaWiki е гъвкава, много уебсайтове, които искат хората да предоставят информация, използват MediaWiki, а не други видове софтуер за уикита. Сред тях са и тези, управлявани от Уикипедия.
Съществуват и някои уебсайтове, които използват MediaWiki като система за управление на съдържанието.
Разширения
В МедияУики системният администратор може да избере да инсталира разширения, които са предоставени на основния уебсайт на МедияУики. Някои от тях са от разработчиците на МедияУики, а други са от програмисти от цял свят.
Повечето разширения могат да бъдат изтеглени от хранилището Subversion на Уикимедия. Има обаче някои други разширения, които други хора хостват сами.
По време на разработването на MediaWiki към основния софтуер бяха добавени някои разширения. Например разширението Makesysop е разширение за повишаване на даден потребител в администратор или бюрократ.
Към 4 октомври 2013 г. има общо 2124 удължавания.
Пространства от имена
В инсталацията по подразбиране на MediaWiki софтуерът има 17 пространства от имена (всъщност 18, но едно няма пространство от имена), а именно:
- Статия (Без пространство от имена, като тази страница)
- Говори - за основната страница за разговор за пространството от имена
- User - страницата на потребителя, също от Special:MyPage
- Разговор с потребителя - страницата за разговори с потребителя, също от Special:MyTalk
- Проект - Пространството от имена на проекта(като в това уики е Уикипедия)
- Разговор за проекта - Страницата за разговори на проекта
- Файл - Страница за изображения и звуци
- Разговор за файлове - Разговор за медиите
- MediaWiki - Софтуерни страници, могат да бъдат променяни само от администратор
- MediaWiki talk - Разговори за страницата за софтуер, всеки може да пише в това пространство от имена
- Шаблон - за шаблони
- Разговор за шаблона - разговори за шаблона
- Помощ - помощни страници (като Помощ:Съдържание)
- Разговор за помощ - разговори за страницата за помощ
- Категория - Категоризиране на страници
- Разговор за категорията - разговори за категорията
- Special - Специални страници на софтуера MediaWiki
- Медия - Пространство от имена за директна връзка към файла
Допълнителни пространства от имена могат да се добавят чрез файла с настройки от инсталацията на MediaWiki.
Грешки
Тъй като МедияУики е сложен софтуер, в него винаги ще има грешки, особено при новите разширения. Затова Уикимедия създаде уебсайт bugzilla, чрез който хората, които забележат грешка, могат да я съобщят на разработчиците на MediaWiki.
Някои разширения на МедияУики използват Wikimedia Bugzilla, докато други използват само страниците за разговори на страницата на разширението.
Кожи
Потребителите могат да персонализират МедияУики за различен външен вид. Те могат да използват една от няколкото "кожи". По различно време различни кожи са били по подразбиране. Например Уикипедия някога е използвала Monobook, преди да приеме новия скин Vector във версия 1.16.
Проучване, проведено от Wikimedia, показва, че повече хора предпочитат кожата на Vector.


Векторната кожа в английската версия на Wikipedia.
Повече информация
Повече информация за софтуера:
- Основен уебсайт на МедияУики
- МедияУики в Meta Wiki
- Ръководство за потребителя на MediaWiki в Meta Wiki
- Често задавани въпроси за PHP скрипт
- PHP скрипт за автоматично уикифициране (бивша функция)
- Как да станете хакер на МедияУики (съвети за инсталиране)
Въпроси и отговори
Въпрос: Какво е MediaWiki?
О: MediaWiki е безплатен софтуер с отворен код, който управлява всички проекти на Уикимедия и много други.
В: Кога е пусната MediaWiki?
О: MediaWiki е пусната през 2003 г.
В: Под какъв лиценз е достъпна MediaWiki?
О: MediaWiki е лицензирана под Общия публичен лиценз на GNU (GPL), което означава, че е със свободно съдържание или с отворен код.
В: За какъв вид уебсайтове е предназначена MediaWiki?
О: MediaWiki е проектирана да работи в голяма сървърна ферма за уебсайт, който получава милиони посещения на ден.
В: Какъв формат използва MediaWiki за страниците?
О: За страниците се използва форматът Wikitext на MediaWiki, който позволява на потребителите лесно да ги редактират, без да познават XHTML или CSS.
В: Какво се случва, когато потребител изпрати редакция на страница в MediaWiki?
О: MediaWiki записва редакцията в базата данни, без да изтрива предишните версии на страницата, което позволява лесно връщане назад в случай на вандализъм или спам.
В: Може ли MediaWiki да управлява изображения и мултимедийни файлове?
О: Да, MediaWiki може да управлява изображения и мултимедийни файлове, които се съхраняват във файловата система.