虽然非常相似,但是在不同的Linux发行版(Ubuntu,CentOS / RHEL,Debian)上安装软件包时,我常常在httpd目录中find文件位置的重要区别。有些文件有一个单独的conf文件目录,在httpd根目录中,有些已经创build了已启用/已禁用的站点的虚拟主机文件夹等。
为什么有这么多的差异,这些差异是否有一些参考?
每个发行版都倾向于生成遵循发行版惯例的软件包(所以Debian会将configuration文件放在/ etc / apache2中,/ var / www中的默认web根目录,/ usr / lib / apache2中的库/模块等等)。 这有助于确保特定发行版的用户在他们所期望的位置上find事物(例如,如果它是我知道在/ etc / config文件中查找的Debian盒)。
没有中央参考资料:对于每个发行版,您需要查看发行版的文档,找出试图放置的地方。
Linux文件系统的标准文件确实存在, http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard 。 随着分布的发展,他们最终创造出了自己的标准。
只是为了使事情复杂化,如果您查看Apache httpd源代码附带的config.layout文件,您将会看到即使它有各种可用的布局。
只要apache的httpd实例有一个主configuration文件,那么appache的diretory结构就不重要了。 所有需要Apachefunction的目录结构都是在conf文件或其中一个包含的conf文件中定义的。 你必须遵循发行版希望你使用的目录结构。 通过清除conf文件中的什么位置并确保它在那里可用,您可以通过按照您希望的方式来调整目录结构来覆盖它。 不要认为apache如果被告知重组将会自动移动你的情况。 它不会。 这是你的工作,告诉哪里是每个内容,你必须移动到所需的approprite位置。 您甚至可以将主configuration文件位置和条目更改为无论您想要的。 除了httpd进程应该被暗示,以便能够正确地find并加载。 为了做到这一点,使用-a选项与Apache二进制文件,并提供主要的conf文件的位置。 我认为不可能比这个软件更优秀。