executing commands in AWS ebextensions

允我心安 提交于 2021-01-27 07:25:45

问题


I receive the following error while trying to upload my instance in aws elasticbeanstalk:

The configuration file .ebextensions/setup.config in application version t5 contains invalid YAML or JSON. 
YAML exception: while scanning a quoted scalar in "<reader>", line 3, column 18: command: 
"aws s3 cp s3:elasticbeanstalk-u ... ^ found unexpected end of stream in "<reader>", 
line 5, column 1: ^ , JSON exception: Unexpected character (c) at position 0.. Update the configuration file.

Below is what is included in the setup.config file:

container_commands:
    01_setup_apache:
        command: "aws s3 cp s3:elasticbeanstalk-us-west-2-273610000489/enable_mod_rewrite.conf /etc/httpd/co

I am working with AWS elastic beanstalk and since I can't modify the httdp conf file to AllowOverride All in order to clean-up my URL with rewritte rule, I was suggested to work with ebextensions: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

Update:

enter image description here

I think what runs problem is this:

RewriteEngine On

located in htaccess. almost like it cant accept rewritenegine being turned on.

Update2:

In /var/log/httpd/access_log

In /var/log/eb-activity.log:

Command CMD-TailLogs succeeded.
[2015-07-10T10:25:09.784Z] INFO  [25589] - [CMD-TailLogs] : Starting activity...
[2015-07-10T10:25:10.206Z] INFO  [25589] - [CMD-TailLogs/AddonsBefore] : Starting activity...
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/AddonsBefore] : Completed activity.
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/TailLogs] : Starting activity...
[2015-07-10T10:25:10.207Z] INFO  [25589] - [CMD-TailLogs/TailLogs/TailLogs] : Starting activity...

In /var/log/eb-commandprocessor.log

    [2015-07-10T10:37:19.644Z] DEBUG [25873] : Checking if the command processor should execute...
[2015-07-10T10:37:19.645Z] DEBUG [25873] : Checking whether the command is applicable to instance (i-80bbbd77)..
[2015-07-10T10:37:19.645Z] INFO  [25873] : Command is applicable to this instance (i-80bbbd77)..
[2015-07-10T10:37:19.645Z] DEBUG [25873] : Checking if the received command stage is valid..
[2015-07-10T10:37:19.645Z] INFO  [25873] : No stage_num in command. Valid stage..
[2015-07-10T10:37:19.645Z] INFO  [25873] : Command processor should execute command.
[2015-07-10T10:37:19.645Z] DEBUG [25873] : Storing current stage..
[2015-07-10T10:37:19.645Z] DEBUG [25873] : Stage_num does not exist. Not saving null stage. Returning..
[2015-07-10T10:37:19.646Z] INFO  [25873] : Executing command: CMD-TailLogs...
[2015-07-10T10:37:19.646Z] DEBUG [25873] : Reading config file: /etc/elasticbeanstalk/.aws-eb-stack.properties
[2015-07-10T10:37:19.647Z] DEBUG [25873] : Refreshing metadata..
[2015-07-10T10:37:20.061Z] DEBUG [25873] : Refreshed environment metadata.
[2015-07-10T10:37:20.061Z] DEBUG [25873] : Retrieving metadata for key: AWS::ElasticBeanstalk::Ext||_ContainerConfigFileContent||commands..
[2015-07-10T10:37:20.062Z] DEBUG [25873] : Retrieving metadata for key: AWS::ElasticBeanstalk::Ext||_API||_Commands..
[2015-07-10T10:37:20.064Z] INFO  [25873] : Found enabled addons: ["logpublish"].
[2015-07-10T10:37:20.066Z] INFO  [25873] : Updating Command definition of addon logpublish.
[2015-07-10T10:37:20.066Z] DEBUG [25873] : Loaded definition of Command CMD-TailLogs.
[2015-07-10T10:37:20.066Z] INFO  [25873] : Executing command CMD-TailLogs activities...
[2015-07-10T10:37:20.066Z] DEBUG [25873] : Setting environment variables..
[2015-07-10T10:37:20.066Z] INFO  [25873] : Running AddonsBefore for command CMD-TailLogs...
[2015-07-10T10:37:20.067Z] DEBUG [25873] : Running stages of Command CMD-TailLogs from stage 0 to stage 0...
[2015-07-10T10:37:20.067Z] INFO  [25873] : Running stage 0 of command CMD-TailLogs...
[2015-07-10T10:37:20.067Z] DEBUG [25873] : Loaded 1 actions for stage 0.
[2015-07-10T10:37:20.067Z] INFO  [25873] : Running 1 of 1 actions: TailLogs...

update 3:

enter image description here


回答1:


Always check your .ebextensions before committing them into Elastic Beanstalk. A resource that I use to check my files http://www.yamllint.com/

If you are trying to modify Apache config then I would suggest using 'files' in ebextensions. read more...

I believe you're trying to achieve the following:

files:          
  "/etc/httpd/conf.d/enable_mod_rewrite.conf": 
     mode: "644"
     owner: root
     group: root
     content: |
       AllowOverride All



回答2:


Based on George's answer, this worked for me. May help some other who ran into the same glitch:

files:
  "/etc/httpd/conf.d/enable_mod_rewrite.conf":
     mode: "644"
     owner: root
     group: root
     content: |
       <Directory /opt/python/current/app/>
       AllowOverride All
       </Directory>

This is using a django app, so you need to place the .htaccess file in the main project directory. If you place in the static folder only unauthorised users still can see/click some content after pressing cancel on the login popup.



来源:https://stackoverflow.com/questions/31316369/executing-commands-in-aws-ebextensions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!