19 февраля 2009 г. PHP Wiki

Установка и настройка 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 (<mediawiki>/config/LocalSettings.php) в корень вики-раздела (<mediawiki>/);

В 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, со структурой категорий разобраться не так уж легко, поэтому рекомендую использовать поиск.

Устанавливать расширения очень просто, надо распаковать архив в каталог <mediawiki>/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 (именно он используеться по умолчанию):

Файл <mediawiki>/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. Восстановленный пост.

Комментарии

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

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

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

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

rourendortild, ок

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

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

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

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

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

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

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

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

Процессор: 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 мегабайт. Это нормально?

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

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

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

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

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

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

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

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

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

echo dirname(__FILE__);

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

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

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

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

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

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

В .htaccess укажите

php_flag display_errors On

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

А что на хостинге? Какие ошибки?

И где же это посмотреть, простите за неосведомлённость?

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

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

Тогда установите уровень вывода ошибок http://ru2.php.net/manual/en/function.error-reporting.php

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

http://wiki.adw0rd.ru/index.php/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Root вот тут посмотрите, думаю станет понятно :)

А у меня она глючит (глотает символы) по черному, не знаю что и делать ...

Хостинг мой. Пара тяжелых битриксов у меня там летает на ура.

Нормально

Глотает символы ..

Andrey, какая версия? Вы пробовали ставить другие версии?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А что у вас со скином? Вообще оформления нет...

http://pyha.ru/wiki/ - вот страничка, на ней видно логотип (http://pyha.ru/wiki/images/logotype.png) в верхнем левом углу.

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

Да, действительно. А раньше был...

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

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

http://www.mediawiki.org/wiki/Manual:Short_URL

Может кому пригодится.
Установка счетчика.
Регистрируемся в системе счетчика копируем код и создаем файл 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 после каждого удачного апгрейда=)

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

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

Я не знаю, посмотрите в БД

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

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

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

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

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


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

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

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

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

$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ом не получается...

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

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

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

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

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

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

У меня проблема с 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, которого у меня нет в конфиге. Не получилось найти описание. Что может быть?

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

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

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

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

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

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

Я не знаю, не сталкивался

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

Найдите в шаблоне этот блок, или добавьте самостоятельно

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

За 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/ завершились успешно.

Статья закрыта для комментариев