我处于一个涉及 Apache 和 Tomcat 6 的混乱境地。我使用 Apache 服务 PHP 项目。
我使用 Tomcat 来运行 Solr,这是一个用于搜索的 RESTful 接口。我将PHP 应用程序内的 Solr 索引。这很有用,因为与项目相关的所有代码和数据都存储在一个目录中。而且它在我们的 Windows 开发机器上运行顺畅。
但在我的 Linode Ubuntu VPS 上,情况就变得棘手了。我以根使用 SSH,并且我在该会话中写入的所有文件均归根。 但是之后,
- 所有 PHP 目录都需要可由www-数据,Apache 以此身份运行。
- Solr 索引需要可读可写tomcat6,Tomcat 以此身份运行。
因此,我部署新项目的流程是:
- 登录身份根使用 SSH 并将文件复制到 www
- 使用 chown 使项目归www-数据
- 使用 chown 使 Solr 索引子目录归tomcat6
让这一切变得简单的明显方法是创建一个新用户二十并运行 Apache 和 Tomcat二十并将其上传至 SSH二十。有什么好的解决方案,以便我可以简单地上传文件,以便 Apache 和 Tomcat 都可以直接使用它而无需任何进一步的设置?
答案1
将 www-data 和 tomcat6 放在同一组中,并将您的用户(或 root)添加到该组。
sg
这样umask
,您复制的文件就会获得正确的组并且是 g+rw。