PLAYBOOK POUR CONFIGURER UN SERVER DU GARAGE
Projet qui vise à automatiser l'installation et la configuration d'une machine serveur du garage sous Linux Debian.
PAQUETS / TASKS
-
Tasks:
- apt_update.yml
- basic_install.yml
- create_workspace.yml
- nginx.yml
- docker.yml
- certbot.yml
- clamav
- fail2ban.yml
- ufw.yml
- ssh.yml
-
Dépendances:
- rsyslog
- wget
- curl
- git
- vim
- htop
- btop
- net-tools
- unzip
- gnupg
- lsb-release
- ca-certificates
- software-properties-common
- apt-transport-https
- bash-completion
-
Services:
- git
- nginx
- docker
- docker-compose
- fail2ban
- ufw
- clamAV
PRE REQUIS
-
Debian 13
-
Accès au serveur en ssh (username sudo, password)
-
Ansible:
sudo apt install ansible -y
CONFIGURATION
- Editer le fichier
vars.ymlet renseigner leuser,ssh_port,admin_passwordet l'admin_email
python3 -m venv venv \
&& . venv/bin/activate \
&& pip install passlib
# Générer l'admin password:
python3 - <<'EOF'
from passlib.hash import sha512_crypt
print(sha512_crypt.hash("monmotdepasse"))
EOF
Remplacer
monmotdepassepar le mot de passe voulu
- Ajouter une clé SSH
~/.ssh/id_ed25519.pubdans le dossierfiles/
Cette clé permettra l'accès au serveur une fois le playbook terminé
UTILISATION
- échanger sa clef ssh avec la machine cible avec la commande:
ssh-copy-id username@ip-machine-cible
- Lançer la commande avec les paramètres modifiés pour username, password et ssh_port
ansible-playbook -i hosts playbook.yml --user=username --extra-vars "ansible_sudo_pass=password user=username ssh_port=2222"
ssh_port changera le port de connection ssh de la machine cible
💡 Idéalement, une clé SSH est déjà ajoutée au serveur lors de la création (VPS cloud)
DOCUMENTATION
TO DO
- update sources.list for Debian 13
- test
- add remove gdm
- fail2ban ssh_dos port correction
- fail2ban handler pb ssh
Description
Languages
Jinja
76.2%
Shell
23.8%