Manual:Wiki family/ru

Ниже приведены инструкции по настройке MediaWiki для размещения более одного вики-сайта. Множественные вики, находящиеся на одном сервере, называются "Вики-семейство" или "Вики-ферма". Список некоторых вики-ферм доступен на сайте.

Основные принципы
Общепринятой конфигурацией вики-фермы является использование только одного экземпляра MediaWiki. Ниже перечислены некоторые шаги необходимые в этом случае:
 * 1) Установите MediaWiki сайт и затем создайте из него шаблон базы данных. Этот шаблон может быть как пустым (т.е. без записей в таблицах), так и иметь любые страницы, пользователей, интервики ссылки и т.д., которые вы планируете использовать в последующих экземплярах фермы. For details, see.
 * 2) Настройте веб-сервер для маршрутизации трафика из нескольких мест в одну установку MediaWiki. Это может быть для нескольких доменов, поддоменов или подкаталогов, и может быть сделано с помощью символических ссылок, псевдонимов, переписывания URL-адресов или других механизмов.
 * 3) Add code to the top of , to detect the current wiki. For wikis by domain name:
 * 4) Configure settings that must differ for all wikis. For example:
 * 5) Configure per-wiki overrides. This should include at least   and  . This could be done from a separate file, e.g.:

To create a new wiki, create its database and add its settings first, and then run.

Giant switch statement
This approach is for operating entirely independent wikis, but still sharing the same web server and MediaWiki source code.


 * 1) Install the first wiki as normal, via the web or CLI installer, which sets up your database and generates a  file.
 * 1) After installation, rename the generated   file to include the wiki ID (e.g. database name), like.
 * 1) Repeat step one and two above for each wiki you wish to create.
 * 1) Create a new   file that will load the correct one.

If your wikis are on the same domain but under different paths (e.g.,   etc.), you can use something like this:

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


 * 1) # Создайте корневую папку, в которой будут располагаться все файлы MediaWiki. Например,.
 * 2) # Установите MediaWiki и дополнительные расширения в подпапку с указанием версии движка (Например,  ).
 * 3) # Создайте симлинк на эту директорию. Например,
 * 4) # Создайте папку sites для хранения конфигураций и рисунков:
 * 5) # Установите вики из папки /code.
 * 6) # После успешной установки переместите   в необходимую папку. Например, для сайта http://mysite.com/mywiki, создайте папку mysite.com.mywiki. Например,  . Более подробную информацию смотрите в описании файла settings.php Drupal'а.
 * 7) # Если вы собираетесь загружать медиафайлы, создайте для них подпапку в папке вашего сайта. Например,  .  Пользователь, под которым работает Apache, должен иметь права на запись в эту папку.
 * 8) # Поместите файл Drupal-style LocalSettings.php в корневую папку вашей вики:
 * 9) # Модифицируйте LocalSettings.php для каждого сайта так, чтобы он указывал на правильное место:
 * 10) #* Сначала закомментируйте, касающиеся переменной , (строки 16-20 в 1.15.3), эта переменная будет установлена в файлом   и будет содержать путь к папке code.
 * 11) #* Вставьте следующие строки для возможности загрузки и отображения изображений, например:   and  . Их нужно добавить после вызова файла   (строка 25 в 1.15.3), иначе эти переменные будут сброшены в значения по умолчанию.
 * 12) #* Сделать дополнительные изменения по необходимости.
 * 13) # Подготовка Apache 2. Пример приведен для сайта wiki.mysite.com wiki.example.com
 * 14) #* Создайте линк на папку code, если это необходимо. Например,
 * 15) #* Создайте конфигурацию для виртуального хоста:
 * 11. # Если вы настраивали сайт локально, обновите ваш файл  вписав имена сайтов. Теперь ваш сайт должен работать.

В моем случае, я сделал еще одну копию кода, из которой я устанавливал и обновлял LocalSettings.php и базы данных. Учтите, что используемая Drupal'ом переменная  не будет установлена, если скрипты обслуживания запущены из командной строки, поэтому данное решение не позволит вам использовать скрипты обслуживания без некоторых модификаций.

Modified Drupal-style method for Ubuntu
A simplified method for multiple wikis and multiple (or nested) subwikis on Ubuntu/Kubuntu that is loosely based on the above method can be found at:
 * Ubuntuguide.org MediaWiki tips

Распределение общих ресурсов между несколькими вики
You can use to share uploaded media files across wikis. This is similar to Wikimedia Commons for Wikipedia.

For example:


 * en.example.org -
 * fr.example.org -
 * de.example.org -
 * pool.example.org - Shared media files for all wikis.

Shared database tables
Consider using shared database for user accounts. See for instructions on setting up shared database tables.

Interwiki
You can create interwiki links between all wikis, by using. If the wikis are language editions, it is recommended to name the interwiki prefix after the exact language code. For example, "de" for the German wiki in your family. This way, you can connect pages about the same subject using language links.

Adding Hauptseite on your English "Main Page" will create a link "Deutsch" in the languages sidebar. For further information visit

If you have a central wiki for files, create a prefix for this as well. E.g.  to https://pool.example.org/wiki/$1 and enable the "Forward" checkbox to recognise it as a local wiki in the same family.

Загрузка
Make sure that folder "images" of the pool-wiki is writable.

It is useful to change the "Upload file"-Link of the language-wikis to point to poolwiki's upload-site. Open the "LocalSettings.php" of each language-wiki and add:

In 1.17, you'll also have to set  to be redirected to the pool-wiki on red links.

If you want to allow uploads only for your pool wiki, you may use something like this:

Использование общих файлов
To use poolwiki's files in the languagewikis, open "LocalSettings.php" for each languagewiki and add:

Now you can integrate pool's files with (e.g. ) in the languagewikis.

Описание изображения
In each languagewiki, open (as an admin) the message MediaWiki:Sharedupload-desc-here.

Change the text to something like:

This file is stored in our data-pool. For information and description, please visit the description there.

(And note the ':' at the beginning of the line, which stops 'pool' from being included in the interwiki list at the left of the page.)

If you want to output the media-description, stored in the PoolWiki, too, add to the "LocalSettings.php" of the languagewikis:

Wiki Farm extensions
There are several MediaWiki extensions that attempt to simplify hosting of several wikis by using just one code base, however only one is currently noteworthy:


 * - beta.


 * : For localisation issues of the and customising the Skins regarding the files ,  ,  ,  ,  ,   respectively.

См. также

 * Configuration database
 * MediaWiki Farmers user group and Wikifarm
 * — the mechanism by which user accounts can have an extra 'central' identifier.