Använda Ansible för att Konfigurera en Lokal Webbserver
Du kommer att lära dig hur du ansluter till en fjärrstyrd Ubuntu-server och hanterar den med hjälp av Ansible. Vi kommer att skapa konfigurationsfiler som gör det möjligt att automatisera rutinuppgifter. Som exempel kommer vi att uppdatera paketindexet och installera Git — det första steget i att förbereda en server för utveckling eller DevOps-uppgifter.
Om du använder Windows, kör dessa kommandon i wsl
. Om du använder macOS eller Linux kan du använda terminalen.
Installera Ansible
Innan du börjar, säkerställ att Ansible är installerat på din maskin:
sudo apt update
sudo apt install ansible -y
Det första kommandot, sudo apt update
, uppdaterar systemets paketlista så att det känner till de senaste tillgängliga programvaruversionerna. Därefter installerar sudo apt install ansible -y
Ansible på din maskin och bekräftar automatiskt installationen utan att du behöver skriva "yes".
Skapa konfigurationsfiler
Först behöver du skapa en lista över servrar som Ansible ska ansluta till. För detta skapar du en inventeringsfil som heter hosts.ini
:
Klistra in följande:
hosts.ini
[ubuntu_container]
— gruppen av värdar som Ansible kommer att hantera;
localhost
— värdadressen (i detta fall din lokala maskin som kör Docker-containern);
ansible_port=2222
— SSH-porten för anslutningen;
ansible_user=root
och ansible_password=root
— inloggningsuppgifter för SSH;
ansible_connection=ssh
— instruerar Ansible att använda SSH för att köra kommandon.
Filen hosts.ini
anger för Ansible var den ska ansluta och vilka parametrar som ska användas. Utan denna fil kan ett playbook inte hitta servern eller utföra uppgifter.
Playbook setup.yml
Därefter skapar du automationsskriptet, eller playbooken, setup.yml
:
Klistra in:
setup.yml
Filen setup.yml
definierar de uppgifter som Ansible ska utföra på servern.
-
name: Configure Ubuntu container
— titel på playbooken; -
hosts: ubuntu_container
— gruppen av värdar frånhosts.ini
; -
become: true
— kör kommandon som superanvändare (root
); -
tasks
— en lista över åtgärder som kommer att utföras i ordning.
I detta exempel uppdateras paketindexet och Git installeras.
Ansible-konfiguration
Slutligen konfigureras Ansible självt. Filen ansible.cfg
anpassar Ansibles beteende. Skapa ansible.cfg
:
Klistra in:
ansible.cfg
I det här fallet inaktiverar vi SSH-nyckelkontroll. Normalt verifierar Ansible serverns fingeravtryck för att säkerställa en säker anslutning. För denna handledning förenklar detta processen, eftersom vi använder en tillfällig Docker-container.
Testa anslutningen
När du har skapat alla konfigurationsfiler är det viktigt att verifiera att allt är korrekt inställt. Detta säkerställer att Ansible kan ansluta till din fjärrstyrda Ubuntu-server och utföra uppgifter som förväntat.
När du kör detta kommando försöker Ansible ansluta till din Ubuntu-container via SSH med de inloggningsuppgifter och den port som anges i hosts.ini
. Om allt är korrekt konfigurerat kommer du att se:

Nu är det dags att köra playbooken på riktigt, eftersom anslutningstestet lyckades och du kan vara säker på att allt kommer att fungera korrekt.
När detta kommando körs kommer Ansible att ansluta till den fjärrstyrda Ubuntu-servern via SSH, höja behörigheterna med become: true
och utföra alla uppgifter sekventiellt. I detta exempel uppdateras först paketindexet så att systemet känner till de senaste programvaruversionerna, och därefter installeras Git.
När playbooken är klar kan du verifiera att Git har installerats på Ubuntu-servern. Anslut först till servern med SSH:
Kontrollera sedan den installerade Git-versionen:
Om allt fungerade korrekt kommer du att se Git-versionen, vilket bekräftar att playbooken kördes framgångsrikt.
1. Vad är syftet med filen hosts.ini
i Ansible?
2. Varför används become: true
i playbooken?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.7
Använda Ansible för att Konfigurera en Lokal Webbserver
Svep för att visa menyn
Du kommer att lära dig hur du ansluter till en fjärrstyrd Ubuntu-server och hanterar den med hjälp av Ansible. Vi kommer att skapa konfigurationsfiler som gör det möjligt att automatisera rutinuppgifter. Som exempel kommer vi att uppdatera paketindexet och installera Git — det första steget i att förbereda en server för utveckling eller DevOps-uppgifter.
Om du använder Windows, kör dessa kommandon i wsl
. Om du använder macOS eller Linux kan du använda terminalen.
Installera Ansible
Innan du börjar, säkerställ att Ansible är installerat på din maskin:
sudo apt update
sudo apt install ansible -y
Det första kommandot, sudo apt update
, uppdaterar systemets paketlista så att det känner till de senaste tillgängliga programvaruversionerna. Därefter installerar sudo apt install ansible -y
Ansible på din maskin och bekräftar automatiskt installationen utan att du behöver skriva "yes".
Skapa konfigurationsfiler
Först behöver du skapa en lista över servrar som Ansible ska ansluta till. För detta skapar du en inventeringsfil som heter hosts.ini
:
Klistra in följande:
hosts.ini
[ubuntu_container]
— gruppen av värdar som Ansible kommer att hantera;
localhost
— värdadressen (i detta fall din lokala maskin som kör Docker-containern);
ansible_port=2222
— SSH-porten för anslutningen;
ansible_user=root
och ansible_password=root
— inloggningsuppgifter för SSH;
ansible_connection=ssh
— instruerar Ansible att använda SSH för att köra kommandon.
Filen hosts.ini
anger för Ansible var den ska ansluta och vilka parametrar som ska användas. Utan denna fil kan ett playbook inte hitta servern eller utföra uppgifter.
Playbook setup.yml
Därefter skapar du automationsskriptet, eller playbooken, setup.yml
:
Klistra in:
setup.yml
Filen setup.yml
definierar de uppgifter som Ansible ska utföra på servern.
-
name: Configure Ubuntu container
— titel på playbooken; -
hosts: ubuntu_container
— gruppen av värdar frånhosts.ini
; -
become: true
— kör kommandon som superanvändare (root
); -
tasks
— en lista över åtgärder som kommer att utföras i ordning.
I detta exempel uppdateras paketindexet och Git installeras.
Ansible-konfiguration
Slutligen konfigureras Ansible självt. Filen ansible.cfg
anpassar Ansibles beteende. Skapa ansible.cfg
:
Klistra in:
ansible.cfg
I det här fallet inaktiverar vi SSH-nyckelkontroll. Normalt verifierar Ansible serverns fingeravtryck för att säkerställa en säker anslutning. För denna handledning förenklar detta processen, eftersom vi använder en tillfällig Docker-container.
Testa anslutningen
När du har skapat alla konfigurationsfiler är det viktigt att verifiera att allt är korrekt inställt. Detta säkerställer att Ansible kan ansluta till din fjärrstyrda Ubuntu-server och utföra uppgifter som förväntat.
När du kör detta kommando försöker Ansible ansluta till din Ubuntu-container via SSH med de inloggningsuppgifter och den port som anges i hosts.ini
. Om allt är korrekt konfigurerat kommer du att se:

Nu är det dags att köra playbooken på riktigt, eftersom anslutningstestet lyckades och du kan vara säker på att allt kommer att fungera korrekt.
När detta kommando körs kommer Ansible att ansluta till den fjärrstyrda Ubuntu-servern via SSH, höja behörigheterna med become: true
och utföra alla uppgifter sekventiellt. I detta exempel uppdateras först paketindexet så att systemet känner till de senaste programvaruversionerna, och därefter installeras Git.
När playbooken är klar kan du verifiera att Git har installerats på Ubuntu-servern. Anslut först till servern med SSH:
Kontrollera sedan den installerade Git-versionen:
Om allt fungerade korrekt kommer du att se Git-versionen, vilket bekräftar att playbooken kördes framgångsrikt.
1. Vad är syftet med filen hosts.ini
i Ansible?
2. Varför används become: true
i playbooken?
Tack för dina kommentarer!