Назад | Перейти на главную страницу

Как настроить 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)?

Теперь Elastic Beanstalk можно настроить с помощью файлов конфигурации. Поддерживаются Java / Python / Ruby. Скоро появится поддержка PHP и .NET.

http://www.infoq.com/news/2012/11/elastic-beanstalk-config-files

Райан из AWS сказал: «В настоящее время у нас нет поддержки, позволяющей клиентам изменять файл httpd.conf через службу / консоль Elastic Beanstalk».

Однако после запуска среды Elastic Beanstalk вы можете напрямую войти в инстанс EC2, внести изменения в / etc / httpd / sites / your-application (так управляются конфигурации сайта в установке Apache для Amazon Linux). Оттуда вы можете создать новый AMI из запущенного экземпляра.

Обратите внимание на AMI ID, после чего вы можете перенастроить рабочую среду, чтобы использовать новый AMI ID вместо стандартного. Мы рекомендуем этот подход для людей, которые хотят настроить свои среды Elastic Beanstalk за пределами того, что мы предоставляем в рамках службы.

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.customami.html

Недавно мне пришлось запретить запрос, имеющий недействительный 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. Так что пробовать этот метод не нужно.