MediaWiki: различия между версиями

Материал из Ай да Linux Wiki
Перейти к навигации Перейти к поиску
м
м
Строка 14: Строка 14:
  
 
=== Запрещаем редактирование не авторизованным пользователям: ===
 
=== Запрещаем редактирование не авторизованным пользователям: ===
<pre>
+
<source lang="bash">
 
$wgGroupPermissions['*']['createaccount'] = true;
 
$wgGroupPermissions['*']['createaccount'] = true;
 
$wgGroupPermissions['*']['read'] = true;
 
$wgGroupPermissions['*']['read'] = true;
Строка 20: Строка 20:
 
$wgGroupPermissions['*']['createpage'] = false;
 
$wgGroupPermissions['*']['createpage'] = false;
 
$wgGroupPermissions['*']['createtalk'] = false;
 
$wgGroupPermissions['*']['createtalk'] = false;
</pre>
+
</source>
  
 
=== Делаем ссылки короткими ===
 
=== Делаем ссылки короткими ===
  
 
По умолчанию ссылки выглядят так: <nowiki>http://domain.ru/wiki/index.php?title=article</nowiki>. Чтобы сделать их такими же короткими и наглядными, как в Википедии, есть [http://www.mediawiki.org/wiki/Manual:Short_URL много способов]. Один из них - это добавить в '''LocalSettings.php''':<br>  
 
По умолчанию ссылки выглядят так: <nowiki>http://domain.ru/wiki/index.php?title=article</nowiki>. Чтобы сделать их такими же короткими и наглядными, как в Википедии, есть [http://www.mediawiki.org/wiki/Manual:Short_URL много способов]. Один из них - это добавить в '''LocalSettings.php''':<br>  
<pre>$wgScriptPath  = "/w";   
+
<source lang="bash">$wgScriptPath  = "/w";   
 
$wgArticlePath  = "/wiki/$1";
 
$wgArticlePath  = "/wiki/$1";
 
$wgUsePathInfo  = true;
 
$wgUsePathInfo  = true;
</pre>  
+
</source>
  
 
где '''$wgScriptPath''' - каталог установки вики-сайта, а '''$wgArticlePath''' - виртуальный каталог,&nbsp;который нужно будет указать в URL при обращении к статье, имя не должно совпадать с реальным каталогом.
 
где '''$wgScriptPath''' - каталог установки вики-сайта, а '''$wgArticlePath''' - виртуальный каталог,&nbsp;который нужно будет указать в URL при обращении к статье, имя не должно совпадать с реальным каталогом.
  
 
Затем, в корневом каталоге сайта (т.е. рядом с каталогом "w") нужно создать файл '''.htaccess''':<br>  
 
Затем, в корневом каталоге сайта (т.е. рядом с каталогом "w") нужно создать файл '''.htaccess''':<br>  
<pre>RewriteEngine On
+
<source lang="bash">RewriteEngine On
 
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
 
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
 
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
 
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
 
RewriteRule ^/*$ /w/index.php [L,QSA]
 
RewriteRule ^/*$ /w/index.php [L,QSA]
</pre>  
+
</source>  
  
 
Для лучшего понимания этого кода можно подробней ознакомиться с [http://www.shtogrin.com/library/web/mod_rewrite/doc/RewriteRule/ синтаксисом дерективы RewriteRule].
 
Для лучшего понимания этого кода можно подробней ознакомиться с [http://www.shtogrin.com/library/web/mod_rewrite/doc/RewriteRule/ синтаксисом дерективы RewriteRule].
Строка 43: Строка 43:
 
Если на сервере установлено несклько виртуальных хостов, то нужно ещё добавить&nbsp; настройку виртуального хоста в секцию '''&lt;VirtualHost&gt;''':  
 
Если на сервере установлено несклько виртуальных хостов, то нужно ещё добавить&nbsp; настройку виртуального хоста в секцию '''&lt;VirtualHost&gt;''':  
  
<pre>RewriteEngine On
+
<source lang="bash">RewriteEngine On
RewriteOptions Inherit
+
RewriteOptions Inherit</source>
</pre>  
+
 
  
 
и подключить модуль rewrite, после чего перезагрузить сервер. В Debian это делается следующим образом:  
 
и подключить модуль rewrite, после чего перезагрузить сервер. В Debian это делается следующим образом:  
<pre>ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
+
<source lang="bash">ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
 
/etc/init.d/apache2 restart
 
/etc/init.d/apache2 restart
</pre>
+
</source>
  
 
=== Добавляем логотип ===
 
=== Добавляем логотип ===
  
 
Картинку не более 135х135 пикселей с прозрачным фоном загружаем в папку images и добавляем в '''LocalSettings.php''':<br>  
 
Картинку не более 135х135 пикселей с прозрачным фоном загружаем в папку images и добавляем в '''LocalSettings.php''':<br>  
<pre>$wgLogo = “{$wgScriptPath}/images/logofinal.png”;</pre>  
+
<source lang="bash">$wgLogo = “{$wgScriptPath}/images/logofinal.png”;</source>
  
 
=== '''Меняем favicon''' ===
 
=== '''Меняем favicon''' ===
Строка 64: Строка 64:
 
* положить как обычно в корневой каталог сайта, т.е. на одном уровне с каталогом "w/" или  
 
* положить как обычно в корневой каталог сайта, т.е. на одном уровне с каталогом "w/" или  
 
* скопировать изображение в папку images и добавить в '''LocalSettings.php''':
 
* скопировать изображение в папку images и добавить в '''LocalSettings.php''':
$wgFavicon = "$wgScriptPath/images/favicon.ico";
+
<source lang="bash">$wgFavicon = "$wgScriptPath/images/favicon.ico";</source>
  
 
=== Настраиваем навигационную панель (слева) ===
 
=== Настраиваем навигационную панель (слева) ===
Строка 72: Строка 72:
 
'''Синтаксис:'''
 
'''Синтаксис:'''
  
<pre>
+
<source lang="bash">
 
* <название блока 1>
 
* <название блока 1>
 
** <ссылка на статью 1>|<отображаемый текст 1>
 
** <ссылка на статью 1>|<отображаемый текст 1>
Строка 78: Строка 78:
 
* <название блока 2>
 
* <название блока 2>
 
** <ссылка на статью 3>|<отображаемый текст 3>
 
** <ссылка на статью 3>|<отображаемый текст 3>
** <ссылка на статью 4>|<отображаемый текст 4>
+
** <ссылка на статью 4>|<отображаемый текст 4></source>
</pre>  
 
  
 
'''Пример:'''
 
'''Пример:'''
<pre>
+
<source lang="bash">
 
* navigation
 
* navigation
 
** mainpage|Начальная
 
** mainpage|Начальная
Строка 96: Строка 95:
 
* SEARCH
 
* SEARCH
 
* TOOLBOX
 
* TOOLBOX
</pre>
+
</source>
  
 
=== Добавляем слева ссылки на другие вики===
 
=== Добавляем слева ссылки на другие вики===
Строка 123: Строка 122:
 
Пароль любого пользователя можно поменять SQL командой:
 
Пароль любого пользователя можно поменять SQL командой:
  
UPDATE user SET user_password = MD5(CONCAT(user_id, '-', MD5('Новый_Пароль'))) WHERE user_name = 'Имя_Пользователя';
+
<source lang="mysql">UPDATE user SET user_password = MD5(CONCAT(user_id, '-', MD5('Новый_Пароль'))) WHERE user_name = 'Имя_Пользователя';</source>
  
 
===Разрешаем включать страницы из других вики===
 
===Разрешаем включать страницы из других вики===
Строка 129: Строка 128:
 
Чтобы включить страницу или шаблон из другой вики, она должна быть описана в таблице интервики ссылок и в LocalSettings.php нужно добавить параметр [http://www.mediawiki.org/wiki/Manual:$wgEnableScaryTranscluding $wgEnableScaryTranscluding]:
 
Чтобы включить страницу или шаблон из другой вики, она должна быть описана в таблице интервики ссылок и в LocalSettings.php нужно добавить параметр [http://www.mediawiki.org/wiki/Manual:$wgEnableScaryTranscluding $wgEnableScaryTranscluding]:
  
  $wgEnableScaryTranscluding = true;
+
  <source lang="bash">$wgEnableScaryTranscluding = true;</source>
  
 
:'''!''' В версии '''MediaWiki 16.2''' при попытке подключить внешний шаблон <nowiki>{{WikiName:Template:TemplateName}}</nowiki> PHP выдаёт ошибку:
 
:'''!''' В версии '''MediaWiki 16.2''' при попытке подключить внешний шаблон <nowiki>{{WikiName:Template:TemplateName}}</nowiki> PHP выдаёт ошибку:
Строка 506: Строка 505:
 
# копируются в свой подкаталог в каталоге extensions. Список расширений можно узнать из [http://www.mediawiki.org/wiki/Extension_Matrix официального списка].
 
# копируются в свой подкаталог в каталоге extensions. Список расширений можно узнать из [http://www.mediawiki.org/wiki/Extension_Matrix официального списка].
 
# в '''LocalSettings.php''' добавляется строка:
 
# в '''LocalSettings.php''' добавляется строка:
<pre>
+
<source lang="bash">
 
require_once( "$IP/extensions/Каталог_Расширения/Главный_Файл_Расширения.php" );
 
require_once( "$IP/extensions/Каталог_Расширения/Главный_Файл_Расширения.php" );
</pre>
+
</source>
  
 
'''Некоторые полезные расширения'''
 
'''Некоторые полезные расширения'''
  
 
* [http://www.mediawiki.org/wiki/Extension:FCKeditor_%28Official%29 FCKeditor] - визуальный (WYSIWYG) редактор. У этого расширения можно обновить сам [http://ckeditor.com/download редактор]. Подключаем:
 
* [http://www.mediawiki.org/wiki/Extension:FCKeditor_%28Official%29 FCKeditor] - визуальный (WYSIWYG) редактор. У этого расширения можно обновить сам [http://ckeditor.com/download редактор]. Подключаем:
<pre>
+
<source lang="bash">
 
require_once( "$IP/extensions/FCKeditor/FCKeditor.php" );
 
require_once( "$IP/extensions/FCKeditor/FCKeditor.php" );
</pre>
+
</source>
  
 
* [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php Cite.php] - добавляет поддержку тэгов '''<nowiki><ref></nowiki>''' и '''<nowiki><references /></nowiki>''', что позволяет использовать в тексте статьи сноски. Подключаем:
 
* [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php Cite.php] - добавляет поддержку тэгов '''<nowiki><ref></nowiki>''' и '''<nowiki><references /></nowiki>''', что позволяет использовать в тексте статьи сноски. Подключаем:
<pre>
+
<source lang="bash">
 
require_once( "$IP/extensions/Cite/Cite.php" );
 
require_once( "$IP/extensions/Cite/Cite.php" );
</pre>
+
</source>
  
 
* [http://www.mediawiki.org/wiki/Extension:ParserFunctions/ru ParserFunctions] - позволяет использовать тэги: '''<nowiki>#expr: #if: #ifeq: #ifexist: #ifexpr: #switch: #time: #rel2abs: #titleparts: #iferror:</nowiki>'''. На Википедии можно почитать как использовать [http://ru.wikipedia.org/wiki/Википедия:Функции_парсера функции парсера]. Устанавливать лучше из репозитория Subversion (скачать [http://subversion.apache.org/packages.html#windows клиент]):
 
* [http://www.mediawiki.org/wiki/Extension:ParserFunctions/ru ParserFunctions] - позволяет использовать тэги: '''<nowiki>#expr: #if: #ifeq: #ifexist: #ifexpr: #switch: #time: #rel2abs: #titleparts: #iferror:</nowiki>'''. На Википедии можно почитать как использовать [http://ru.wikipedia.org/wiki/Википедия:Функции_парсера функции парсера]. Устанавливать лучше из репозитория Subversion (скачать [http://subversion.apache.org/packages.html#windows клиент]):
<pre>
+
<source lang="bash">
 
cd extensions/
 
cd extensions/
 
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ParserFunctions
 
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ParserFunctions
</pre>
+
</source>
  
 
* [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight GeSHi] - подсветка синтаксиса программного кода, позволяет использовать тэги '''<nowiki><syntaxhighlight> и <source></nowiki>'''. Это расширенная версия [http://www.mediawiki.org/wiki/Extension:Geshi GeSHi]
 
* [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight GeSHi] - подсветка синтаксиса программного кода, позволяет использовать тэги '''<nowiki><syntaxhighlight> и <source></nowiki>'''. Это расширенная версия [http://www.mediawiki.org/wiki/Extension:Geshi GeSHi]
  
<pre>
+
<source lang="bash">
 
cd extensions/
 
cd extensions/
 
svn co  svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi
 
svn co  svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi
</pre>
+
</source>
  
 
Подключаем:
 
Подключаем:
Строка 588: Строка 587:
  
 
*Для '''SQL''' дампа выполняем:
 
*Для '''SQL''' дампа выполняем:
<pre>
+
<source lang="mysql">
 
mysqldump -h $SERVER -u $USER -p$PASSWORD --default-character-set=$CHARSET $DATABASE -c \
 
mysqldump -h $SERVER -u $USER -p$PASSWORD --default-character-set=$CHARSET $DATABASE -c \
 
| /bin/gzip -9 > ~/backup/wiki-$(date '+%a').sql.gz
 
| /bin/gzip -9 > ~/backup/wiki-$(date '+%a').sql.gz
</pre>
+
</source>
  
 
:параметры '''$USER''', '''$PASSWORD''' и '''$DATABASE''' берём из LocalSettings.php
 
:параметры '''$USER''', '''$PASSWORD''' и '''$DATABASE''' берём из LocalSettings.php
:<pre>cat ./LocalSettings.php  | grep wgDB</pre>
+
:<source lang="bash">cat ./LocalSettings.php  | grep wgDB</source>
  
 
:параметр '''--default-character-set=$CHARSET''' нужен, если возникли проблемы с кодировкой (подробней см. статью выше)
 
:параметр '''--default-character-set=$CHARSET''' нужен, если возникли проблемы с кодировкой (подробней см. статью выше)
Строка 601: Строка 600:
 
:<pre>mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect</pre>
 
:<pre>mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect</pre>
  
 +
*Для '''XML''' дампа используем скрипт [http://www.mediawiki.org/wiki/Manual:DumpBackup.php dumpBackup.php], расположенный в каталоге '''maintenance''':
 +
<source lang="bash">
 +
php maintenance\dumpBackup.php --full > full.xml</source>
  
*Для '''XML''' дампа используем скрипт [http://www.mediawiki.org/wiki/Manual:DumpBackup.php dumpBackup.php], расположенный в каталоге '''maintenance''':
 
<pre>
 
php maintenance\dumpBackup.php --full > full.xml
 
</pre>
 
 
Список параметров dumpBackup.php можно получить, вызвав его без параметров, однако, в исходном коде этого скрипта есть ещё несколько недокументированных опций.
 
Список параметров dumpBackup.php можно получить, вызвав его без параметров, однако, в исходном коде этого скрипта есть ещё несколько недокументированных опций.
  
Строка 616: Строка 614:
 
Полезно запретить поисковым роботам индексировать все служебные страницы, а ограничить их только статьями. Для этого редактируем файл '''robots.txt''' в корне сайта:
 
Полезно запретить поисковым роботам индексировать все служебные страницы, а ограничить их только статьями. Для этого редактируем файл '''robots.txt''' в корне сайта:
  
User-agent: *
+
<source lang="bash">User-agent: *
Disallow: /w/
+
Disallow: /w/</source>
  
 
В случае [[MediaWiki/Wiki_family_(farm)|вики семьи]] (фермы), в корневой каталог сайта кладём:
 
В случае [[MediaWiki/Wiki_family_(farm)|вики семьи]] (фермы), в корневой каталог сайта кладём:
  
User-agent: *
+
<source lang="bash"> User-agent: *
 
  Disallow: /w/
 
  Disallow: /w/
 
  Disallow: /ru/w-
 
  Disallow: /ru/w-
 
  Disallow: /en/w-
 
  Disallow: /en/w-
 
+
</source>
 
а в языковые подкаталоги:
 
а в языковые подкаталоги:
  
User-agent: *
+
<source lang="bash"> User-agent: *
 
  Disallow: /w/
 
  Disallow: /w/
  Disallow: /w-
+
  Disallow: /w-</source>
  
 
Подробнее см. на [http://www.mediawiki.org/wiki/Robots.txt официальном сайте]
 
Подробнее см. на [http://www.mediawiki.org/wiki/Robots.txt официальном сайте]

Версия 18:17, 15 апреля 2011

Установка MediaWiki

Установка крайне проста: скачиваем последнюю версию с официального сайта http://www.mediawiki.org и распаковываем в нужный каталог сайта (например /var/www/site/w/); далее настраиваем через веб-интерфейс. Точка входа http://domain.ru/w/config/

Подробно об установке можно узнать из официальной инструкции, и ещё одна здесь.

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

После установки хорошо бы ознакомиться с задачами администратора MediaWiki, где сказано что ещё можно доделать.

Как настроить (кратко)

Хорошие краткие инструкции (ЧаВО или FAQ) есть на официальном сайте MediaWiki как на русском языке, так и на английском.

Запрещаем редактирование не авторизованным пользователям:

$wgGroupPermissions['*']['createaccount'] = true;
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['*']['createtalk'] = false;

Делаем ссылки короткими

По умолчанию ссылки выглядят так: http://domain.ru/wiki/index.php?title=article. Чтобы сделать их такими же короткими и наглядными, как в Википедии, есть много способов. Один из них - это добавить в LocalSettings.php:

$wgScriptPath   = "/w";  
$wgArticlePath  = "/wiki/$1";
$wgUsePathInfo  = true;

где $wgScriptPath - каталог установки вики-сайта, а $wgArticlePath - виртуальный каталог, который нужно будет указать в URL при обращении к статье, имя не должно совпадать с реальным каталогом.

Затем, в корневом каталоге сайта (т.е. рядом с каталогом "w") нужно создать файл .htaccess:

RewriteEngine On
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]

Для лучшего понимания этого кода можно подробней ознакомиться с синтаксисом дерективы RewriteRule.

Если на сервере установлено несклько виртуальных хостов, то нужно ещё добавить  настройку виртуального хоста в секцию <VirtualHost>:

RewriteEngine On
RewriteOptions Inherit


и подключить модуль rewrite, после чего перезагрузить сервер. В Debian это делается следующим образом:

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
/etc/init.d/apache2 restart

Добавляем логотип

Картинку не более 135х135 пикселей с прозрачным фоном загружаем в папку images и добавляем в LocalSettings.php:

$wgLogo ={$wgScriptPath}/images/logofinal.png”;

Меняем favicon

Это изображение появляется возле адреса страницы в адресной строке сайта, а также в закладках. Его размер должен быть либо 16x16 либо 32x32 пикселей. Не все браузеры поддерживают формат favicon отличный от ico, подробней читайте на http://en.wikipedia.org/wiki/Favicon#Browser_support

Чтобы добавить favicon.ico можно

  • положить как обычно в корневой каталог сайта, т.е. на одном уровне с каталогом "w/" или
  • скопировать изображение в папку images и добавить в LocalSettings.php:
$wgFavicon = "$wgScriptPath/images/favicon.ico";

Настраиваем навигационную панель (слева)

Создаём страницу MediaWiki:Sidebar, где описываем содержание навигационной панели.

Синтаксис:

* <название блока 1>
** <ссылка на статью 1>|<отображаемый текст 1>
** <ссылка на статью 2>|<отображаемый текст 2>
* <название блока 2>
** <ссылка на статью 3>|<отображаемый текст 3>
** <ссылка на статью 4>|<отображаемый текст 4>

Пример:

* navigation
** mainpage|Начальная
** Служебная:AllPages|Все статьи
** Служебная:Categories|Все категории
** portal-url|Сообщество
** helppage|help
* Популярное
** Служебная:PopularPages|Статьи
** Служебная:MostLinkedCategories|Категории
** recentchanges-url|recentchanges
** randompage-url|randompage
* SEARCH
* TOOLBOX

Добавляем слева ссылки на другие вики

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

[[lang:Имя статьи]]

где lang - префикс языка. См. файл languages/Names.php

В случае, если нужно добавить ссылку на любой другой сайт, нужно создать интервики ссылку (см. ниже) и с таким же именем запись в languages/Names.php

Например, в таблице ссылок интервики создали ссылку my-wiki, тогда в Names.php добавляем строчку (в рамках объявления массива):

'my-wiki' => 'My Wiki',  # Link to my wiki

Теперь, в статью можно поместить строку:

[[my-wiki:Имя статьи]]

Подробней читать на офф. сайте.

Меняем права пользователей

Права пользователя можно поменять на Special:Userrights. Подробно описано в официальном руководстве.

Меняем пароль пользователя

Пароль любого пользователя можно поменять SQL командой:

UPDATE user SET user_password = MD5(CONCAT(user_id, '-', MD5('Новый_Пароль'))) WHERE user_name = 'Имя_Пользователя';

Разрешаем включать страницы из других вики

Чтобы включить страницу или шаблон из другой вики, она должна быть описана в таблице интервики ссылок и в LocalSettings.php нужно добавить параметр $wgEnableScaryTranscluding:

$wgEnableScaryTranscluding = true;
! В версии MediaWiki 16.2 при попытке подключить внешний шаблон {{WikiName:Template:TemplateName}} PHP выдаёт ошибку:
PHP Fatal error:  Cannot redeclare class HttpRequest in /local_path_to_site/w/includes/HttpFunctions.php on line 122

Разрешаем загружать файлы

# Позволяем загружать файлы
$wgEnableUploads = true;

# Определяем макс. размер файла
$wgMaxUploadSize = 5000000; 

# Отключаем проверку расширения файла
$wgCheckFileExtensions = false;
$wgStrictFileExtensions = false;

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

Чтобы самостоятельно задать тип файлов указываем:

$wgFileExtensions = array('png', 'gif', 'jpg', 'jpeg', 'svg', 'pdf', 'doc', 'docx', 'xls', 'xlsx','ods','odg','odt');

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

Подробней см. официальную документацию.

Добавляем классы таблиц

По умолчанию в движке MediaWiki определён только один класс таблиц wikitable.

  • Чтобы определить свои классы нужно отредактировать файл skins/common/shared.css. Вставьте в любое место приведённый справа код.

Пример классов таблиц:

вид
wikitable
Заголовок 1 Заголовок 2
Ячейка 1*1 Ячейка 2*1
Ячейка 1*2 Ячейка 2*2
Ячейка 1*3 Ячейка 2*3
standard
Заголовок 1 Заголовок 2
1 Ячейка 2 Ячейка
2 Ячейка 1 Ячейка
3 Ячейка 3 Ячейка
frame
Латиница Кириллица Цифры
D Г 3
E Щ 2
F Б 11
код
{| class="wikitable"
|-
!Заголовок 1||Заголовок 2 
|-
|Ячейка 1*1||Ячейка 2*1
|-
|Ячейка 1*2||Ячейка 2*2
|-
|Ячейка 1*3||Ячейка 2*3
|}
{| class="standard sortable"
|-
!Заголовок 1||Заголовок 2 
|-
| 1 Ячейка || 2 Ячейка
|-
| 2 Ячейка || 1 Ячейка 
|-
| 3 Ячейка || 3 Ячейка
|}
{| class="frame sortable"
|-
!Латиница||Кириллица||class="unsortable"|Цифры
|-
| D || Г || 3 
|-
| E || Щ || 2
|-
| F || Б || 11
|}
широкие
wide
Заголовок 1 Заголовок 2
Ячейка 1*1 Ячейка 2*1
Ячейка 1*2 Ячейка 2*2
Ячейка 1*3 Ячейка 2*3
wide-frame
Заголовок 1 Заголовок 2
Ячейка 1*1 Ячейка 2*1
Ячейка 1*2 Ячейка 2*2
Ячейка 1*3 Ячейка 2*3
  • Можно добавить возможность сворачивать таблицы. В официальной инструкции рекомендуется создать в вики страницы Common.js и Common.css, но в случае вики семьи такое решение не подойдёт, так действует только на одну вики, поэтому я добавил код в конец следующих файлов в каталоге skins/common/:
    • код для Common.js добавил в ajax.js
    • код для Common.css добавил в shared.css

Скопируйте и вставте следующий код в MediaWiki:Common.js и MediaWiki:Common.css:

Добавление расширений

Список всех уже установленных расширений можно увидеть на странице Special:Version а в руссифицированных версиях также Служебная:Version

Все расширения (extensions) устанавливаются в MediaWiki одинаково:

  1. копируются в свой подкаталог в каталоге extensions. Список расширений можно узнать из официального списка.
  2. в LocalSettings.php добавляется строка:
require_once( "$IP/extensions/Каталог_Расширения/Главный_Файл_Расширения.php" );

Некоторые полезные расширения

  • FCKeditor - визуальный (WYSIWYG) редактор. У этого расширения можно обновить сам редактор. Подключаем:
require_once( "$IP/extensions/FCKeditor/FCKeditor.php" );
  • Cite.php - добавляет поддержку тэгов <ref> и <references />, что позволяет использовать в тексте статьи сноски. Подключаем:
require_once( "$IP/extensions/Cite/Cite.php" );
  • ParserFunctions - позволяет использовать тэги: #expr: #if: #ifeq: #ifexist: #ifexpr: #switch: #time: #rel2abs: #titleparts: #iferror:. На Википедии можно почитать как использовать функции парсера. Устанавливать лучше из репозитория Subversion (скачать клиент):
cd extensions/
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ParserFunctions
  • SyntaxHighlight GeSHi - подсветка синтаксиса программного кода, позволяет использовать тэги <syntaxhighlight> и <source>. Это расширенная версия GeSHi
cd extensions/
svn co  svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SyntaxHighlight_GeSHi

Подключаем:

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

Параметры:

    • lang="??": Определяет язык программировария, сказывается на самой подсветке
    • line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS": Как нумеровать линии (по умолчанию никак)
    • line start="??": Какой номер у первой строки, используется вместе с line
    • highlight="??": Какую линию подсветить, не зависит от line start
    • enclose="??": В какой контейнер поместить блок. Принимает значения "pre" (по умолчанию), "div", "none".
    • strict: Присутствие этого параметра указывает, что нужно использовать режим strict.
  • CategoryTree - добавляет более удобную навигацию по категориям. Позволяет использовать тэг <categorytree>

Копируем в каталог расширений и подключаем:

require_once("$IP/extensions/CategoryTree/CategoryTree.php");
  • Collection - даёт возможность создавать книги в формате PDF из статей сайта.

! Требует чтобы PHP поддерживал cURL ! Возможно потребуется доуставить.

Копируем в каталог расширений и подключаем:

require_once("$IP/extensions/Collection/Collection.php");

Чтобы дать пользователям возможность сохранять и делиться своими книгами с другими, добавьте в Localsettings.php:

$wgGroupPermissions['user']['collectionsaveasuserpage'] = true;
$wgGroupPermissions['user']['collectionsaveascommunitypage'] = true;

С настройками по умолчанию книги будут генерироваться на сервере разработчика этого расширения.

  • CharInsert - быстрое добавление любых символов или шаблонных тегов. Ниже окна редактирования размещается дополнительная панель инструментов.

Резервное копирование

Чтобы узнать, как скачать дампы базы данных со статьями Википедии, см. статью Википедии

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

Если кратко, то полная резервная копия - это дамп из СУБД (у меня MySQL) в виде SQL выражений, а частичная в виде xml файла. Особенности последней в том, что она не зависит от структуры базы данных и может быть перенесена, например, на нувую версию MediaWiki с изменнённой структурой БД, но в xml не выгружаются информация о логинаx пользователей, журналы и метаданные изображений.

  • Для SQL дампа выполняем:
mysqldump -h $SERVER -u $USER -p$PASSWORD --default-character-set=$CHARSET $DATABASE -c \
| /bin/gzip -9 > ~/backup/wiki-$(date '+%a').sql.gz
параметры $USER, $PASSWORD и $DATABASE берём из LocalSettings.php
cat ./LocalSettings.php  | grep wgDB
параметр --default-character-set=$CHARSET нужен, если возникли проблемы с кодировкой (подробней см. статью выше)
параметр -h $SERVER нужен если подключаемся не через сокет, иначе получим ошибку:
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect
  • Для XML дампа используем скрипт dumpBackup.php, расположенный в каталоге maintenance:
php maintenance\dumpBackup.php --full > full.xml

Список параметров dumpBackup.php можно получить, вызвав его без параметров, однако, в исходном коде этого скрипта есть ещё несколько недокументированных опций.

Редактировние статей

Об этом можно подробно узнать из Справки по редактированию.

Уменьшение нагрузки

Полезно запретить поисковым роботам индексировать все служебные страницы, а ограничить их только статьями. Для этого редактируем файл robots.txt в корне сайта:

User-agent: *
Disallow: /w/

В случае вики семьи (фермы), в корневой каталог сайта кладём:

 User-agent: *
 Disallow: /w/
 Disallow: /ru/w-
 Disallow: /en/w-

а в языковые подкаталоги:

 User-agent: *
 Disallow: /w/
 Disallow: /w-

Подробнее см. на официальном сайте

Wiki family - Несколько вики в одном проекте

По этой теме читайте отдельную статью MediaWiki/Wiki_family_(farm)

Дополнительные настройки

  • Интервики (interwiki) - это ссылки, оформленные как внутренние ссылки с использованием специального префикса, но ведущие на страницы других проектов. Интервики-ссылки позволяют сделать ссылку на страницы других вики-проектов, например Википедии, Викиучебника, Викиновостей и т.д., или, к примеру, на разделы вашего вики-проекта на разных языках.
  • Tagline - можно изменить подпись "Материал из НазваниеВики".

Полезные ссылки

Документация:

Советы по настройке:

Справочники:

Скины:

Утилиты:

Описание движка MediaWiki: