Você está na página 1de 32

AWS

Instanciando um
Servidor na Nuvem
Amazon e
Configurando PHP e
MySQL

1
EBOOK Alfamídia
Este é um ebook produzido pela Alfamídia.

É proibida a reprodução parcial ou total deste material sem autorização da Alfamídia.

Para utilização comercial deste material consulte info@alfamidia.com.br.

Todos os direitos reservados para Alfamídia

2
Vamos Criar um Servidor na Nuvem
Amazon
Neste ebook nós vamos guiá-lo no passo a passo para criar um servidor EC2 executando
na nuvem Amazon, e depois fazer a configuração de um ambiente com servidor Web,
PHP e Banco de dados.

Este ebook é principalmente prático, mas começaremos com alguns conceitos básicos
que são essenciais para entendermos o que será construído nas páginas seguintes:

AWS: AWS é Amazon Web Services, e é a plataforma de nuvem da Amazon.

Amazon EC2: O EC2 (Elastic Cloud Computing) é um dos muitos serviços oferecidos no
AWS, e será o que utilizaremos neste ebook. É através do EC2 que executaremos um
servidor virtual no qual nossa aplicação Laravel será executada.

MariaDB: MariaDB é um banco de dados baseado no MySQL.

3
Criando uma Conta na Amazon
Apenas digitando AWS no Google, ou entrando em aws.amazon.com nós somos levados
a página inicial do serviço AWS.

É aqui que você irá criar uma conta gratuita. Na própria página inicial do serviço, esta
opção será oferecida.

Selecione e entre com os dados. Um cartão de crédito será exigido, mas os valores
cobrados são em função dos recursos que você utilizará. No momento da escrita deste
ebook, sua conta inclui 12 meses de acesso sem custo.

O que faremos neste tutorial, a criação de uma instancia de servidor no EC2, não gerará
nenhum custo neste primeiro ano, a menos, é claro, que você coloque uma aplicação
ou site no servidor e comece a ter um volume de acessos significativo.

4
Criando uma Instância EC2
Uma vez criada sua conta AWS, você terá acesso ao Console de Gerenciamento, no qual
o serviço EC2 é exibido entre os primeiros, como na imagem a seguir.

5
Entrando em EC2 somos levados ao EC2 Dashboard, que vai no mostrar as instâncias de
servidores que estão executando neste momento. É nesta tela que iremos criar uma
nova instância

Ao falarmos de uma instância, podemos pensar em cada instância como uma máquina
virtual independente. Pense que cada instância contratada do EC2 é como se fosse uma
máquina separada e independente.

6
Nosso próximo passo é lançarmos nossa primeira instância. Você poderá, no futuro, ter
mais instâncias se desejar, por exemplo para ter aplicações isoladas, ou ter uma
máquina de testes e outra de produção.

Para lançarmos uma nova instância, basta selecionarmos o botão Launch Instance que
está na mesma tela EC2 Dashboard

7
Instância Amazon Linux 2 AMI
Ao clicar no botão de lançar uma instância, diferentes opções serão exibidas. Você
poderá escolher uma máquina Linux ou Windows, e diferentes opções de sistema
operacional, softwares instalados e recursos computacionais. Para seguir este ebook,
selecione a opção Amazon Linux 2 AMI.

Minha recomendação é que, se sua opção é o desenvolvimento em plataforma livre,


utilize também um sistema operacional livre, no caso o Linux, mesmo se estiver mais
familiarizado com a plataforma Windows. Windows será uma alternativa
principalmente se você pretende desenvolver aplicações .Net, por exemplo.

Após a seleção da instância apenas clique em Review and Launch, sem alterar nenhum
parâmetro default de configuração, e depois em Launch.

8
Criando o Par de Chaves (Key Pair)
Após clicar em Launch para lançar sua instância, será exibida a tela para criação ou
seleção de chaves. Trata-se de uma questão de segurança, em que serão utilizadas duas
chaves (dois códigos) para garantir que ninguém acessará de forma indevida seu
servidor.

Você tem a opção de criar um novo par de chaves ou utilizar um previamente criado.
Como estamos assumindo que esta é a primeira vez que você cria uma instância no
AWS, vamos pela opção de criar um novo Key Pair.

Após definir a criação de um novo key pair (create a new key pair) e definir um nome
para ele, selecione Download Key Pair. Observe que o arquivo que será baixado é
essencial para você ter acesso a instância criada, e não pode ser perdido.

9
Em nosso exemplo, o arquivo foi salvo com o nome “nomeaserescolhido.pem”, como
mostra na figura a seguir. Na sequência clicamos no botão Launch Instances.

Uma vez lançada a instância, temos uma janela que nos informa que o processo levará
alguns minutos, e passa algumas informações para acessar a instância, que será o
assunto do tópico seguinte.

10
Obtendo o DNS da Instância Criada
Entrando novamente no Dashboard do EC2, temos a lista de instâncias executando,
bem como a lista de Key Pairs criado. Em meu ambiente já havia uma instância e um key
pair criados. Note que na imagem, agora, ambos aparecem com o número 2. Em seu
caso, se esta é sua primeira instância, naturalmente você verá o número 1 nos dois
itens.

Sempre que você quiser conferir informações gerais de sua instância, bem como pausá-
la, removê-la, etc., clique em Running Instances. A tela seguinte irá mostrar
informações sobre todas as instâncias criadas:

11
Uma informação relevante, e que utilizaremos para acessar a instância, é o DNS público.
Clique na célula do DNS, na coluna Public DNS, para ver a informação completa do DNS
de sua instância, conforme imagem a seguir:

Mais adiante precisaremos copiar este DNS público para poder acessar nossa instância.

12
Instalando e Configurando o Putty
Em nosso ebook utilizaremos a ferramenta Putty para acessar nossa instância. Trata-se
de um cliente SSH gratuito disponível para Windows. Ou seja, uma ferramenta que
executa no Windows e que pode acessar outros computadores que trabalham com o
protocolo denominado SSH.

Você pode fazer download do Putty da página putty.org, conforme mostra a figura. A
instalação da ferramenta é trivial, bastando executar o arquivo baixado.

Após, será necessário converter a chave privada que você obteve anteriormente (uma
das chaves do Key Pair) para um formato compatível com o Putty. Para isso utilize outra
ferramenta chamada PuTTYGen. Felizmente esta ferramenta é instalada junto com o
Putty. Observe a imagem a seguir:

13
Aparecerá a tela a seguir, na qual você clicará em Load para ler o Key Pair:

Altere a extensão de *.ppk para All Files e selecione o arquivo salvo. No nosso exemplo,
nomeaserescolhido.pem.

14
Após, selecione o botão Save Private Key, conforme figura a seguir, para salvar a chave
no formato que você poderá utilizar no Putty. Observe que os demais parâmetros da
janela, como type of key (RSA), não devem ser alterados.

Escolha um nome adequado para o arquivo a ser gerado. Na sequência ele será
utilizado em seu acesso a instância através do Putty.

15
Acessando a Instância
Chame Putty, e digite no campo Host Name o seguinte: ec2-user@DNS, sendo que DNS
na verdade é o DNS Público de nossa instância, que vimos anteriormente como obter.
Na instância criada para este ebook, Host Name será ec2-user@ec2-54-212-9-170.us-
west-2.compute.amazonaws.com. Observe a imagem:

16
Em seguida, você precisará ler a chave que salvamos anteriormente. Isso é feito em
Connection->SSH->Auth, como mostrado na figura a seguir:

Selecione Browse e escolha o arquivo que você gerou anteriormente com o PuTTYGen.

17
Você está pronto para acessar sua instância, mas é conveniente salvar a sessão no Putty
para não ter que entrar com estes dados novamente no futuro. Em session, digite um
nome para Saved Sessions, e clique Save, conforme mostra na figura. No futuro, bastará
chamar o Putty, selecionar a sessão salva e clicar em load.

Agora, basta clicar em Open para iniciar seu acesso a sua instância.

18
Testando o Acesso
Uma vez seguidos todos estes passos, ao clicar em Open, no Putty você verá a tela com
o Shell do Linux (uma mensagem de aviso poderá ser exibida antes), conforme figura a
seguir:

Através do shell do Linux você poderá instalar as ferramentas necessárias para o


ambiente. Por exemplo, poderá instalar um servidor Web, um banco de dados, ou
outros recursos necessários para sua atividade.

19
Liberando Portas no Servidor AWS
Quando você digita um endereço de um site, o que ocorre é que um servidor web na
internet irá tratar sua requisição e respondê-la, enviando uma página HTML.

Pois bem, esta requisição chega até o servidor através de uma ‘porta’, que é definida
por um número e precisa ser liberada no servidor. Então, nosso próximo passo será
liberar as portas vinculadas ao HTTP e HTTPS em nossa instância.

No EC2 Dashboard, temos um link para o “Security Groups”, conforme mostra na figura
a seguir (você provavelmente terá que deslocar a barra de scroll para a direita, pois é
uma das últimas colunas).

Clique neste link para editar as informações de segurança. Na tela a seguir selecione a
aba Inbound, conforme mostra a figura, e clique em Edit.

20
Em seguida, na janela que será exibida, selecione Add Rule, com Type = HTTP e
Source=Anywhere, e clique SAVE. Como na figura a seguir. Faça o mesmo para Type =
HTTPS.

21
Instalação Básica do LAMP
A própria Amazon já possui um tutorial que mostra a instalação de boa parte dos
serviços que iremos precisar para configurar nosso ambiente de desenvolvimento PHP,
e vamos aqui seguir reproduzindo os passos indicados no tutorial.

Estes serviços são popularmente conhecidos como LAMP (ou WAMP em Windows), e
incluem principalmente um servidor Web Apache e um servidor de banco de dados, no
caso o MariaDB.

Faça a conexão com sua instância do servidor Linux. Após, copie os comandos a seguir
para o shell do Linux.

sudo yum update -y


sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2
php7.2
sudo yum install -y httpd mariadb-server
sudo systemctl start httpd
sudo systemctl enable httpd
sudo chown -R ec2-user /var/www
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo
chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
cd /var/www/html
echo "<?php echo 'teste'; ?>" > teste.php

Dica: você pode copiar as linhas diretamente do ebook, e clicar com o botão direito na
janela do Putty, que ele automaticamente copiará os comandos para o Shell. Copie
todas elas, ou linha a linha para acompanhar a ação de cada uma.

Veja, a seguir, algumas informações sobre os comandos executados:

sudo: o comando sudo indica que o comando seguinte será executado como super
usuário. Assim, “sudo yum update -y” nada mais é que o comando “yum update -y”
executado com permissão de superusuário.
22
yum: o yum é uma ferramenta para gerenciar e instalar pacotes.

Dica: digitando “man yum” você poderá ver o manual de uso do yum, incluindo os
parâmetros disponíveis no comando.

Os três primeiros comandos fazem a atualização e instalação dos pacotes do Apache,


MariaDB e PHP.

sudo systemctl start httpd: este é o comando que inicializa o Apache. A partir deste
momento seu servidor já está respondendo a requisições Web.

sudo systemctl enable httpd: com este comando você configura para o Apache ser
iniciado sempre que o sistema for carregado.

sudo chown -R ec2-user /var/www


sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
Estes dois comados tornam o ec2-user (o seu usuário) como o dono de tudo que está
abaixo de /var/www, que é a pasta onde serão colocados os arquivos acessíveis pela
internet.

cd /var/www/html: altera sua pasta atual para a pasta html.

echo "<?php echo 'teste'; ?>" > teste.php: o comando “echo” simplesmente exibe na
tela o que você digitar. Nós escrevemos um comando mínimo em PHP, e utilizamos o
comando “>” para redirecionar a saída, da tela para o arquivo teste.php.

Como resultado destas ações, temos os servidores do Apache, do PHP e do MariaDB


instalados. Mudamos o dono da pasta /var/www/html para nosso usuário, e ainda
criamos um arquivo teste.php com um pequeno código PHP que exibe “teste”.
Acompanhe a seguir os testes desta etapa de nosso processo:

23
Testando o Apache
Nós acabamos de instalar o servidor Apache e liberar as portas de acesso ao mesmo.
Basta agora acessarmos o DNS público para conferirmos que o Apache está
funcionando.

No EC Dashboard, já vimos no ebook anterior como obter o DNS público, pois utilizamos
o mesmo para fazer o acesso através do Putty. Digite o mesmo DNS em seu browser,
que a página de teste do Apache deverá ser exibida, como na figura a seguir:

24
Como dissemos, além de instalar o Apache, também criamos um arquivo “teste.php”
para testar a instalação do PHP. Acesse o endereço http://DOMINIO/teste.php e confira
se o resultado é equivalente a imagem a seguir:

25
Configurando o MariaDB
Nosso próximo passo é finalizar a configuração do servidor de bancos de dados.

Utilize a sequência de comandos a seguir:


sudo systemctl start mariadb
sudo mysql_secure_installation

Observe a imagem a seguir. Apenas tecle ENTER, e selecione “y” quando perguntado se
deseja criar uma nova senha. Digite uma nova senha para o servidor de banco de dados.
Lembre-se que você precisará desta senha para fazer o acesso ao MariaDB.

26
Após digitar ENTER, digite y e escreva duas vezes a nova senha:

27
Selecione “y” para as perguntas seguintes, que irão remover o usuário anônimo e
outras configurações que podem representar riscos de segurança em ambientes de
produção.

Utilize o comando a seguir para incluir também o MariaDB na inicialização do sistema:

sudo systemctl enable mariadb.

28
Instalando o phpMyAdmin
O phpMyAdmin é um software web desenvolvido em PHP que vai nos permitir acessar
interativamente nosso banco de dados MariaDB. Para este ebook ele será útil como
forma de criarmos e testarmos o acesso ao banco de dados através do Laravel.

Como nos exemplos anteriores, apenas copie o código a seguir para o shell, que o
phpMyAdmin será instalado.

sudo yum install php-mbstring -y

sudo systemctl restart httpd

sudo systemctl restart php-fpm

cd /var/www/html

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-
all-languages.tar.gz

mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-


languages.tar.gz -C phpMyAdmin --strip-components 1

rm phpMyAdmin-latest-all-languages.tar.gz

O que fizemos com esta sequência de códigos foi instalar uma biblioteca do php
necessário para o phpMyAdmin (o mbstring) e baixar e copiar para dentro da pasta
html uma pasta denominada phpMyAdmin com todo o código da ferramenta.

29
Acessando http://dominio/phpMyAdmin, deve ser exibida uma imagem equivalente a
esta:

30
Entre com “root” como utilizador, e com a senha que você criou anteriormente para o
MariaDB, que uma tela como esta será exibida:

31
Próximos Passos
Seguindo este tutorial, você está agora com um ambiente PHP totalmente configurado
em uma nuvem Amazon.

Nos cursos da Alfamídia mostramos como migrar uma aplicação existente para esta
nuvem e como construir uma aplicação completa em PHP.

Consulte nossa equipe pelo WhatsApp (51) 3073-2100, ou pelo e-mail


info@alfamidia.com.br.

32

Você também pode gostar