Как настроить Apache на Amazon Elastic Beanstalk
Мое приложение PHP5.3 в настоящее время работает на сервере Windows 2003 под управлением XAMPP 1.7.7. Я решил, что будет лучше, если я смогу перенести его в облако, и Amazon Elastic Beanstalk выглядит как самый простой способ. Я начинаю с 64-битного Amazon Linux под управлением PHP 5.3 контейнера. Мой следующий шаг - ограничить доступ к сайту файлом htpasswd. Я бы предпочел не использовать файлы.htaccess. Как настроить параметры файла конфигурации Beanstalk Apache (в Windows настройки хранятся в httpd.conf)?
3 ответа
Райан из AWS сказал: в настоящее время у нас нет поддержки, позволяющей клиентам изменять файл httpd.conf через службу / консоль Elastic Beanstalk.
Однако после запуска среды Elastic Beanstalk вы можете напрямую войти в экземпляр EC2, внести изменения в /etc/httpd/sites/your-application (именно так управляются конфигурации сайтов в установке Apache для Amazon Linux). Оттуда вы можете создать новый AMI из запущенного экземпляра.
Обратите внимание на идентификатор AMI, после чего вы можете перенастроить свою работающую среду, чтобы использовать новый идентификатор AMI вместо идентификатора по умолчанию. Для людей, которые хотят настроить свою среду Elastic Beanstalk за пределами того, что мы предоставляем в сервисе, этот подход мы рекомендуем.
http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.customami.html
Elastic Beanstalk теперь можно настроить с помощью конфигурационных файлов. Java/Python/Ruby поддерживаются. Поддержка PHP и.NET скоро появится.
http://www.infoq.com/news/2012/11/elastic-beanstalk-config-files
Недавно мне пришлось запретить запросу, имеющему неверный заголовок HTTP_HOST, изменить настройки Apache.
Для этого я добавил пользовательский файл.ebexternsion / wsgi.conf и использовал следующую команду для обновления файла /etc/httpd/conf.d/wsgi.conf.
command: "cp .ebextensions/wsgi.conf /etc/httpd/conf.d/wsgi.conf"
И это не работает. Но, очевидно, когда я использовал относительный путь для обновления wsgi.conf, как показано ниже, он начал работать.
command: "cp .ebextensions/wsgi.conf ../wsgi.conf
Я не уверен, как это начало работать, и прогнозирует ли это выдающееся решение или нет, но да, это работает.
** Обновлено **
Поэтому в следующем развертывании я потерял свои настройки Apache. Так что не нужно пробовать этот метод.