我正在设置一个全新的 RHEL/Apache 安装。DocumentRoot(网页文件)应该是 /var/www/html 还是 /home/httpd。我注意到了这两个目录,但不确定哪个更合适。
答案1
/var/www/html 是文件存放的位置。/home/httpd 是一个非常传统的位置,是 apache 1.x 时代的默认位置,但大多数软件、您安装的任何 RPM 包等都会假定您的 webroot 位于 /var/www 下。此外,默认的 SELinux 规则默认会自动标记 /var/www 下的文件,这样可以简化您的管理,而不会违背常规。
答案2
主要的区别在于磁盘如何分区。
- 如果您想要一个位于 RAID 上或定期备份的 /home 分区,您可能希望将网站的数据放在该分区上。
- 如果您的 /var 位于 RAID 上或正在定期备份,独立于 /home,那么您可能希望将网站的数据放在 /var 上,特别是如果您有其他重要服务将其数据存储在 /var 上(例如 bind、postfix、cyrus、数据库等)。
- 如果您不备份任何内容而只是将 /home 和 /var 放在单独的分区上,则需要将用户数据 (/home) 与系统数据 (/var) 分开。
- 如果 /home 和 /var 位于同一分区,那么这并不重要。
答案3
两条路都是不错的选择,但不是强制性的。
事实上,服务器的标准是 /var/www,如果启用了 userdir_mod,则标准是 /home/users*。
但我没有使用它,请允许我解释一下:)
这文件系统层次标准描述:
/var包含可变数据文件。这包括假脱机目录和文件、管理和日志数据以及瞬时和临时文件。
/家是一个相当标准的概念,但它显然是一个特定于站点的文件系统。设置因主机而异。因此,没有
程序应该依赖此位置。/srv包含此系统提供的特定站点数据。
我将 /var/www 保留为默认的 VirtualHost,并带有精彩的“它起作用了!”页面或重定向。
另一个 VirtualHost DocumentRoot 指向
/srv/nameserver/cli/customernumber/domain/www80
一般/srv/nameserver/cli/customernumber是客户拥有的硬盘分区的挂载点,本地或NFS,如果客户不需要执行cgi,我会在fstab中使用noexec选项挂载,即:
LABEL=c128 /srv/cli/c128 ext4 rw,noexec,nosuid 0 2