← Все записи

Установка и настройка MediaWiki + 3 полезных расширения

wiki

Почему MediaWiki?

  1. Потому что его разрабатывает и использует WikiMedia (разработчики WikiPedia);
  2. Базы данных MySQL, PostgreSQL, SQLite;
  3. Поддерживает memcached и Squid;
  4. YAML, HTML и TeX;
  5. Оптимизированна под поисковики, есть расширения и темы, полная русская локализация.

Установка

  • Нам понадобиться PHP5 и выше (плюс PCRE и SPL), СУБД MySQL или PostgreSQL.
  • Качаем архив и распаковываем в директорию где будет у нас находится вики-раздел сайта;
  • Переходим по пункту “set up the wiki”;
  • Заполняем анкетные и конфигурационные данные (Название, язык, бд, кеш, администратор и т.д.);
  • Все, готово!

Настройка

Перемещаем файл LocalSettings.php (/config/LocalSettings.php) в корень вики-раздела (/);

В LocalSettings.php находятся основные настройки вики-движка, например директива $wgUseAjax (true/false) отвечает за AJAX, то есть если true то будет вики-движком использоваться AJAX (по возможности конечно).

Добавьте в LocalSettings.php:

# Включаем поддержку AJAX
$wgUseAjax = true;

# Логотип
$wgLogo = '/images/your-logotype.gif';

# Запрет незарегистрированным участникам редактировать статьи
$wgEmailConfirmToEdit = true;

Расширения

Расширения находятся по адресу http://www.mediawiki.org/wiki/Category:Extensions/ru, со структурой категорий разобраться не так уж легко, поэтому рекомендую использовать поиск.

Устанавливать расширения очень просто, надо распаковать архив в каталог /extensions.

И напоследок, 3 полезных расширения…


CategoryTree

Предназначена для вывода “дерева категорий” в раздел “Спецстраницы/Списки страниц/Дерево категорий” и в сайдбар.

Добавьте в LocalSettings.php:

# CategoryTree - дерево категорий
require_once("{$IP}/extensions/CategoryTree/CategoryTree.php");

# Максимум потомков (ветвей в ноде)
$wgCategoryTreeMaxChildren = 1000;

# AJAX использовать?
$wgCategoryTreeDynamicTag = true;

# Корневая категория, вместо "Root" - свою категорию.
$wgCategoryTreeSidebarRoot = 'Root';

# Режим для AJAX
$wgCategoryTreeSidebarOptions['mode'] = 10;

Для перемещения меню категорий в сайдбаре, я изменил шаблон MonoBook (именно он используеться по умолчанию):

Файл /skins/MonoBook.php строка 177

после

if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;

и до

foreach ($sidebar as $boxName => $cont) {

вставить:


$sidebar = array(
'categorytree-portlet'=>$sidebar['categorytree-portlet'],
'SEARCH'=>$sidebar['SEARCH'],
'navigation'=>$sidebar['navigation'],
'TOOLBOX'=>$sidebar['TOOLBOX'],
'LANGUAGES'=>$sidebar['LANGUAGES']);

то есть, мы просто поменяли местами порядок следования меню.


FCKeditor

Тут их даже две версии:

  1. FCKeditor extension by Mafs
  2. FCKeditor extension by the FCKeditor team and Wikia

Я использовал вторую, типа официальная всетаки!
Добавьте в LocalSettings.php:

# FCKeditor
require_once( "{$IP}/extensions/FCKeditor/FCKeditor.php" );

Я пробовал еще TinyMCE расширение, однако оно сильно нестабильно (Release status: unstable), пользоваться невозможно :(

Еще есть дополнительные опции**:**

# Ссылки на переключение с рич-редактора на стандартный
$wgDefaultUserOptions['riched_use_toggle'] = 1;

# По умолчанию отключен рич-редактор
$wgDefaultUserOptions['riched_start_disabled'] = 1;

# Появиться ссылка для возможности открытия в новом окне рич-редактор
$wgDefaultUserOptions['riched_use_popup'] = 1;

# Помнить ваш выбор (рич/стандарт)
$wgDefaultUserOptions['riched_toggle_remember_state'] = 1;

В данном случае “рич-редактор” - это FCKeditor.


MindMap

Еще есть FreeMind и WikiMindMap, я их на деле не использовал, но судя по описания очень даже ничего!

Диаграмма связей, известная также как интеллект-карта, (англ. Mind map) — способ изображения процесса общего системного мышления с помощью схем. Также может рассматриваться как удобная техника альтернативной записи. http://ru.wikipedia.org/wiki/Mindmapping


P.S. Восстановленный пост.

Комментарии 71

Архив обсуждения. Новые комментарии закрыты.

Linkdump #7 | CTAPbIu_MABP's BLOG

[…] Установка и настройка MediaWiki + 3 полезных расширения как и обещал Адворду - публикую на него ссылку […]

Алексей

Нужна помощь.
Создание новой версии сайта www.divingfinder.com на движке www.mediawiki.org

Сама Вика, основной функционал, основная безопасность, языки,
перенесенная дата уже будут стоять. Будет необходима доводка -
настройка, работа с шаблонами. ТЗ - по запросу.
Подобный сайт уже существовал и работал на этом движке ранее.

если интересует возможность подработать - обращайтесь плс с сайта или по епочте.

rourendortild

Мне понравилось. Столько полезного материала. Тока обновляйтесь больше )

FreeBSD. Порты, пакеты и обновление ПО | Мастерская интернет-разработчика

[…] mediawiki […]

Grrr!

Слушайте, ребят, меня уже пол недели мучает вопрос а как координально изменить дизайн вики?
Я так понимаю, что основной хтмл-контент содержится в Monobook.tpl, так?
Но в нём пхп-переменные так завуалированы?

Если знаете, помогите плз.

adw0rd

В MediaWiki, как и в большинстве PHP движков используется механизм шаблонов/тем, в которой намешан PHP. Даже более того, не только в PHP так, а повсеместно.

Только средствами верстки - не возможно управлять логикой вывода. Таковы технологии, ждем прогресса :)

Вам необходимо либо самому верстать тему, либо править существующие шаблоны. На фриланс-биржах думаю вам помогут ;)

Алексей

Тормозит все ужасно. Повключали все возможности кеширования и сокращения функционала, какие можно - тормоза остались. Кто нибудь сталкивался с такой проблемой?

adw0rd

Не знаю, что-то не замечал тормозов… А какие технические характеристики сервера? И какое ПО используется для кеширования?

Denis

> А какие технические характеристики сервера?
> И какое ПО используется для кеширования?

Процессор: Intel Celeron 2.40GHz
Опер память: 1Gb

Типичная картина, наблюдаемая в top:
Mem: 1027604k total, 976648k used, 50956k free, 428k buffers
Swap: 1959920k total, 12016k used, 1947904k free, 383372k cached
load average редко опускается ниже 1.

Кеширование производится встроенными средствами MediaWiki, php-акселераторов на сервере нет. Memcached тоже нет.

Без php-акселераторов и memcached конечно туговато, но чтобы при 3-5 параллельных запросах все они отваливались по таймауту…

И еще: все процессы httpd весят по 40-60 мегабайт. Это нормально?

adw0rd

И еще: все процессы httpd весят по 40-60 мегабайт. Это нормально?

Думаю вполне нормально, у меня на одном из серверов 160 MB… Это же обрабатывающие процессы, они постоянно обрабатываю соединения, а не плодятся при каждом..

На самом деле я не знаю почему у вас виснет, очень странно, попробуйте указать в апаче:
MaxClient 10

и расскажите что получилось…

А другие системы, например WordPress или Drupal тормозят? Потестите.

Алексей

Подскажите как установить MediaWiki в корень сайта? Чтобы безпроблемно запускаля по ссылке www.sait.ru Какие необходимы настройки.

adw0rd

Я уже не помню что надо писать при установке, у вас возникли трудности? Какие вы пути вписали?

Алексей

Есть бесплатный хостинг, находится сайт по пути на хостинге: 1/www/установленная вики/
Установка прошла замечательно, базы встали, переместил файл локал сеттинг на уровень вверх, но при открытии главной страницы ничего не появляется - чистая страница.

adw0rd

Вы тут “1/www/” создайте файл test.php и впишите туда

echo dirname(__FILE__);

после чего в LocalSettings поправьте путь до “то что вывело в test.php” + /путь до вики/

Алексей

Извините за недопонимание, но объясните подробнее вот точный путь до движка вики /home/vshosts/hosts/u10470/мойсайт/www/здесьвики как всё прописать? И в каком месте в LocalSettings поправить путь и как он будет выглядеть?

adw0rd

Насколько я помню там вообще не надо указывать в настройках путь до вики, у вас сейчас не запускается? А если вместо вики поместить туда index.php, то запускается то что в index.php?

Алексей

В строке браузера отображается после открытия вот что: “http://мойсайт/index.php/Заглавная_страница” и больше ничего на странице нет.

adw0rd

Так значит вики то у вас нормально работает, вы просто в конфиге где-то ошиблись видимо. Включите режим вывода ошибок, скорее всего у вас проблема с подключением к БД.

Алексей

Вроде всё проверил в LocalSettings в строках относящихся к mysql всё верно. Подскажите как включить режим вывода ошибок.

Алексей

В общем поплясал я вокруг, да около и базы проверил и всё прочее, на локальном Денвере встаёт всё на пять, на хостинге как говорится - болт.

adw0rd

Я же сказал как включить вывод ошибок, после включения заходите на страницу и там будет ошибка

Алексей

Именно так всё прописал в файле .htaccess о страница всё равно чистая выходит…

SemKA

Добрый день, спасибо за статью. Установил по вашей схеме “CategoryTree” всё тоже самое прописал в конфиге, но теперь в Sidebar(e) появился раздел “Категории” и в нём “Категория «root» не найдена.”? как это поправить, где эта категория root и как в этот блок что то добавлять?

Andrey

Версия с сайта стабильный релиз:

MediaWiki 1.15.1
PHP 5.2.6 (apache2handler)
MySQL 5.0.51a-log

Andrey

Другие версии не ставил. А зачем ? Эта ведь стабильная должна быть ?

adw0rd

Хоть и стабильная, но это не значит что приложение 100% работает правильно

rxs

Как я понимаю, первоисточник статьи здесь, а по ссылке maxyc.ru/2009/09/mediawiki-install-setup/ всего лишь copy-paste.

adw0rd

Действительно, даже не знал что успели скопипастить :)
Мне кажется там весь контент такой…

Alex

Уважаемыи, спасибо за статью!

Расскажите подробнее как установить WikiMindMap.
Очень необходимая для меня штука! Десктопные фримаинд и т.д. не подходят.
Будьте любезны!

adw0rd

Извините, но как я и сказал “я их на деле не использовал”. А у вас возникли уже какие-то проблемы?

Иван

Добрый вечер!

Установил на хостинг движок МедиаВики, после установки на Заглавной странице набор ссылок и отсутствие дизайна. http://web-safety.info

Загрузил тестовую картинку-логотип, прописал её в Локальных настройках, не отображается..собственно не совсем понял где она должна появится)

Так и должно быть? Либо где то ошибка?

Как настроить дизайн подобный Википедии?

Заранее благодарю за помощь.

С уважением,
Иван

Алексей

Здравствуйте! Скачал движок по вашей ссылке, но файла LocalSettings.php в папке config там нет.

lis

Установил wiki по умолчанию, в католог site.ru/wiki/ но когда захожу путь меняется на site.ru/index.php/бла бла бла

как исправить?

Тамогавк

Может кому пригодится.
Установка счетчика.
Регистрируемся в системе счетчика копируем код и создаем файл counter.php
Ставим файл в категорию /skins
Меняем код, для этого находим в MonoBook.php следующий код

if($this->data['copyrightico']) { ?>
<div id=”f-copyrightico"><?php $this->html('copyrightico') ?></div>
<?php    }

это логотип лицензии в левом углу (footer), меняем его на код

?><div id="f-copyrightico"><?php include("counter.php"); ?></div><?php
Тамогавк

Еще совет, перед тем как менять LocalSettings.php копируйте не исправленный фай на компьютер. Для избежания исправления ошибок. Если у Вас пропало оформление, разметка или при запросе страницы выдает ошибку, значит где то в LocalSettings.php напортачили.
При появлении подобного загружайте на сервер файл LocalSettings.php заменяя измененный.
Сохраняйте LocalSettings.php после каждого удачного апгрейда=)

Vici

Скажите, пожалуйста, если в LocalSettings.php установлены создание стр. и правка только зарегистрированных участников на вике, сохраняется где-то их e-mail, указанный при регистрации? и куда автоматом отправляется письмо с подтверждением о ней.

Vici

в смысле я знаю, что отправляется подтверждение. у меня были проблемы с админским электр. ящиком, сейчас только настроила, но там инфы об отправленных письмах нет. Есть ли возможность найти где-то в другом месте?

rxs

adw0rd, я думаю что Вас путают в вопросе с файлом LocalSettings.php.
Изначально файла нет в директории config.
Но он появляется там после прохождения этапов web-установки.
Проверено на MediaWiki 1.15.1.

rxs

Тамогавк я вообще оригинальный LocalSettings.php храню переименованный на хостинге. И, там же, переименнванную предпоследнюю версию.

rxs

Замечание про $wgEmailConfirmToEdit

# Запрет незарегистрированным участникам редактировать статьи $wgEmailConfirmToEdit = true;

Включить этот параметр действительно следует, но вот смысл его другой.


/**
 * Should editors be required to have a validated e-mail
 * address before being allowed to edit?
 */
$wgEmailConfirmToEdit=false;

т.е. требует проверенный email редактора.

Piter

Не получается запретить гостям редактировать страницы. Позапрещал уже вроде всё что можно, толку нет. Вписал вот такие строки:

Запрет незарегистрированным участникам редактировать статьи

$wgEmailConfirmToEdit=true;

Restrict anonymous editing

$wgGroupPermissions[’’][’edit’] = false;
$wgGroupPermissions[’
’][‘createpage’] = false;
$wgGroupPermissions[’’][‘createtalk’] = false;
$wgGroupPermissions[’
’][‘writeapi’] = false;

hide user tools for anonymous (IP) visitors

$wgShowIPinHeader = false;

Никоай

Извините за такой вопрос, но как установить расширение? PhpShellом не получается…

adw0rd

Простым копированием данных, самое простой транспорт - ftp, потомучто доступен на всех хостингах.

Максим

Добрый день.
Пользую mediawiki в связке с openldap - всё отлично работает и права назначает кому какие нужно и пользователей пускает каких нужно, вообще пёрфект, но вот постигла проблематика. Если в имени пользователя есть знак подчеркивания “_”, что-то типа vasya_pupkin, то wiki пытается искать в базе ldap пользователя vasya pupkin, то есть без знака “_”. Естественно такого пользователя она там не находит, и само собой пользователю в авторизации отказывается. Внимание вопрос - подскажите пожалуйста куда копать? Свежую версию extention - LdapAuthentication скачал и положил где жила предыдущая. Поиск по нету пока к сожалению результатов. Буду признателен за любую информация, вдруг решали уже такую проблематику. Заранее спасибо.

adw0rd

Ну я бы провел дебаг, поставил точки контрольные и посмотрел где подменяется на пробел. Либо напишите разработчикам.
Других не вижу способов…

Sergey

вопрос, как добавить в движок ссылки типа file: на локальные ресурсы
на другом движке можно _http://www.msunews.ru/wiki/wiki/syntax/?do=show
а тут нашёл массив wgUrlProtocols добавил туда file: и получил Ж…у :)

takprosto

Воткнул вику , сайт в подписи.

Я в растеряности )))
Господа как мне вывести алфавит, на пример азписи на букву А Б и Тд. ?

Konstantin

У меня проблема с FCKeditor. Установливал как у вас (тоже самое http://www.mediawiki.org/wiki/Extension:FCKeditor_(Official)). Брал с svn последную версию, 1.16. Wiki последняя.

Там надо всего две строчку добавить, ничего сложного но после добавления вот этого:

require_once("$IP/extensions/fckeditor/FCKeditor.php");

Получаю ошибку: HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

Пытался понять что же такое $IP, которого у меня нет в конфиге. Не получилось найти описание. Что может быть?

watson

Спасибо большое за статью. С установкой и настройкой проблем не возникло. Проблемы начались после установки расширений.
Скачал и поставил официальный FCKeditor , делал все как написано у вас. В результате никаких ошибок не возникает , но и расширенный редактор не появляется при редактировании статей.
Поставил CategoryTree, опять же по вашей схеме ставил. В Sidebar появился раздел Категории , а в нем “категория не найдена” , объясните пожалуйста как создавать эти самые категории и какую категорию ставить вместо Root.

Денис

С сайта не отправляются письма. Нет возможности подтвердить свой е-майл. Посоветуйте, где искать проблему?

алексей

Доброго времени суток! Не подскажите, каким образом в сайдбаре можно сделать из блоков разворачивающиеся списки (как на оф. вики). Скин стоит Vector

shveps

Поставил CategoryTree, опять же по вашей схеме ставил. В Sidebar появился раздел Категории , а в нем «категория не найдена» , объясните пожалуйста как создавать эти самые категории и какую категорию ставить вместо Root.

єтот вопрос меня очень интересует

Даник

Подскажите как разом скопировать все нужные шаблоны, категории из официальной ру-википедии в свою вики, чтобы потом на своей вики можно было спокойно писать статьи и они сразу принимали нормальный вид без ошибок что “нет шаблона” и т.д. т.е. другими словами как сделать из своей вики полную копию ру-википедии (но без имеющихся в ру-википедии статей)? Копировать содержимое шаблонов по одному и создавать такие же в своей вики - долгая и нудная задача.

Сергей

А у меня в файле MonoBook.php нет текста “copyrightico”, куда в таком случае вставлять код счётчика, чтобы он на всех страницах отображался внизу справа?

OpenNet

При загрузке файла, пишет:
Невозможно создать директорию «mwstore://local-backend/local-public/ххх».
И файл не загружается исполузуется IIS7 (Windows 2008). Что делать?

adw0rd

За 4 года могло что угодно поменяться в MediaWiki, к тому же я не работал с Windows уже лет 5-7, так что не смогу вам помочь…

Максим

Добрый день Михаил,

С помощью страницы в Гугл+ не удаётся подтвердить авторство для “Инструменты для вебмастеров”.

  1. На странице Гугл+ https:// plus.google.com/117377156538253585324/about добавили в разделе: “Мои публикации” обратную ссылку на сайт http:// wiki.primum.tv/

На данном сайте http:// wiki.primum.tv/ также добавили открытую ссылку https:// plus.google.com/u/0/117377156538253585324?rel=author на вышеназванный профиль.

Проверяем УРЛ http:// wiki.primum.tv/ в “Инструменте проверки структурированных данных” и получаем негативный ответ: “Страница не содержит данных об авторе”

Подскажите пожалуйста, в чем причина и что делать? Вроде сделали всё правильно.

PS Те же действия для домена http:// humor.primum.tv/ завершились успешно.