使目录可写的最佳方法是什么(在EC2上部署应用程序)?

时间:2012-10-19 02:07:52

标签: php amazon-ec2 amazon-web-services

在Elastic Beanstalk,EC2上部署了PHP应用程序,我一直在使用git和eb来管理我的环境实例和所有文件。我需要更改文件目录的权限,使其可写,但git不负责传输目录权限。从mac完成这项工作的最简单/最快的方法是什么?

Filezilla需要很长时间才能配置。我可以SSH到我的EC2实例,但仍然不知道如何更改我的目录的权限。

2 个答案:

答案 0 :(得分:2)

通过SSH登录并输入next。

更改权限:

sudo su - # log-in as superuser*
chmod 755 /path/to/your/directory
# If you just want to allow Apache to write in directory then set 666 permissions

**如果您是目录的所有者,则无需以超级用户身份登录。*

如果您需要,请更改所有者:

sudo su -
chown user:group /path/to/directory

<强>更新

感谢jamieb在评论中进行更正。我真的没有回答gtech的特定问题:

  

如何更改目录的权限

但在我看来,最好是给予例如权限。 apache(或www-data)用户指向您要写入的目录,以避免此类问题。

答案 1 :(得分:1)

您必须在应用程序本身内执行此操作。在你的情况下,在写操作周围抛出一个try / catch块可能是最有意义的,如果抛出异常,使用PHP的chmod()函数调整权限。

仅供参考,你很可能不想这样做。持久性数据需要存储在数据库或S3中(如果是文件)。在每个实例的文件系统中本地存储数据是在下次执行代码部署,发生自动调度事件或重建环境时丢失数据的好方法。它也可能导致问题,因为您永远不会确定哪个实例为Elastic Load Balancer提供服务。