我刚刚在我的计算机上安装了 Ubuntu 9.10 服务器版本,我希望与同一个 LAN 中的其他用户一起运行我自己的个人本地服务器。
首先,我想知道哪种文件夹目录结构最适合 Web 根目录?
我应该只使用:
/var/www/
并开始将网络文档扔到那里还是我应该在其他地方创建一个文件夹(可能是主目录)?
其次,在
/var/www/
目录中只有 root 用户可以创建文档,但是我希望其他用户能够在文档根目录中创建文件并通过 FTP 上传它们。我应该更改权限还是文件夹www/
?或者,我应该在其他地方以不同的权限创建文档根目录吗?这样做最安全的方法是什么?
答案1
我不同意华纳的观点,单身的网站使用/var/www
,但对于任何更复杂的东西,我创建子目录/srv/www
从你的问题来看,粗略的指导是:
aptitude install apache2
chmod g+w /var/www
adduser USER www-data
(针对每个用户)
然后让用户使用 SCP(请不要使用 FTP)上传文件。如果他们想要 GUI 客户端,请查看 FileZilla。
答案2
通常,对于仅为少数大型站点提供服务的服务器(例如在专业 IT 环境中),它们将包含在内/var/www
。
我将为每个单独的站点创建子目录。例如:
/var/www/example.com
/var/www/testing.com
/var/www/anotherexample.com
您所描述的听起来更像共享托管环境。使用共享服务器,我通常会在 public_html 中的主目录中配置每个用户的网站。如果他们有多个域,我会遵循与上述类似的约定,但在此目录中。我还会在主目录中但在 Web 树之外 将ErrorLog
和分开。CustomLog
执行官和和mod_suphp还建议防止用户的数据泄露给系统上的其他用户,并限制任何用户网站受攻击的范围。
如果用户没有域名,您可以使用主域中的子域或mod_userdir。
如果您不想采用更有组织的方法,我建议使用 /var/www 中的子目录、组和 SGID 位。不过,在几乎所有情况下,这都不是理想的方法。