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.
Como o Windows exige os passos adicionais citados acima, fazei o tutorial nessa plataforma.
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.

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.

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.

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.

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

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/* .

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

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

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.

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