我希望在生产服务器上安装MediaWiki(在对开发服务器进行测试之后)。我真的不明白为什么 MediaWiki 文件的默认位置是/var/lib/mediawiki
. 我原以为/var/www
会更有意义。
我做了一些研究,在Ubuntu 策略手册的第 11 章 - 自定义程序、11.5 Web 服务器和应用程序中,它说明了以下内容。
网页文件根
Web 应用程序应尽量避免将文件存储在 Web 文档根目录中。相反 > 他们应该使用 /usr/share/doc/package 目录存放文档并通过 doc-base 包注册 Web >Application。如果访问 web 文档根目录是不可避免的 > 然后使用
Run Code Online (Sandbox Code Playgroud)/var/www
为什么是这样?
看来我们从 Debian继承了这个政策。我能找到的关于这项政策的最接近的讨论来自2003 年的讨论。
不过,我确实找到了一份新的政策草案(查看第 3.1 节),其中似乎包含更多细节,可能有助于解决您的问题。它特别提到了文件系统层次结构标准。据此,/usr/share/doc
包括“与体系结构无关(共享)的数据”,其中包括用户无法修改的网页。
由于 Mediawiki 是用户可编辑的,/var/lib/mediawiki
因此 FHS 表示这/var/lib
是“状态信息。程序运行时修改的持久数据,例如数据库、打包系统元数据等”的地方,并且手册上说:
用户上传的内容
/var/lib/PACKAGE 的唯一子目录
手册中的其余部分解释了与体系结构相关的内容(例如 PHP 和 Perl)。
然而,此信息被标记为“草案”,因此我不确定它是否在 Debian 中强制执行或待定。我预计,如果这是最终政策,我们很可能会从 Debian 继承它。
所以我猜部分答案是“FHS 这么说,Debian 遵循它,所以我们也这样做”。我(不幸的是)找不到任何关于 FHS 在这方面的理由/原因的信息,也许其他人会更幸运地找到这些信息并添加答案。
您的自定义内容确实会进入/var/www
- 您可以在其中编辑文件、移动文件等。
但是,包存储库中的 PHP(和其他)应用程序可以将其内部库安装到其他(非 Web)应用程序中/usr/share/packagename
并/var/lib/packagename
更好地适应其他(非 Web)应用程序。请参阅 MediaWiki 包内容列表。
此外,如果您正在运行软件包,软件包可能会在您的本地网络服务器上发布其HTML (和其他)文档。Apache 2 在 Ubuntu 上的默认配置允许从 localhost 的目录下访问系统文档/doc
。不过,这是另一个话题了。
归档时间: |
|
查看次数: |
21812 次 |
最近记录: |