我想将 Ubuntu 服务器用作 Web 服务器,但我想确保遵循最佳实践进行设置。我想确保将目录设置在最佳位置,并了解如何在该文件夹上配置适当的安全性。我希望能够通过 FTP 到服务器并将文件推送到 Web 文件夹中,因此我想了解如何确保我的 PureFTPd 用户可以操作 Web 文件夹中的文件/目录。
我想将 Ubuntu 服务器用作 Web 服务器,但我想确保遵循最佳实践进行设置。我想确保将目录设置在最佳位置,并了解如何在该文件夹上配置适当的安全性。我希望能够通过 FTP 到服务器并将文件推送到 Web 文件夹中,因此我想了解如何确保我的 PureFTPd 用户可以操作 Web 文件夹中的文件/目录。
我在我的服务器上所做的,以便我的用户可以直接 sftp 进入
/var/www
的是:这会将您的用户放入对 /var/www 及其所有子目录具有组所有权的组中,递归地设置 /var/www 中的所有内容以允许您的组写入访问权限,并在 /var/www 目录上设置 setgid 位这样以后在 /var/www 下创建的所有文件都保持相同的组所有权,而不是将组设置为创建者的主组。
这是一个非常普遍的问题。
显然,您不想以 root 身份运行您的 Web 服务器。但是,Ubuntu 安装已经以正确的方式做到了这一点。
此外,在 apache 网站上有一些提示如何正确配置您的目录。
关于ftp。您要确保使用安全的 ftp 服务器,该服务器不会通过网络以纯文本形式发送您的用户名和密码。Ubuntu 帮助页面有一个教程如何设置这样的 ftp 服务器。
当我只有一个 Ubuntu 服务器,并且有多个用户使用该服务器作为 Web 服务器时,我会废弃该
/var/www
目录,因为对我来说 -/var/www
是您在全球范围内放置 Web 文件的地方。我更新/etc/skel
目录并添加一个带有符号链接的文件夹public
并更新我的所有虚拟主机 DocumentRoots 以指向.private
www -> public
/home/<user>/public
我不认为
/var/www
是放置多个用户级文件夹和文件的地方。这就是/home/
目录的设计目的!它使路径和目录结构保持干净。