Я хочу установить MediaWiki на производственный сервер (после тестирования на одном из разработчиков). Я не мог понять, почему по умолчанию для файлов MediaWiki используется /var/lib/mediawiki
. Я бы подумал, что /var/www
имело бы больше смысла.
Я провел некоторое исследование, и в Руководстве по политике Ubuntu, Глава 11 - Индивидуальные программы, 11.5 Веб-серверы и приложения говорится следующее:
Корень веб-документа
Веб-приложения должны стараться избегать хранения файлов в корне веб-документа. Вместо этого они должны использовать каталог / usr / share / doc / package для документов и зарегистрировать Web-приложение через пакет doc-base. Если доступ к корню веб-документа невозможен>, используйте
blockquote>/var/www
Почему это так?
Ваш пользовательский контент действительно идет в /var/www
- где вы можете редактировать файлы, перемещать их и т. Д.
Однако PHP (и другие) приложения из репозиториев пакетов могут устанавливать свои внутренние библиотеки в /usr/share/packagename
и /var/lib/packagename
, чтобы лучше соответствовать другим (не веб) приложениям. См. Этот список содержимого пакета MediaWiki .
Кроме того, пакеты могут публиковать свою HTML (и другую) документацию на вашем локальном веб-сервере, если вы используете его. Стандартная конфигурация Apache & nbsp; 2 в Ubuntu позволяет получить доступ к системной документации с локального хоста в каталоге /doc
. Однако это другая тема.
Похоже, что мы унаследовали эту политику от Debian. Похоже, что самое близкое обсуждение этой политики я могу найти в обсуждении в 2003 году.
Однако я нашел новый проект политики (см. Раздел 3.1), в котором, как представляется, есть больше деталей, которые могут помочь решить ваш вопрос. В нем конкретно упоминается Стандарт иерархии файловой системы . В соответствии с этим /usr/share/doc
включает в себя «независимые от архитектуры (совместно используемые) данные», которые включают веб-страницы, которые пользователь не может изменять.
Поскольку Mediawiki является редактируемым пользователем, /var/lib/mediawiki
будет местом для этого, так как FHS говорит, что /var/lib
- это место для «информации о состоянии». Постоянные данные, изменяемые программами при их запуске, например, базы данных , метаданные системы упаковки и т. д. »и в руководстве говорится:
Пользователь загружал контент
Уникальный подкаталог / var / lib / PACKAGE
Оставшаяся часть руководства объясняет, что зависит от архитектуры (например, PHP и Perl).
Эта информация помечена как Черновая, поэтому я не уверен, применяется ли она в Debian. Я ожидаю, что если бы это была последняя политика, мы бы, вероятно, унаследовали ее от Debian.
Так что я предполагаю, что частичный ответ таков: «FHS так говорит, а Debian следует так, как мы». Я (к сожалению) не могу найти какую-либо информацию об обосновании / причинах, по которым FHS такой, какой она есть в этом отношении, возможно, кому-то еще повезет, найдя эту информацию и добавив ответ.