尝试建立具有有限用户权限和自动化部署的安全多用户环境。该示例已简化以表达该想法。
Docroot:/var/www/site/staging/current/public
部署用户site-staging:staging
主目录: /home/site-staging
部署工具创建两个目录 - 发布和当前。Current 是指向发布子目录的符号链接,该子目录在每次站点更新时都会更改。
然后当前mount -a
指向实际安装发布目录的文档根目录,因为您无法安装符号链接。
#/etc/fstab
/var/www/site/staging/current /home/site-staging/current none rw,bind
请记住,当前目录是一个符号链接,每次部署/更新站点时都需要卸载和重新安装。
如何将部署用户限制到他们的主目录(chroot),同时自动将当前目录挂载到 docroot?
那是唯一的选择吗?有更好的策略吗?
您可以使用您的主目录 /home/site-staging/current 作为您的 docroot。然后,每次您部署并重新创建指向您的版本的当前符号链接时,您的站点都会更新。