Deploy da Aplicação para um Servidor Amazon EC2 com SCP

Se você desenvolveu uma aplicação web e agora quer colocá-la no ar, este artigo vai mostrar a você como enviar os arquivos do seu site ou aplicação que estão em seu computador local para um servidor Amazon EC2 e disponibilizar esse site ou aplicação para acesso aos usuários na internet.

Para isso, você precisa já ter criado um servidor na Amazon que vai hospedar os arquivos do seu site;

Se você for um usuário Windows, configurado um Cliente SSH a fim de ter acesso a este servidor;

Instalado um Web Server, no caso aqui o Apache, para servir nossa aplicação aos clientes e, no caso do Windows, ter instalado o protocolo SCP que implementa a transferência de arquivos entre seu computador local e o servidor remoto.

Atendidos esses pré-requisitos, você já está com a faca e o queijo na mão para, de fato, fazer essa cópia segura. Só vai precisar ainda de um traquejo mínimo para se orientar por arquivos e pastas no terminal, seja ele do Windos ou Linux.

Estou no Windows, então vai por aqui mesmo. Abra o terminal de sua preferência e vá para a pasta onde estão os arquivos que você deseja enviar ao servidor e a chave de acesso ao servidor que você já deve ter recebido quando criou a instância do seu servidor lá no EC2 da Amazon.

Navegar até a pasta Documentos com o terminal do Windows.

Fazer a Cópia Segura

Para fazer a cópia segura, digite no prompt: scp (Secure Copy Protocol) -r (para que a cópia seja recursiva, ou seja, copiar a pasta com todos os arquivos e subpastas que estiverem dentro dela) -i (de chave de identificação) chave-servidor-dev-content.pem (nome da chave) site-deploy (o arquivo que vamos enviar) ubuntu@ec2-54-87-98-248.compute-1.amazonaws.com (usuário e DNS público do servidor para onde enviaremos os arquivos) e, por último, o lugar no servidor onde vamos “colar” os arquivos. Vai ser na pasta home do usuário do servidor mesmo, então, basta digitar :~

Vimos como localizar o usuário e DNS público do servidor quando configuramos um Cliente SSH para usuários Windows.

O comando completo é o que está abaixo.

scp -r -i chave-servidor-dev-content.pem site-deploy ubuntu@ec2-54-87-98-248.compute-1.amazonaws.com:~

Pressionando Enter, o envio se inicia.

Executar comando que faz envio seguro de arquivos do computador pessoal para o servidor EC2 da Amazon.

Verificar se os Arquivos Chegaram no Servidor

Após o envio, vamos verificar se de fato os arquivos estão em nosso servidor. Já que salvei a sessão no Putty quando fiz o primeiro acesso ao servidor, basta selecioná-la e clicar em Open.

Abrindo sessão salva no Putty.

Executando o comando ls para listar os arquivos que estão no diretório home do nosso usuário nesse servidor, lá está a pasta site-deploy. Entrando nessa pasta com o comando cd e executando novamente um ls, vemos os arquivos do nosso site.

Constatando que os arquivos estão no servidor EC2 da AWS.

Mover os Arquivos para o Diretório HTML do Apache

O Apache trabalha em um diretório chamado html. Então vamos mover nossos arquivos, que estão na home, para dentro dele.

Antes só, vamos entrar nessa pasta e deletar o arquivo index.html que corresponde àquela página de boas vindas do apache que agora vai dar lugar ao nosso site.

Para isso, vamos executar cd (change directory) para mudar de diretório e passar o caminho do diretório:

cd /var/www/html/

Em seguida, o comando para remover o arquivo é o seguinte:

sudo rm index.html
Comando para remover arquivo de boas-vndas do Apache no servidor EC2 da AWS.

Já que estamos aqui no diretório html, vamos aproveitar para mover pra cá os arquivos do nosso site que estão na home do usuário do servidor.

O comando para isso é: sudo (executa comandos com privilégios de administrador) mv (move) ~(ir para a home do usuário) /site-deploy/* . (entrar na pasta site-deploy, pegar todos os arquivos que estão dentro dela e mover para o diretório onde estou).

Comando completo:

sudo mv ~/site-deploy/* .
Comando que move arquivos da home do usuário para a pasta atual na instância EC2 AWS.

Concedendo Permissões ao Apache

Agora precisamos dizer para esse nosso computador do servidor que o dono dos arquivos que estão dentro do diretório html vai passar a ser o usuário do Apache. Fazemos isso digitando o seguinte: sudo chown (change owner – mude o dono) -R (de forma recursiva) www-data:www-data (o novo dono, ou seja, o grupo de usuários e usuário do apache) /var/www/html (a pasta que trocaremos de dono).

sudo chown -R www-data:www-data /var/www/html
Setar Usuário do Apache como dono dos arquivos que estão dentro da pasta html.

Reiniciando o Apache

Nesse momento, a permissão já deve ter sido mudada. Vamos reiniciar o apache digitando sudo service apache2 restart

Reiniciar Apache.

Acessando nosso Site pelo Endereço do Servidor

Se tudo deu certo, ao colocar o IP ou DNS públicos do nosso servidor em uma nova janela do navegador, devemos ver o conteúdo do nosso site.

Acessar site através do endereço IP ou DNS públicos.

Perfeito! Agora nosso site já está acessível aos usuários da internet pelo endereço do Servidor de Origem.

Ir para o topo