DocumentRoot:'/var/www/html' 还是 '/home/httpd'?

DocumentRoot:'/var/www/html' 还是 '/home/httpd'?

我正在设置一个全新的 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

相关内容