ВикиФермы

Пожалуйста, экспериментируйте в песочнице!

администраторам (средний)

ВикиФерма это коллекция из двух или более вики запущеных на одном веб сервере и пользующихся одним набором сценариев. Термин ВикиФерма происходит из компьютерной фразы "server farm"(группа серверов Lingvo 11).

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

Когда нужна ферма

Основная мотивация для использования ферм вики это уменьшение объёма административной работы связаной с управлением несколькими вики. На ферме основной код PmWiki хранится в одном месте и является общим для всех вики. Администратор может(например) обновить версию PmWiki всех вики простым обновлением общих компонентов собраных в одном месте.

С точки зрения читателя, каждая вики на ферме полностью независимая и выглядит как отдельный веб сайт. Каждая вики на ферме:

  • обладает собственным URL и даже может распологаться в другом домене;
  • может иметь собственный дизайн и управление(с помощью разных скинов);
  • может пользоваться собственными дополнениями или "рецептами" из поваренной книги;
  • может управляться собственным администратором отвечающим за местную настройку.

Когда ферма не нужна

Так как вики на ферме все независимы — довольно трудно (но не невозможно) обеспечить сервисы требующие доступ к более чем одной вики. Например, функция поиска PmWiki может искать только в пределах одной вики. Использование фермы для разделения родственного содержимого в целом является плохой идеей. Удобнее разделить содержимое пользуясь группами.

Я всё ещё не могу выбрать нужна ли мне ферма ...

Отличная новость — вам не надо принимать решение сразу. В действительности, сначала рекомендуется поставить PmWiki обычным(одиночным) образом и пользоваться ей. Создавайте и правьте страницы. Осваивайте новые рецепты. Опробуйте группы (возможно их хватит полностью).

Как только вы решили, что вам нужна дополнительная вики, у вас есть два варианта на выбор:

  1. Сделать полную установку PmWiki в новой папке. Это даст вам полностью независимые вики абсолютно самодостаточные. Это не вики ферма.
  2. Сделать вики ферму пользуясь имеющейся вики как "базовой" в которой будут находиться общие компоненты вики.

Выбор номер один может быть удачным по нескольким причинам:

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

Если вы выбрали сделать вики ферму, то тогда продолжайте читать...

Предпосылки

Прежде чем создать ферму убедитесь что:

  • у вас есть работающая установленая PmWiki готовая стать базой для вашей фермы;
  • все вики на вашей ферме будут размещены на одном веб сервере;
  • каждая вики обладает собственным URL, таким как http://www.example.com/wiki1/, http://www.example.com/wiki2/, http://another.example.com/wiki1/ и такд далее.

Создание базы вики

К этому моменту вы обладаете работающей PmWiki, не так ли? Это хорошо, потому что эта вики станет базовой вики для вашей фермы.

В папке содержащей существующую вики создайте файл local/farmconfig.php. Этот файл используется для хранения любых местных подстроек воздействующих на всю ферму. Например, вы могли бы назначить пароль администратора в farmconfig.php используемый всеми вики на вашей ферме.

Если URL используемый для доступа к имеющейся вики это http://www.example.com/pmwiki/, тогда наипростейший файл farmconfig.php будет выглядеть так:

    <?php if (!defined('PmWiki')) exit();
      $FarmPubDirUrl = 'http://www.example.com/pmwiki/pub';

Этот код заполняет переменную $FarmPubDirUrl значением URL папки pub/ вашей базовой вики. Все вики вашей фермы совместно используют эту папку. Папка pub/ хранит определения скинов и кнопки GUI-редактора и являются общими для всех вики на ферме.

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

Добавление вики на вашу ферму

1. Сделайте папку для новой вики. Она должна быть доступна через веб, так же как и папка с базовой вики.

2. Создайте в ней файл с именем index.php со следующим содержимым:

    <?php include('путь/до/pmwiki.php');

Это позволяет новой вики пользоваться кодом PmWiki из базовой вики. Путь/до/pmwiki.php — это путь к файлу pmwiki.php из вашей базовой вики. Путь к файлу может быть прямым(/home/username/pmwiki/pmwiki.php) или относительным(../pmwiki/pmwiki.php). Не используйте URL путь — в нём не должно быть конструкции подобной 'http://'. Для веб сервера под Windows вам надо использовать полный путь к файлу(C:/Apache Group/Apache2/www/mynewwiki/).

3. Откройте в веб броузере URL новой вики. Этот адрес будет начинаться с 'http://'. При этом PmWiki автоматически попытается создать папку wiki.d/ для хранения страниц вики с корректными правами. Если вы видите сообщение об ошибке, то следуйте указаным инструкциям. Если вы выберете опцию "слегка более безопасной установки"("slightly more secure installation") убедитесь, что обе команды выполнены.

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

Подстройка

Каждая вики с фермы наследует настройки хранящиеся в farmconfig.php. Для воздействия на всю ферму (все вики) делайте подстройки в файле farmconfig.php.

Для хранения местных подстроек воздействующих только на одну вики в папке каждой вики создайте папку local/. Подстройки действующие на все вики обрабатываются до индивидуальных подстроек вики.

Переменная PmWiki $FarmD указывает на папку в которой установлена pmwiki.php и ваша базовая вики, и она используется как префикс для доступа других вики к общим компонентам PmWiki. Например:

  • $FarmD/scripts/ указывает на общую папку scripts/
  • $FarmD/pub/ указывает на общую папку pub/
  • $FarmD/cookbook/ указывает на общую папку cookbook/

Замечания

  • Невозможно упомнить, что не все рецепты из рецептурника были написаны и протестированы в контексте ферм. Обязательно убедитесь что вы просмотрели инструкции о применении рецепта на ферме.
  • Есть множество, множество других вещей которые можно сделать с фермами. Некоторые описаны в WikiFarmsAdvanced, которая также содержит ссылки на шаг-за-шагом примеры насройки фермы.

<< Интернационализация | Документация | Собственный InterMap >>

Перевод страницы PmWiki.WikiFarms — Оригинал перевода PmWikiRu.WikiFarmsСсылаются
PmWikiRu.WikiFarms: редакция от 13.07.2021 09:52
PmWiki.WikiFarms: редакция от 03.07.2022 01:00