ajs*_*sie 45 ubuntu apache-2.2
我应该使用这两个文件中的哪一个来配置 Apache?
该httpd.conf是空的,而apache2.conf不是。
这让我很困惑!
小智 47
httpd.conf 是为用户配置而设计的。你真的不应该编辑 apache2.conf 因为它可能会被未来的升级更新。
另一个选项是将您的自定义配置放入/etc/apache2/conf.d,该目录中的所有文件也包括在内。
Pow*_*ord 21
这些不是您唯一的选择。在 Ubuntu/Debian 上,Apache 还处理其中的所有文件/etc/apache2/sites-enabled/(应该是sites-available/目录中文件的符号链接,由a2ensite和a2dissite程序管理)
您打算将这些目录用于VirtualHosts。
Apache 软件基金会发布了许多软件,其中之一是名为httpd. httpd 项目源包括一个httpd.conf示例配置文件,默认安装在/usr/local/etc/httpd或中/etc/httpd。您会发现在大多数系统上 httpd 都是这样命名的。
然而,很久以前,Debian GNU/Linux 发行版中的某人决定将该发行版中的软件名称从 更改httpd为apache2. 因此,在 Debian 系统上,您将apache2.conf在名为 的目录中找到一个名为 的配置文件/etc/apache2。我不知道是谁这么做的,也不知道为什么这样做,但这就像将 Windows 称为“Microsoft”或将 ESXi 称为“VMware”一样,是一个长期令人困惑的根源。基于 Debian 的发行版,例如 Ubuntu,继承了这种奇怪的特性。更奇怪的是,他们随后包含一个文件/etc/apache2/httpd.conf,用户可以Include从中apache2.conf放置自定义配置。
所以答案是,如果您使用的是基于 Debian 的系统,您就会专心按照 Debian 希望您做的方式做事。否则,您通常会按照上游 httpd 项目的正常方式执行操作。
apache2.conf 包括 httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Run Code Online (Sandbox Code Playgroud)
我认为 httpd.conf 已被弃用,但只是留给保守派的人,以便他们找到解决方法...... :)
编辑:
阅读 Rob 的回答后,我做了一个更好的 grep:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Run Code Online (Sandbox Code Playgroud)
用户配置是...
| 归档时间: |
|
| 查看次数: |
74902 次 |
| 最近记录: |