... | @@ -45,8 +45,6 @@ Siga os passos a seguir de acordo com a sua plataforma |
... | @@ -45,8 +45,6 @@ Siga os passos a seguir de acordo com a sua plataforma |
|
1. chmod 400 <NAME_OF_KEYPAIR_FILE>
|
|
1. chmod 400 <NAME_OF_KEYPAIR_FILE>
|
|
2. ssh -i <NAME_OF_KEYPAIR_FILE>ec2-user@<PUBLIC_DNS>
|
|
2. ssh -i <NAME_OF_KEYPAIR_FILE>ec2-user@<PUBLIC_DNS>
|
|
3. git clone http://tools.ages.pucrs.br/appoio/backend.git
|
|
3. git clone http://tools.ages.pucrs.br/appoio/backend.git
|
|
4. docker build . -t backend
|
|
|
|
5. docker run -d -p 3000:3000 --env-file env.list backend
|
|
|
|
|
|
|
|
> Note que a porta de acesso do docker mapeia para a porta 3000, ou seja, a porta definida na nossa aplicação deve ser igual a porta informada no docker, neste caso ```3000```
|
|
> Note que a porta de acesso do docker mapeia para a porta 3000, ou seja, a porta definida na nossa aplicação deve ser igual a porta informada no docker, neste caso ```3000```
|
|
|
|
|
... | @@ -64,10 +62,77 @@ Siga os passos a seguir de acordo com a sua plataforma |
... | @@ -64,10 +62,77 @@ Siga os passos a seguir de acordo com a sua plataforma |
|
6. Com o endereço informado, navegue, no putty, para "Connection" > "SSH" > "Auth", não clique em "GSSAPI", clique em "Auth" e no campo "Private key file for authentication" informe o arquivo gerado pelo nosso puttygen
|
|
6. Com o endereço informado, navegue, no putty, para "Connection" > "SSH" > "Auth", não clique em "GSSAPI", clique em "Auth" e no campo "Private key file for authentication" informe o arquivo gerado pelo nosso puttygen
|
|
7. Com tudo configurado clique em "Open"
|
|
7. Com tudo configurado clique em "Open"
|
|
8. git clone http://tools.ages.pucrs.br/appoio/backend.git
|
|
8. git clone http://tools.ages.pucrs.br/appoio/backend.git
|
|
9. docker build . -t backend
|
|
|
|
10. docker run -d -p 3000:3000 --env-file env.list backend
|
|
|
|
|
|
|
|
Pronto, o backend da nossa aplicação está pronto para ser utilizado
|
|
Pronto, o backend da nossa aplicação já está no nosso servidor da AWS, agora precisamos fazer algumas configurações para contemplar todas as funcionalidades da nossa aplicação (envio de e-mail e configuração das variáveis de ambiente)
|
|
|
|
|
|
|
|
## Configurando o AWS Simple Email Service (SES)
|
|
|
|
|
|
|
|
Esta configuração é necessária para que, quando um novo tutorial seja enviado ou dados sejam exportados, seja possível enviar a informação para o e-mail do administrador, para isso nós precisamos seguir um passo a passo simples:
|
|
|
|
|
|
|
|
1. Acesse a página inicial da sua conta AWS e procure pelo serviço Simple Email Service
|
|
|
|
2. Ao selecionar o serviço irá aparecer uma nova tela com diversas opções no canto esquerdo, selecione a opção "Email addresses"
|
|
|
|
3. Na nova janela clique no botão "Verify a New Email Address"
|
|
|
|
4. No popup insira o seu e-mail que será utilizado como remetente e clique no botão "Verify This Email Address".
|
|
|
|
5. Você receberá um e-mail no e-mail informado para confirmar a sua identidade, siga conforme solicitado no e-mail
|
|
|
|
6. Realize o passo 1 novamente para acessar o serviço Simple Email Service
|
|
|
|
7. Ao selecionar o serviço irá aparecer uma nova tela com diversas opções no canto esquerdo, selecione a opção "Sending Statistcs"
|
|
|
|
8. Caso não tenha sido feita esta configuração ainda, deve haver um botão escrito "Edit your account details", clique nele
|
|
|
|
9. Na janela que abrir, preencha os dados de acordo com a sua necessidade, para esta aplicação foi feita a seguinte configuração:
|
|
|
|
|
|
|
|
* **Enable production access:** Yes
|
|
|
|
* **Mail type:** Transactional
|
|
|
|
* **Website URL:** <endereço da instância>
|
|
|
|
* **Use case description:** Sending emails functionality is used to export data and notify only the owner of the
|
|
|
|
application, no emails are sent to customers.
|
|
|
|
* **Additional contact addresses:**
|
|
|
|
* **Preferred contact language:** English
|
|
|
|
|
|
|
|
|
|
|
|
10. Após o preenchimento do formulário aceite os termos e clique no botão "Submit for review". A equipe da Amazon irá analizar o pedido e conceder ou recusar a permissão
|
|
|
|
|
|
|
|
> Pode ser necessário enviar mais formulários conforme for requisitado pela equipe da Amazon
|
|
|
|
|
|
|
|
Agora temos o serviço de e-mails da Amazon configurado, mas ainda precisamos de mais umas configurações para poder utilizá-lo
|
|
|
|
|
|
|
|
## Configurando Credenciais de Acesso
|
|
|
|
|
|
|
|
Essa credencial é utilizada para que você acesse a sua conta da Amazon e utilize os serviços disponíveis nela, para isso vamos aos seguintes passos:
|
|
|
|
|
|
|
|
1. Acesse a sua conta AWS
|
|
|
|
2. Clique em cima do seu nome do canto superior direito, irão aparecer algumas opções
|
|
|
|
3. Selecione a opção "My Security Credentials"
|
|
|
|
4. Na nova janela que abriu procure por "Chaves de acesso (ID da chave de acesso e a chave de acesso secreta)", deve estar no meio da tela, clique em cima
|
|
|
|
5. Caso não tenha salvo nenhuma chave de acesso clique no botão "Criar nova chave de acesso"
|
|
|
|
6. Uma nova chave de acesso foi criada automaticamente, faça o download, pois não será possível recuperar o segredo da chave depois
|
|
|
|
|
|
|
|
Prontinho, agora temos tudo que precisamos para criar nosso arquivo de variáveis de ambiente
|
|
|
|
|
|
|
|
## Criando o Arquivo de Variáveis de Ambiente
|
|
|
|
|
|
|
|
Este arquivo irá conter todas as variáveis de ambiente que nossa aplicação irá utilizar, nele vamos colocar as seguintes informações:
|
|
|
|
* SECRET: uma senha aleatória para criptografar as sessões do nosso aplicativo
|
|
|
|
* ADMIN_EMAIL: e-mail do administrador (o mesmo que verificamos anteriormente e que receberá os e-mails de aviso e de dados)
|
|
|
|
* ADMIN_PASSWORD: senha do e-mail do administrador
|
|
|
|
* API_URL: o endereço da nossa instância (é o campo "Public DNS (IPv4)" da nossa instância EC2)
|
|
|
|
* AWS_SES_ACCESS_KEY_ID: o campo AWSAccessKeyId da chave de acesso que fizemos o download anteriormente
|
|
|
|
* AWS_SES_SECRET_ACCESS_KEY: o campo AWSSecretKey da chave de acesso que fizemos download anteriormente
|
|
|
|
* AWS_SES_REGION: a região em que está localizada a nossa instância (ao acessar o serviço EC2 deve aparecer no canto superior direito uma cidade, no caso desta aplicação é Ohio, se clicar em cima irá aparecer uma lista com uma posição geográfica, a cidade e uma região em laranja, no nosso caso é "Leste dos EUA (Ohio) us-east-2") o que precisamos é somente o us-east-2 (no nosso caso, pode ser que a sua instância esteja em outro local, veja o nome que está em laranja no seu para garantir a região correta)
|
|
|
|
* DATABASE_NAME: o nome do nosso banco de dados que criamos
|
|
|
|
* DATABASE_USERNAME: o usuário que cadastramos no nosso banco de dados
|
|
|
|
* DATABASE_PASSWORD: a senha que cadastramos no nosso banco de dados
|
|
|
|
* DATABASE_HOST: o endereço da instância que possui o banco de dados
|
|
|
|
* DATABASE_PORT: a porta em que está executando o nosso banco de dados
|
|
|
|
* CLOUDINARY_URL: a URL do nosso serviço no Cloudnary
|
|
|
|
|
|
|
|
Todas essas informações devem ser inseridas no arquivo env.list no formato
|
|
|
|
|
|
|
|
```
|
|
|
|
<CHAVE>=<VALOR>
|
|
|
|
```
|
|
|
|
|
|
|
|
Sendo que chave irá ser substituído sem os símbolos de < e > pelos campos mencionados acima, e o valor, sem os símbolos de < e >, pelos seus respectivos valores. Um exemplo de arquivo de configuração com valores falsos pode ser encontrado na pasta de exemplos.
|
|
|
|
|
|
|
|
Se todas as etapas até agora foram realizadas, meus parabéns, você conseguiu configurar com sucesso a sua instância da AWS.
|
|
|
|
|
|
## Caso já tenha uma instância configurada
|
|
## Caso já tenha uma instância configurada
|
|
|
|
|
... | | ... | |