Laravel 生产环境的 ownership 和 permissions 设置

我在部署 Laravel 应用到生产环境时遇到一些问题,在此向大家请教:
remote 端网站目录为 /path/to/project
已经设置:
sudo chown -R www-data:www-data /path/to/project
sudo chmod -R 755 /path/to/project

  1. 从 terminal 登录的用户在 remote 上的网站目录中无权执行 composer install 等命令来 download 依赖
  2. 使用 sudo composer install 又被警告不要使用 root 权限执行此操作,但仍可以执行
  3. 使用 sudo 后,生成的 vendor 文件夹的 owner 是 root,还需要重新 chown 来更改 owner,麻烦
  4. 服务器生产环境下应该怎样配置 ownership 和 permissions 才会既保障安全性又不失灵活性。

谢谢。

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。