РЕКЛАМА 
приворот вернуть бывшего парня ролеты харьков

Mediawiki

Вступление

Довольно часто встречаешь в форуме вопрос по поводу выбора вики. Не так давно передо мной стал такой же вопрос.Сначала несколько слов о том – зачем я это все затеял. Небольшая предыстория: работая на предыдущем месте там была установлена вики в качестве knoledge base. Сперва я отнесся к этому нововедению скептически, но ошибся – оказалось очень удобно. Далее сменив место работы я обнаружил почти полное отсутствие документации, т.е кое-что было, но на разных машинах в сети, не всегда это был вордовский документ, да и не обновляли их по 3-4 года. Вобщем начал я думать (учитывая мой предыдущий опыт с knoledge base на базе вики) как бы это изменить. Соответственно меня интересовали следующие возможности:

  • Веб интерфейс
  • Поиск по документам
  • Email нотификация
  • Возможность устанавливать права на страницу (в моем случае просто запретить редактировать незарегистрированным пользователям)
  • Подсветка кода (С\С++)

Так как времени мне на эту работу в рабочее время никто не выделял, то я мог заниматься этим только в свое свободное время, поэтому я делал все на виртуальной машине, которую потом перенес на отдельную машину подключенную в сеть.
Учитывая мою слабость к linux платфотмам я выбирал wiki которая бы без лишних телодвижений стала на linux платформу (на большинстве linux систем apache,MySQL,php стоят по умолчанию).
Обзор я начал с Wikimatrix для начала посмотрел на Bitweaver, но в нем мне не понравился UI и работа с картинками, а также подсветка кода. Это те проблемы с которыми я столкнулся и не смог от них быстро избавится, я отнють не хочу сказать что это плохо реализовано или не работает. Далее я посмотрел XWiki, я даже хотел на ней остановиться, есть свой сервер, есть даже инсталятор под Windows который позволяет сделать все в один клик, но здесь я терял мобильность и мне так и не удалось найти плаги для Email нотификации. Итак мой выбор остановился на mediawiki.

Инсталяция

Системные требования:

  • web-server Apache
  • PHP 5 или старше рекомендуется 5.1
  • MySQL

С системными требованиями к mediawiki можна познакомиться на оффициальном сайте

  • 1. Загрузить mediawiki можна здесь .Я брал версию mediawiki-1.10.1
  • 2. Распаковать файл в папку вашего web-server-а (если Apache, то она указана в файле httpd.conf). На linux системе это можна сделать командой tar xvzf mediawiki-*.tar.gz
  • 3. Установить права доступа для папки config. (chmod 755 config)
  • 4. Создать базу данных. Я опишу процесс создания для MySQL для остальных СУБД можна посмотреть здесь.

Если у вас есть права администратора для MySQL, то эту процедуру можна пропустить. Инсталяционный скрипт сделает все сам.
Если прав нет,то запустите /usr/local/mysql/bin/mysql -u user_name -p mysql . Эта команда запустит командную строку клиента MySQL

 
CREATE DATABASE wikidb;
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, ALTER, LOCK TABLES ON
wikidb.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH privileges;\q

Если ваш сервер запущен на другой машине

 
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, ALTER, LOCK TABLES ON
wikidb.* TO 'wikiuser'@'mediawiki.example.com'
IDENTIFIED BY 'password';

Когда все эти шаги пройдены, можна запускать инсталяционный скрипт.Для этого необходимо написать в вашем браузере http:\\name_of_your_machine\wikifolder (я периименовал папку mediawiki-1.10.1 в wiki и т.о строка в браузере имеет вид http:\\slackware\wiki ). Далее вы получите предупреждение что, папка config (path_to_wiki\wiki\config) защищена от записи и предлагают вам выполнив команду

 
		cd /path/to/wiki
	       chmod a+w config
 

запустить скрипт снова. После этого вам необходимо будет указать некоторые детали вашей вики (имя, тип СУБД и т.п). Для того чтобы закончить процесс инсталяции необходимо переместить файл config/LocalSettings.php на один уровень выше – именно переместить, не скопировать. Все ваша вики готова.

Настройка

Теперь вики необходимо настроить. Постараюсь описать самые важные (на мой взгляд), про остальные настройки можна прочитать здесь

Изменить название

Открываем файл LocalSettings.php, тот самый который мы переместили при инсталяции, ищем переменную $wgSitename и присваиваем ей необходимое значение.

 
    $wgSitename         = "RSDN Test";
 

Изменить лого

В мануале написано, что необходимо указать путь к новому лого-изображению (135х135)

 
    $wgLogo = “The URL of the site logo.”
 

Что я только там не указывал, а лого так и не изменилось, может я что не так делал,может баг(не было времени заглянуть в багтрекер). Необходимо заменить изображение
/path_to_wiki/skins/commons/images/wiki.png на ваше изображение. (Изображение должно быть размером 135х135).

Настроить загрузку файлов

Для того чтобы загружать файлы на вики, необходимо установить

 
    $wgEnableUploads = true;
 

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

 
    $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'ppt', 'pdf', 'doc', 'psd', 'mp3','xls', 'zip');
 

Далее, необходимо иметь в виду, что ограничение на размер файла зависит от настроек php и по умолчанию это 2Мб. Нужно учесть что загрузка файлов, может быть вообще запрещена в php и это может быть причиной почему не загружаются файлы.

Настройка прав редактирования

Для того чтобы запретить незарегистрированным пользователям редактировать страницы необходимо установить

 
    $wgGroupPermissions['*']['edit'] = false;
 

а для того, чтобы запретить чтение необходимо установить

 
    $wgGroupPermissions['*']['read'] = false;
 

Про остальные настройки прав пользователей и групп можна почитать User rights

Встраиваемые картинки

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

 
    $wgAllowExternalImages = true;
 

Плагины

Из плагинов я бв отметил SyntaxHighlight_GeSHi для расскраски кода, далее CategoryTree, показывает статьи категории в виде дерева.
Все полагины ставаться одинаково, необходимо положить файл плагина в папку /path/to/wiki и затем подключить в файле LocalSettings.php этот плагин

 
require_once("{$IP}/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php");
require_once("{$IP}/extensions/CategoryTree/CategoryTree.php" );
 

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

Заключение

Вики я поставил и доволен, всеми она активно не используется и врядли будет(если ребята за 7-8 лет разработки так и неудосужились написать документацию), но 2-3 пользователя ее используют активно :-). Одно из своих требований я так и не смог удовлетворить, а имеено Email нотификацию, вернее я ее сделал, но криво — через внешний mail server, а хотелось через родной mail server линукса, на котором стоит вики, но у меня не получилось настроить sendmail. Я нашел обходной путь в wiki есть рсс фид, подписавшись на который можна иметь точно такой же список измкнений как и при Email нотификации.
Полезные ссылки

13 Comments

  1. Pit:

    отличная информация. по-моему очень полезная и нужная.

  2. Санеkk:

    Довольно интересно написано. А вообще, поздравляю автора блога и всех его читателей с сегодняшним праздником - Днем России. Ура, товарищи! :)

  3. леня:

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

  4. Olly:

    Статья помогла при установке и настройке вики,
    спасибо автору )))

  5. Pit:

    респект и уважуха автору. инструкция просто пошаговая. довольно легко все настроил.

  6. дима:

    у вас такое четкое и понятное описание и характеристики плагинов - просто и все понятно.

  7. I am OK:

    Инструкцию по установке Mediawiki и закачки в нее базы Википедии можно посмотреть здесь:
    http://ru.wikipedia.org/wiki/Википедия:Как_сделать_копию_Википедии

  8. лариса:

    спасибо за подсказки. обязательно воспользуюсь, как только разберусь со всей информацией.

  9. миша:

    отличная и полезная информация.теперь как я понимаю Вику можно установить и себе.

  10. стас:

    у меня не получается загрузить mediawiki? что делать?

  11. admin:

    to стас: поконкретнее плз. куда зугрузить (или откуда)

  12. марат:

    У Вас отличный обзор. кстати эти плагины я искал, попал прямо в точку:) приятно:)добавлю Вас в избранное.

  13. Анна К:

    Хорошая статья. Буду ждать продолжения. Эта тема безусловно интересна всем.

Leave a comment