Несколько экземпляров MediaWiki на одном сервере

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

  1. Используйте отдельный исходный код и используйте пространства имен в базе данных.
  2. Используйте один и тот же исходный код в соответствии с этим, по сути, вы создаете настраиваемый файл localsettings.php для каждого сайта, который содержит информацию о конкретном сайте, и у вас есть основной файл localsettings.php, который в зависимости от URL отправляет вас на соответствующий сайт LocalSettings.php
  3. Символическая ссылка на весь исходный код, кроме localsettings.php и любых других соответствующих файлов из главной папки.

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

Для чего это стоит, он будет работать на сервере Ubuntu, Apache с разбрызгиванием на nginx и MySQL

5 ответов

Решение

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

Если вы действительно знаете, что у вас никогда не будет пользовательских расширений / тем в одной, но не в других вики-страницах, тогда 3. кажется лучшим выбором, чем 2, но имейте в виду папку для загрузки (в LocalSettings есть настройка для укажите путь)

В любом случае обновления Mediawiki - пустяк, поэтому я запускаю 2 совершенно разных экземпляра, включая копию каталога плагинов и копию (не символическую ссылку) файла LocalSettings.php. Несколько лет назад я обнаружил, что попытка сэкономить несколько минут при запуске 2 обновлений обойдется мне в дни, чтобы правильно его настроить, поэтому я просто больше не беспокоюсь:)

2 БД, 2 экземпляра кода. Просто. тогда вы можете очень легко экспортировать и импортировать их, например, на один день, когда захотите объединить их вместе.

Установка MediaWiki - это не что иное, как дерево каталогов и связанная база данных. Вы можете запустить столько параллельных установок, сколько захотите. Любая часть файловой базы, которая должна быть разделена, может быть сделана с использованием символических ссылок. Это становится сложным, только если вы хотите поделиться частями базы данных, и, поскольку это может стать односторонним путем к катастрофе, вам будет разумно избегать этого.

Ну, это новее, чем любой из ответов здесь..

https://sharkysoft.com/wiki/how_to_configure_multiple_MediaWiki_instances_on_a_single_host

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

Для MediaWiki v1.21.2 у меня не было AdminSettings.php удалить, а config папка на самом деле называется mw-config, Мне также пришлось вручную создать нового пользователя mysql для нового БД через командную строку (используя для этого исходного пользователя).

предупреждение: для Debian apt установите MediaWiki (версия 1.35.8)

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

В версии 1.35.8 я обнаружил, что установщик apt использует /var/lib/mediawiki и содержит символические ссылки на /etc/mediawiki и /usr/share/mediawiki, что делает его уже не простым деревом каталогов, которое можно скопировать.

Указанные копии будут совместно использовать экземпляры:index.php включает img_auth.php композитор.jsonautoload.php api.php поставщика thumb.php Thumb_handler.php скины rest.php ресурсы opensearch_desc.php обслуживание mv-config load.php языки и, возможно, даже LocalSettings .php -> /etc/mediawiki/LocalSettings.php

Вместо этого загрузите с https://www.mediawiki.org/wiki/Download .

Другие вопросы по тегам