我刚开始在我的服务器上托pipe一个网站的文件,我不确定哪里是适当的地方让他们为多个用户提供访问。
当我开始托pipe网站时,我把网站文件放在: /var/www/name.of.virtualhost.site/www/ 。
为了方便和简单,我直接从检出的存储库进行部署,所以为了更新网站代码库,另一个开发人员,或者我只需要检查出最新版本的文件,以使所有的东西都是最新的(使用git,在这案件)。 但是,存储库的根目录中有我更喜欢非公开的文件。
现在显然不是这种情况,因为缺省域或ip上的任何低于最终公共/ www /文件夹的内容都是可用的,因为/ 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堆栈,并不是我期望的那么重要。
没有一个适合你的问题的答案。 / tmp可以被所有的用户访问,但是把这样的文件放在一个不好的地方。
我不知道为什么你没有使用适当的版本控制,所以所有的开发人员都在各自的开发环境中开发,然后推到一个主存储库。
如果你指的是一个开发盒(你没有说),那么在/ usr / local / src这样的地方创build一个目录,并把它设置为所有开发者所属的组。 然后创build一个部署脚本,使需要在Web根目录下公开访问的文件。
新的热点是/srv 。
/ srv已经开始用于Web服务器之类的东西了。 但是,由于您使用的是Apache,因此可以阻止对默认虚拟服务器上的/var/www/www.example.com进行访问。
使用Apache,您可以通过目录或ip或密码来限制访问目录。 如有必要,您还可以同时要求匹配的IP和密码。 除非您正在修改Web服务器上的进程的文件,否则这些目录和文件不应由apache服务器用户标识拥有或写入。
我真的不明白你在问什么。
根据FHS,服务器提供的文件应该放在/srv下。 但为什么几个用户需要访问这些?
我build议你开始使用版本控制,并给开发人员访问。
然后使用脚本或func或capistrano自动部署。
给那些需要引导部署的权利。 也许使用持续集成,只有在所有testing通过之后才可能。
/home/<user>/<repo>每个用户的结帐
/srv/git/<repo>为您的主回购(点redmine / trac在这一个)
/usr/local/bin/deploy.sh非常简单的脚本,从中央git仓库“部署”到实际的web服务器环境。 试着把它保持在5行之下,或者看看Capistrano。
/srv/www/<vhost>/为您的网站