Несколько экземпляров MediaWiki на одном сервере
Нам нужно запустить несколько вики MediaWiki, для которых нужны совершенно разные учетные записи пользователей, на одном сервере. Что было бы лучшим решением:
- Используйте отдельный исходный код и используйте пространства имен в базе данных.
- Используйте один и тот же исходный код в соответствии с этим, по сути, вы создаете настраиваемый файл localsettings.php для каждого сайта, который содержит информацию о конкретном сайте, и у вас есть основной файл localsettings.php, который в зависимости от URL отправляет вас на соответствующий сайт LocalSettings.php
- Символическая ссылка на весь исходный код, кроме 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 .