Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ysodre/ansible-expressapp


https://github.com/ysodre/ansible-expressapp

ansible-playbook ansible-roles database website

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Projeto - Instalação da aplicação Web Allsafe Express

O objetivo desse projeto é fazer o deploy de uma aplicação web que faz consultas ao servido de banco de dados de maneira automatizada com o ansible.

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/121f1aac-2b68-493b-81c2-1789bf6c25e2)

## Conhecimentos utilizados


  • Ansible

  • Estrutura de arquivos Ansible

  • Código reutilizável

  • Apache2

  • Banco de dados

  • Par de chaves pública e privada

  • Vagrant

## Configuração

1 - Utilizei o vagrant para provisionar as instâncias do projeto: controle (ansible), web e db.

2 - Configuração da máquina controle


  • #apt update -y

  • #apt install git -y

  • #apt install ansible -y

  • #cd /opt

  • #mkdir expressapp

  • #cd expressapp

  • #git clone https://github.com/ySodre/ansible-expressapp.git

  • #cd ansible-expressapp

3 - Gerar par de chaves para os servidor WEB e DB e importar para os servidores, por padrão o usuário e senha das máquinas provisionadas pelo vagrant é: vagrant.


  • #ssh-keygen

  • #ssh-copy-id vagrant@ip_db

  • #ssh-copy-id vagrant@ip_web


4 - Editar o arquivo hosts dentro do diretorio do ansible_expressapp, alterando o IP dos servidores e o caminho da sua chave privada gerada.

## Testar comunicação com os servidores


  • #ansible -i hosts all -m ping



Você deverá ver o seguinte retorno.

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/ac0f7557-a632-4f28-bb58-0cb430fb397c)

## Executar o playbook implementação

Nesse projeto existe apenas uma váriável de ambiente que é o IP do banco de dados então no momento da execução é necessário passar a váriavel informando qual o IP do servidor de banco de dados.


  • #ansible-playbook -i hosts -e "db_ip=ip_db" playbook.yml

Ao finalizar você deverá ver o resultado das tarefas sem erros

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/b0d45ff6-cd68-48fd-86a3-6e4eb3ac8ada)

## Configuração DNS

Como estamos trabalhando com IPs privados, será necessário editar o arquivo hosts da sua máquina e criar o apontamento necessário.

Exemplo em windows. Caminho: C:\Windows\System32\drivers\etc\hosts

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/925eb3f2-a15a-4452-8abc-4d9f9f0ad964)

Exemplo em Linux. Caminho /etc/hosts

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/d1124001-5bb0-4491-9f72-a42c7c9db640)

## Resultado

O resultado esperado é que ao digitar express.asf.com abra o website da aplicação e além disso na guia de backups precisa aparecer dois backups, validando a comunicação com o banco de dados.

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/2a4ef44b-240f-4862-8c9c-9cc35e454de3)

![image](https://github.com/ySodre/ansible-expressapp/assets/89286829/2dc13b09-1509-4099-b3d8-e09b18dd02a9)