新的 Debian 10 服务器:在 /home/clientname/webapps/ 或 /var/www/clientname/webapps/ 中添加客户端网站?

新的 Debian 10 服务器:在 /home/clientname/webapps/ 或 /var/www/clientname/webapps/ 中添加客户端网站?

我习惯在子目录中设置客户端网站,例如/home/clientusername/、、webapps/等(对于 Apache 和 NGINX),以便客户端可以从他们的用户目录、他们的用户/组下管理自己的文件。html/cgi-bin/logs/

但是,似乎没有明确的指导关于将包含 Linux 网络服务器(在本例中为 Debian)等网站的用户目录放在哪里,/var/www/website_01/似乎那里有一个“默认”位置。

只有少数客户需要在用户特定目录中管理自己的网站,那么正确位置在 Debian 服务器上为用户指定目录(例如/home/clientusername/html/)来托管每个客户端的 Web 文件?不寻求意见,只寻求事实!

答案1

这取决于权限。使用 /var/www/website 方法,您最终可能会严重弄乱权限,从而导致 apache 或 NGINX 出错。如果您在服务器上为客户端创建用户,那么采用您的方法可能是更好的选择。如果您不打算为客户端设置 unix 用户,这可能不是一个好选择。此外,您最终可能会弄乱 /home 目录的权限,因为某些 Web 服务器需要文件夹根目录的权限。

答案2

的用法/var/www乍一看很容易令人困惑。

根据 FHS,网络服务器数据应发送到/srv。这是主要规则。

但是,它还说决定 的结构/srv是本地管理员的唯一责任!因此,软件包不得将任何东西放入/srv,并且默认文档根目录不得为/srv,因为 (apache) 软件包不知道/srv其内部和下方有什么。也许还有带有明文密码和其他内容的 subversion 存储库。因此, 之外必须有一个默认值/srv。该默认值变为/var/www

/var/www主要是占位符。软件包用于/usr/share静态 HTML 内容,或/var/lib用于动态变量内容。许多人错误地认为他们应该将 HTML 放入其中/var/www。这是一个问题,因为软件包偶尔也会使用它。所以最近他们发明了/var/www/html软件包。希望人们不会开始使用它,因为他们又必须发明一个新的目录……等等。

摘要:您应该/srv相应地使用和配置您的 Apache 虚拟主机。

相关内容