DokuWiki

It's better when it's simple

Инструменты пользователя

Инструменты сайта


ru:farms

Вики-фермы

Вики-ферма - коллекция независимых дочерних вики («животных»), запущенных на одном веб-сервере и опирающихся на один родительский вики-движок («фермера»). Фермер имеет единый пакет плагинов и шаблонов, а каждое из животных может пользоваться из него индивидуальным набором плагинов, независимым от прочих шаблоном и различающимися настройками. Эта концепция в контексте других CMS также называется «мульти-сайт», «мульти-домен» или «суб-сайты».

Есть несколько способов настройки вики-ферм на ДокуВики. Эта страница описывает только простой и самый прямой способ запуска вики-фермы. Более продвинутые настройки и советы описаны на отдельной странице.

Термины

  • Когда речь идет о вики-ферме, <описывает всю установку, содержащую все ниже>. Как правило, на одном сервере возможна только одна вики-ферма.
  • Фермером (aka материнской вики) является текущая установка ДокуВики. В ней находится весь код, там вы устанавливаете плагины и шаблоны, которые будут обновляться в новых релизах. На одной вики-ферме возможен только один фермер.
  • Настройка каталога фермы - требуется, чтобы создать вики-ферму. Это физически родительский каталог всех животных на вашем сервере. Также в единственном экземпляре.
  • Животные (aka дочерние вики) - отдельные экземпляры вики. Это означает, что их может быть много, но каждая из них будет содержать только свои данные и конкретные конфигурации, никакого дублирования кода движка.

Настройка каталога

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

  • /var/www/dokuwiki - движок ДокуВики, должен быть доступен из Интернета
  • /var/www/farm - вики-ферма, которая содержит всех животных

В каталоге фермы количество животных не ограничено, например:

  • /var/www/farm/animal - одна вики
  • /var/www/farm/example.com - другая вики

Два разных варианта настройки

Есть два разных варианта настройки: на основе виртуального хоста и .htaccess.

Метод виртуального хоста (или 'виртуального веб-сервера'). Можно настроить доступ к фермеру через «wiki.mydomain.net», а к вики о программировании - через «programming.mydomain.net», при этом они будут располагаться на одной и той же машине.

Метод .htaccess (или 'серверного скрипта'). <Небольшой сценарий рассказывает веб-сервер, как обращаться каталог уровне Каждая вики верхнюю разному, что позволяет независимо вики>. В этом случае «www.mydomain.net/dokuwiki/» может быть стартовой для фермера, а «www.mydomain.net/programming/» - для учебника по программированию.

Несмотря на это различие, оба метода требуют определенную форму конфигурации сервера.

!!! Дальше только отформатировано по образцу farms. Гуглотранслейт во всей красе

Метод виртуального хоста

  • Что для настройки: виртуальные хосты с помощью httpd.conf в Apache, или панель управления вашего хостинга.
  • Итоговый URL: что-либо вроде example.com, subdomain.example.net или test.example.org:8080/foo/bar/.
  • Преимущества:
    • Это может создать гораздо более гибкие URL-адреса, которые не зависят от базовой файловой структуры.
  • Недостатки:
    • Возможность создавать виртуальные хосты не всегда доступна. Некоторые из них (особенно дешевые) хостинг-провайдеров не позволит.

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

Для окон, вам нужно будет изменить файл «C:\Windows\System32\Drivers\etc\hosts»; в большинстве установок, вы должны будете иметь доступ администратора для редактирования этого файла.

Для Linux и других Unix-подобных системах, вам нужно будет отредактировать файл »/etc/hosts«.

Для любой системы, вам нужно будет добавить:

127.0.0.1	farm-animal.mydomain.net

(Где фермы животное имя новой вики и mydomain.net подходит для вашей системы.)

Этот метод будет работать только при подключении от одной и той же машине; другие системы не будут автоматически знать дополнительного имени машины.

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

Метод .htaccess

  • Что для настройки: .htaccess
  • Итоговый URL: только «подкаталоги» одного домена и фермы, например, example.com/farm/cat или example.com/farm/dog, но с более сложной установки почти той же гибкостью, как и другие настройки можно
  • Преимущества:
    • Если виртуальные хосты не поддерживается хостинг-провайдера, это единственно возможное решение.
  • Недостатки:
    • файлы .htaccess не всегда поддерживается некоторыми хостинг-провайдеров. Но это решение, скорее всего, будет поддерживаться, чем виртуальных хостов.

Как создать ферму

0. Предпосылки

В дальнейшем мы предполагаем, что вы уже установили стандартную ДокуВики. Пожалуйста, убедитесь, либо установить его должным образом, так что он работает как обычный вики или удалить install.php по соображениям безопасности.

1. Создайте каталог фермы

Создайте пустую папку с именем /var/www/farm. Это будет ваш каталог фермы и должен быть доступен для записи веб-сервером. Это должны быть защищены таким же образом, Вы защитите нормальную ДокуВики.

2. Активируйте ферму

Переименуйте ./inc/preload.php.dist в ./inc/preload.php, откройте его и уберите две соответствующие строки и установить каталог фермы, так что это выглядит так:

// set this to your farm directory
if(!defined('DOKU_FARMDIR')) define('DOKU_FARMDIR', '/var/www/farm');
 
// include this after DOKU_FARMDIR if you want to use farms
include(fullpath(dirname(__FILE__)).'/farm.php');

Примечание: Если ваша ДокуВики старше версии Адора Белль (2012-10-13), эти два файла будут отсутствовать. Вы можете скопировать их отсюда: farm.php и preload.php.dist.

Примечание: Путь, который вы вводите для DOKU_FARMDIR возможно, должны быть основаны на «истинной» путь к каталогу сервера (как показали по PHP переменной $_SERVER['DOCUMENT_ROOT']). Иногда использование символической ссылки не работают. Например, даже если вы обычно доступ к каталогу фермы серверов, так »/public_html/farm«, вы, возможно, потребуется ввести что-то вроде »/home/<htmlusername>/public_html/farm«.

3. Добавьте животное

Извлеките этот шаблон животного в каталоге фермы. Это каталог, который включает в себя пустую data и предварительно заполнены conf каталог.

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

  • Настройка виртуального хоста нужно имена каталогов животных, которые отражают их URL. Например subdomain.example.com работает с папку с именем subdomain.example.com. 1)
  • .htaccess Установки необходимо имена каталогов животных так же, как их называют в URL. Например example.com./farm/cat понадобился бы каталог животного под названием cat. Если вы используете отдельный файл .htaccess для каждого животного, можно указать название животного там.

В случае, если вы будете использовать установки .htaccess основе, необходимо раскомментировать и изменить вашего животного $conf['basedir'] в conf/local.protected.php в пути в URL, при которых животное может получить доступ.

4. Добавьте необходимых настройках сервера

Если вы не привыкли к конфигурации сервера, это только сложнее немного. FIXME Это и ниже требует доработки.

а. Метод виртуального хоста

Для этой установки вы должны настроить виртуальный хост для каждого нового животного в панель управления хостингом или httpd.conf. Вот пример httpd.conf для subdomain.example.com:

NameVirtualHost *
 
<VirtualHost *>
    ServerName subdomain.example.com    # this is the URL of your wiki animal
    DocumentRoot /var/www/dokuwiki/     # the document root always needs to be the DokuWiki *farmer* directory
</VirtualHost>

На большинстве общих условиях хостов вам нужно всего лишь добавить имя сервера (нужный домен с или без поддомена) и корень документа (всегда указывает на директорию Farmer) через их GUI.

б. Метод .htaccess

Это .htaccess файл должен быть помещен в каталог фермы. Не забудьте включить .htaccess в конфигурации Apache (AllowOverride All)

.htaccess
RewriteEngine On
 
RewriteRule ^/?([^/]+)/(.*)  /dokuwiki/$2?animal=$1 [QSA]
RewriteRule ^/?([^/]+)$      /dokuwiki/?animal=$1 [QSA]
Options +FollowSymLinks

Измените /dokuwiki/ на путь к фермеру.

5. Поменяйте админский пароль

Готово, теперь вы можете просто пойти в URL вашего животного (или subdomain.example.com или example.com/farm/animal/ в зависимости от настроек).

:!: Как шаблон для животных включает учетной записи по умолчанию в «Admin» пользователей с паролем «admin». Пожалуйста, измените пароль администратора как можно скорее. Просто войдите с admin/admin, перейдите в раздел «Управление» > «Диспетчер пользователей», нажмите на пользователя с правами администратора и изменить его пароль ниже. Вы должны также изменить адрес электронной почты администратора.

Как добавить больше животных

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

Обсуждение

Вы можете добавить вопросы и запросы на странице обсуждения (англ.)

1)
Но это также будет работать с любой другой из следующих имен каталогов: example или example.com
ru/farms.txt · Последнее изменение: 2023-02-28 21:00 — Aleksandr

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki