我习惯在子目录中设置客户端网站,例如/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 虚拟主机。