在 Linux 层次结构中,保存共享开发者网站文件的最佳位置是哪里?

在 Linux 层次结构中,保存共享开发者网站文件的最佳位置是哪里?

提供 html 和 php 文件

我刚刚开始在服务器上托管网站文件,但我不知道将它们保存在哪里以让多个用户访问是合适的。
当我开始托管网站时,我将网站文件放在:/var/www/name.of.virtualhost.site/www/

为了方便和简单起见,我直接从签出的存储库进行部署,因此要更新网站代码库,另一个开发人员或我只需签出文件的最新版本即可使所有内容保持最新(在本例中,使用 git)。但是,存储库的根目录中有一些文件,我更希望它们是非公开的。

目前情况显然并非如此,因为最终公共 /www/ 文件夹下面的任何内容在默认域或 IP 上也可用,因为 /var/www/ 内容已由 apache 默认提供。例如,/var/www/name.of.virtualhost.site/docs/site_policies.txt可通过类似 的某个 URL 访问 defaultsite.com/name.of.virtualhost.site/docs/site_policies.txt

那么在 Linux 上哪里是存储网站文件更好的地方呢?

如果网站只有我一个人在开发,我显然可以将它们放入其中/home/my_username/sites/name.of.virtualhost.site/,但当我希望其他开发人员查看存储库并有时也编辑网站文件时,这种方法就不太好用了。而且我正在运行 LAMP 堆栈,但我认为这并不重要。

答案1

对于您的问题,没有一种万能的答案。/tmp 可供所有用户访问,但不是放置此类文件的合适位置。

我不确定为什么您没有使用适当的版本控制,因此所有开发人员都在各自的开发环境中进行开发,然后推送到主存储库。

如果您指的是开发框(您没有说),那么请在某个地方(如 /usr/local/src)创建目录,并使其可由所有开发人员所属的组写入。然后创建一个部署脚本,将需要公开访问的文件放在 Web 根目录下。

答案2

新的热点是/srv

答案3

/srv 已开始用于 Web 服务器等。但是,由于您使用的是 apache,因此您可以在默认虚拟服务器上阻止对 /var/www/www.example.com 的访问。

使用 Apache,您可以通过 IP 或密码逐个目录限制访问。如有必要,您还可以要求匹配 IP 和密码。除非您正在从 Web 服务器上的进程修改文件,否则目录和文件不应由 Apache 服务器用户 ID 拥有或可写入。

答案4

/home/<user>/<repo>每个用户的结账

/srv/git/<repo>对于你的主仓库(将 redmine/trac 指向此处)

/usr/local/bin/deploy.sh非常简单的脚本,用于从中央 git 存储库“部署”到实际的 Web 服务器环境。尝试将其保持在 5 行 bash 以内,或者查看 Capistrano。

/srv/www/<vhost>/为您的网站

相关内容