Utilizzare Ansible per Configurare un Server Web Locale
Imparerai come connetterti a un server Ubuntu remoto e gestirlo utilizzando Ansible. Creeremo file di configurazione che ti permetteranno di automatizzare attività di routine. Come esempio, aggiorneremo l'indice dei pacchetti e installeremo Git — il primo passo per preparare un server allo sviluppo o a compiti DevOps.
Se utilizzi Windows, esegui questi comandi in wsl. Se sei su macOS o Linux, puoi semplicemente usare il terminale.
Installazione di Ansible
Prima di iniziare, assicurati che Ansible sia installato sulla tua macchina:
sudo apt update
sudo apt install ansible -y
Il primo comando, sudo apt update, aggiorna l'elenco dei pacchetti del sistema per rilevare le versioni più recenti dei software disponibili. Successivamente, sudo apt install ansible -y installa Ansible sulla macchina, confermando automaticamente l'installazione senza richiedere di digitare "yes".
Creazione dei file di configurazione
Per prima cosa, è necessario impostare un elenco di server a cui Ansible si collegherà. A questo scopo, si crea un file di inventario chiamato hosts.ini:
Incolla quanto segue:
hosts.ini
[ubuntu_container] — il gruppo di host gestito da Ansible;
localhost — l'indirizzo dell'host (in questo caso, la macchina locale che esegue il container Docker);
ansible_port=2222 — la porta SSH per la connessione;
ansible_user=root e ansible_password=root — credenziali per l'accesso SSH;
ansible_connection=ssh — indica a Ansible di utilizzare SSH per eseguire i comandi.
Il file hosts.ini indica a Ansible dove connettersi e quali parametri utilizzare. Senza di esso, un playbook non può individuare il server o eseguire le attività.
Playbook setup.yml
Successivamente, creare lo script di automazione, o playbook, setup.yml:
Incollare:
setup.yml
Il file setup.yml definisce i task che Ansible deve eseguire sul server.
-
name: Configure Ubuntu container— titolo del playbook; -
hosts: ubuntu_container— gruppo di host dahosts.ini; -
become: true— esecuzione dei comandi come superutente (root); -
tasks— elenco delle azioni che verranno eseguite in ordine.
In questo esempio, viene aggiornato l'indice dei pacchetti e installato Git.
Configurazione di Ansible
Infine, si configura Ansible stesso. Il file ansible.cfg personalizza il comportamento di Ansible. Creare ansible.cfg:
Incollare:
ansible.cfg
In questo caso, si disabilita il controllo della chiave host SSH. Normalmente, Ansible verifica l'impronta digitale del server per garantire una connessione sicura. Per questo tutorial, questa operazione viene semplificata, poiché si utilizza un contenitore Docker temporaneo.
Verifica della Connessione
Dopo aver creato tutti i file di configurazione, è importante verificare che tutto sia impostato correttamente. Questo assicura che Ansible possa connettersi al server Ubuntu remoto ed eseguire le attività come previsto.
Quando esegui questo comando, Ansible tenta di connettersi al tuo container Ubuntu tramite SSH utilizzando le credenziali e la porta specificate in hosts.ini. Se tutto è configurato correttamente, vedrai:
Ora è il momento di eseguire realmente il playbook, poiché il controllo della connettività è stato superato con successo e puoi essere certo che tutto funzionerà correttamente.
Quando viene eseguito questo comando, Ansible si connetterà al server remoto Ubuntu tramite SSH, eleverà i privilegi utilizzando become: true ed eseguirà tutte le attività in sequenza. In questo esempio, aggiorna prima l'indice dei pacchetti affinché il sistema sia a conoscenza delle versioni software più recenti, quindi installa Git.
Al termine dell'esecuzione del playbook, è possibile verificare che Git sia stato installato sul server Ubuntu. Per prima cosa, connettersi al server utilizzando SSH:
Quindi verificare la versione di Git installata:
Se tutto ha funzionato correttamente, verrà visualizzata la versione di Git, confermando che il playbook è stato eseguito con successo.
1. Qual è lo scopo del file hosts.ini in Ansible?
2. Nel playbook, perché si usa become: true?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
What should I do if the Ansible ping command fails?
Can I add more tasks to the setup.yml playbook?
How do I manage multiple servers with this setup?
Fantastico!
Completion tasso migliorato a 3.7
Utilizzare Ansible per Configurare un Server Web Locale
Scorri per mostrare il menu
Imparerai come connetterti a un server Ubuntu remoto e gestirlo utilizzando Ansible. Creeremo file di configurazione che ti permetteranno di automatizzare attività di routine. Come esempio, aggiorneremo l'indice dei pacchetti e installeremo Git — il primo passo per preparare un server allo sviluppo o a compiti DevOps.
Se utilizzi Windows, esegui questi comandi in wsl. Se sei su macOS o Linux, puoi semplicemente usare il terminale.
Installazione di Ansible
Prima di iniziare, assicurati che Ansible sia installato sulla tua macchina:
sudo apt update
sudo apt install ansible -y
Il primo comando, sudo apt update, aggiorna l'elenco dei pacchetti del sistema per rilevare le versioni più recenti dei software disponibili. Successivamente, sudo apt install ansible -y installa Ansible sulla macchina, confermando automaticamente l'installazione senza richiedere di digitare "yes".
Creazione dei file di configurazione
Per prima cosa, è necessario impostare un elenco di server a cui Ansible si collegherà. A questo scopo, si crea un file di inventario chiamato hosts.ini:
Incolla quanto segue:
hosts.ini
[ubuntu_container] — il gruppo di host gestito da Ansible;
localhost — l'indirizzo dell'host (in questo caso, la macchina locale che esegue il container Docker);
ansible_port=2222 — la porta SSH per la connessione;
ansible_user=root e ansible_password=root — credenziali per l'accesso SSH;
ansible_connection=ssh — indica a Ansible di utilizzare SSH per eseguire i comandi.
Il file hosts.ini indica a Ansible dove connettersi e quali parametri utilizzare. Senza di esso, un playbook non può individuare il server o eseguire le attività.
Playbook setup.yml
Successivamente, creare lo script di automazione, o playbook, setup.yml:
Incollare:
setup.yml
Il file setup.yml definisce i task che Ansible deve eseguire sul server.
-
name: Configure Ubuntu container— titolo del playbook; -
hosts: ubuntu_container— gruppo di host dahosts.ini; -
become: true— esecuzione dei comandi come superutente (root); -
tasks— elenco delle azioni che verranno eseguite in ordine.
In questo esempio, viene aggiornato l'indice dei pacchetti e installato Git.
Configurazione di Ansible
Infine, si configura Ansible stesso. Il file ansible.cfg personalizza il comportamento di Ansible. Creare ansible.cfg:
Incollare:
ansible.cfg
In questo caso, si disabilita il controllo della chiave host SSH. Normalmente, Ansible verifica l'impronta digitale del server per garantire una connessione sicura. Per questo tutorial, questa operazione viene semplificata, poiché si utilizza un contenitore Docker temporaneo.
Verifica della Connessione
Dopo aver creato tutti i file di configurazione, è importante verificare che tutto sia impostato correttamente. Questo assicura che Ansible possa connettersi al server Ubuntu remoto ed eseguire le attività come previsto.
Quando esegui questo comando, Ansible tenta di connettersi al tuo container Ubuntu tramite SSH utilizzando le credenziali e la porta specificate in hosts.ini. Se tutto è configurato correttamente, vedrai:
Ora è il momento di eseguire realmente il playbook, poiché il controllo della connettività è stato superato con successo e puoi essere certo che tutto funzionerà correttamente.
Quando viene eseguito questo comando, Ansible si connetterà al server remoto Ubuntu tramite SSH, eleverà i privilegi utilizzando become: true ed eseguirà tutte le attività in sequenza. In questo esempio, aggiorna prima l'indice dei pacchetti affinché il sistema sia a conoscenza delle versioni software più recenti, quindi installa Git.
Al termine dell'esecuzione del playbook, è possibile verificare che Git sia stato installato sul server Ubuntu. Per prima cosa, connettersi al server utilizzando SSH:
Quindi verificare la versione di Git installata:
Se tutto ha funzionato correttamente, verrà visualizzata la versione di Git, confermando che il playbook è stato eseguito con successo.
1. Qual è lo scopo del file hosts.ini in Ansible?
2. Nel playbook, perché si usa become: true?
Grazie per i tuoi commenti!