Buscar

aws-e-php

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
 
 
 
 
 
 
 
 
 
AWS 
Instanciando um 
Servidor na Nuvem 
Amazon e 
Configurando PHP e 
MySQL 
 
 
2 
 
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 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 
 
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. 
 
 
 
 
 
 
 
 
 
 
 
4 
 
 
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. 
 
 
 
 
 
 
5 
 
 
 
 
 
 
 
 
 
 
 
 
 
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. 
 
 
6 
 
 
 
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. 
 
 
7 
 
 
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 
 
 
 
 
 
 
 
 
 
 
 
8 
 
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. 
 
 
 
 
 
9 
 
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. 
 
 
 
 
10 
 
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. 
 
 
 
 
 
 
 
 
 
 
 
11 
 
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: 
 
 
 
 
 
 
 
 
12 
 
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. 
 
 
 
 
 
 
 
 
 
13 
 
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: 
 
 
 
 
 
 
 
 
 
 
 
14 
 
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. 
 
 
 
15 
 
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. 
 
 
 
 
16 
 
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: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17 
 
Em seguida, você precisará ler a chave que salvamos anteriormente. Isso é feito em 
Connection->SSH->Auth, como mostradona figura a seguir: 
 
 
 
Selecione Browse e escolha o arquivo que você gerou anteriormente com o PuTTYGen. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18 
 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
19 
 
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. 
 
 
 
 
 
 
 
 
 
20 
 
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. 
 
 
21 
 
 
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. 
 
 
 
 
 
 
22 
 
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. 
 
 
23 
 
 
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: 
 
 
 
 
24 
 
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: 
 
 
 
 
 
25 
 
 
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: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://dominio/teste.php
 
 
26 
 
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. 
 
 
 
27 
 
Após digitar ENTER, digite y e escreva duas vezes a nova senha: 
 
 
 
28 
 
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. 
 
 
 
 
 
 
 
 
 
 
 
29 
 
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. 
 
 
 
 
 
 
 
30 
 
Acessando http://dominio/phpMyAdmin, deve ser exibida uma imagem equivalente a 
esta: 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://dominio/phpMyAdmin31 
 
Entre com “root” como utilizador, e com a senha que você criou anteriormente para o 
MariaDB, que uma tela como esta será exibida: 
 
 
 
 
 
32 
 
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.

Outros materiais