Antes de rodar o Ansible pela primeira vez, precisamos criar o usuário no servidor que irá rodar os comandos remotamente.
Use os seguintes comandos no servidor:
# adiciona o usuário pcdomanual sem senha, no grupo sudo
$ adduser --disabled-password --gecos "" pcdomanual
$ adduser pcdomanual sudo
# habilita a elevação de privilégios sem senha
$ echo 'pcdomanual ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/pcdomanual
# cria o diretório e arquivo que com as chaves SSH
$ mkdir /home/pcdomanual/.ssh
$ touch /home/pcdomanual/.ssh/authorized_keys
# agora copie sua chave SSH para o arquivo /home/pcdomanual/.ssh/authorized_keys
# ajuste as permissões do arquivo com a chave SSH
$ chown -R pcdomanual:pcdomanual /home/pcdomanual/.ssh
Usamos a ferramenta de automação Ansible para configurar o servidor. Ela permite que escrevemos toda a configuração em código e a executamos com um comando!
Use o comando abaixo para configurar o servidor:
$ ansible-playbook -i hosts --limit production site.yml
Pode-se também usar tags
para executar somente uma parte da configuração:
$ ansible-playbook -i hosts --limit production site.yml --tags miniflux
O Ansible Vault é usado para guardar informações sensíveis (como senhas) dentro desse repositório de maneira segura. Toda informação secreta é armazenada no arquivo group_vars/all/vault.yml
como variáveis.
Primeiro, deve-se criar um arquivo chamado .vault_pass
com a senha mestre.
Depois crie o arquivo com o comando:
$ ansible-vault create group_vars/all/vault.yml
Para editar o arquivo (adicionar ou remover informações secretas) use o comando:
$ ansible-vault edit group_vars/all/vault.yml
Você pode usar o Vagrant para rodar uma versão do PC do Manual localmente.
Instale o Vagrant, VirtualBox e o [Ansible]().
No terminal, inicialize a máquina virtual do Vagrant:
$ vagrant up
Execute o Ansible usando a chave SSH do Vagrant:
$ ansible-playbook -i hosts --limit vagrant site.yml --key-file "$PWD/.vagrant/machines/default/virtualbox/private_key"
Para acessar um serviço, adiciona uma linha no seu arquivo /etc/hosts
apontando o IP 192.168.56.10
para o endereço <serviço>.pcdomanual.local
. Por exemplo:
$ cat /etc/hosts
182.168.56.10 miniflux.pcdomanual.local
Ao acessar miniflux.pcdomanual.local
no seu navegador, você receberá um alerta de certificado inválido. Você pode ignorar o alerta e prosseguir, já que se trata de uma versão local para testes.