AWS – Criando uma instância com todas configurações setadas

Neste post será abordado como configurar uma instância do Apache iniciando diretamente para entrar em produção.

OBS : Este post visa a automatização da criação da instância do Apache , não a instalação em si . Segue abaixo links com posts relacionados ao Apache :

http://fajlinux.com.br/linux/web-server/apache/

1) Configurando a Instância :

Em nossa teste configuraremos uma instância AMI :

aws-lb01

Clique em “Advanced Details” e selecione “As Text” :

No exemplo da imagem estamos instalando o Apache e startando junto com a instância .

aws-lb02

Configure o security group para aceitar requisições http e https :

aws-lb03

2) Testes Finais :

Chame o DNS público em seu navegador após a instância iniciar e caso dê tudo certo será vista a página de teste do Apache.

aws-lb-final

Extras :

Podemos melhorar a criação da instância já realizando download do virtual host e seu conteúdo caso seja necessário em alguma crise :

Durante a criação da instância clique em “Advanced Details” e selecione “As Text” :

#!/bin/sh
yum install httpd php wget find -y 
chkconfig httpd on
cd /etc/httpd/conf.d
wget -v http://example.com/virtualhost.conf
cd /var/www/html/
wget -v http://example.com/WebContent.tar.gz
tar -xvf WebContent.tar.gz
find webcontent -type d -exec chmod 755 {}\;
find webcontent -type f -exec chmod 644 {}\;
/etc/init.d/httpd start

Em nosso exemplo estamos realizando os seguintes passos :

* Instalando o Apache e colocando para iniciar no boot :
yum install httpd php wget find -y
chkconfig httpd on

* Baixando o virtual host e o conteúdo do site :
cd /etc/httpd/conf.d
wget -v http://example.com/virtualhost.conf
cd /var/www/html/
wget -v http://example.com/WebContent.tar.gz
tar -xvf WebContent.tar.gz

* Dando permissão nos diretórios e arquivos :
find webcontent -type d -exec chmod 755 {}\;
find webcontent -type f -exec chmod 644 {}\;

* Iniciando o Apache :
/etc/init.d/httpd start

Exemplo para o virtualhost.conf :

<VirtualHost *:80>
    ServerAdmin admin@example.com.br
    DocumentRoot /var/www/html/example.com
    ServerName example
    ErrorLog logs/example-error_log
    CustomLog logs/example-access_log common

  <Directory /var/www/html/example>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>