Brug Ansible til at konfigurere en lokal webserver
Du vil lære, hvordan du opretter forbindelse til en fjern Ubuntu-server og administrerer den ved hjælp af Ansible. Vi opretter konfigurationsfiler, der gør det muligt at automatisere rutineopgaver. Som eksempel vil vi opdatere pakkeindekset og installere Git — det første skridt i forberedelsen af en server til udvikling eller DevOps-opgaver.
Hvis du bruger Windows, skal du køre disse kommandoer i wsl
. Hvis du bruger macOS eller Linux, kan du blot bruge terminalen.
Installation af Ansible
Før du går i gang, skal du sikre dig, at Ansible er installeret på din maskine:
sudo apt update
sudo apt install ansible -y
Den første kommando, sudo apt update
, opdaterer systemets pakkeliste, så den kender til de nyeste tilgængelige softwareversioner. Derefter installerer sudo apt install ansible -y
Ansible på din maskine og bekræfter automatisk installationen uden at bede dig om at skrive "yes".
Oprettelse af konfigurationsfiler
Først skal du oprette en liste over servere, som Ansible skal oprette forbindelse til. Til dette formål opretter du en inventarfil kaldet hosts.ini
:
Indsæt følgende:
hosts.ini
[ubuntu_container]
— gruppen af værter, som Ansible skal administrere;
localhost
— værtsadressen (i dette tilfælde din lokale maskine, der kører Docker-containeren);
ansible_port=2222
— SSH-porten til forbindelsen;
ansible_user=root
og ansible_password=root
— legitimationsoplysninger til SSH-login;
ansible_connection=ssh
— instruerer Ansible i at bruge SSH til at køre kommandoer.
Filen hosts.ini
angiver, hvor Ansible skal oprette forbindelse, og hvilke parametre der skal bruges. Uden denne fil kan et playbook ikke finde serveren eller udføre opgaver.
Playbook setup.yml
Dernæst oprettes automatiseringsscriptet, eller playbooken, setup.yml
:
Indsæt følgende:
setup.yml
Filen setup.yml
definerer de opgaver, Ansible skal udføre på serveren.
-
name: Configure Ubuntu container
— titlen på playbooken; -
hosts: ubuntu_container
— gruppen af værter frahosts.ini
; -
become: true
— kør kommandoer som superbruger (root
); -
tasks
— en liste over handlinger, der udføres i rækkefølge.
I dette eksempel opdateres pakkeindekset og Git installeres.
Ansible-konfiguration
Til sidst konfigureres Ansible selv. Filen ansible.cfg
tilpasser Ansibles opførsel. Opret ansible.cfg
:
Indsæt følgende:
ansible.cfg
I dette tilfælde deaktiverer vi SSH-værtsnøglekontrol. Normalt verificerer Ansible serverens fingeraftryk for at sikre en sikker forbindelse. For denne vejledning gør det processen enklere, da vi bruger en midlertidig Docker-container.
Test af forbindelsen
Når du har oprettet alle konfigurationsfilerne, er det vigtigt at kontrollere, at alt er sat korrekt op. Dette sikrer, at Ansible kan oprette forbindelse til din eksterne Ubuntu-server og udføre opgaver som forventet.
Når du kører denne kommando, forsøger Ansible at oprette forbindelse til din Ubuntu-container via SSH ved hjælp af de legitimationsoplysninger og den port, der er angivet i hosts.ini
. Hvis alt er sat korrekt op, vil du se:

Nu er det tid til at køre playbooken for alvor, da forbindelsestesten var vellykket, og du kan være sikker på, at alt vil fungere korrekt.
Når denne kommando køres, vil Ansible oprette forbindelse til den eksterne Ubuntu-server via SSH, forhøje privilegier ved hjælp af become: true
, og udføre alle opgaver sekventielt. I dette eksempel opdateres først pakkelisten, så systemet kender til de nyeste softwareversioner, og derefter installeres Git.
Når playbooken er færdig, kan du verificere, at Git blev installeret på Ubuntu-serveren. Først forbind til serveren via SSH:
Kontroller derefter den installerede Git-version:
Hvis alt fungerede korrekt, vil du se Git-versionen, hvilket bekræfter, at playbooken blev udført med succes.
1. Hvad er formålet med hosts.ini
-filen i Ansible?
2. Hvorfor bruges become: true
i playbooken?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Brug Ansible til at konfigurere en lokal webserver
Stryg for at vise menuen
Du vil lære, hvordan du opretter forbindelse til en fjern Ubuntu-server og administrerer den ved hjælp af Ansible. Vi opretter konfigurationsfiler, der gør det muligt at automatisere rutineopgaver. Som eksempel vil vi opdatere pakkeindekset og installere Git — det første skridt i forberedelsen af en server til udvikling eller DevOps-opgaver.
Hvis du bruger Windows, skal du køre disse kommandoer i wsl
. Hvis du bruger macOS eller Linux, kan du blot bruge terminalen.
Installation af Ansible
Før du går i gang, skal du sikre dig, at Ansible er installeret på din maskine:
sudo apt update
sudo apt install ansible -y
Den første kommando, sudo apt update
, opdaterer systemets pakkeliste, så den kender til de nyeste tilgængelige softwareversioner. Derefter installerer sudo apt install ansible -y
Ansible på din maskine og bekræfter automatisk installationen uden at bede dig om at skrive "yes".
Oprettelse af konfigurationsfiler
Først skal du oprette en liste over servere, som Ansible skal oprette forbindelse til. Til dette formål opretter du en inventarfil kaldet hosts.ini
:
Indsæt følgende:
hosts.ini
[ubuntu_container]
— gruppen af værter, som Ansible skal administrere;
localhost
— værtsadressen (i dette tilfælde din lokale maskine, der kører Docker-containeren);
ansible_port=2222
— SSH-porten til forbindelsen;
ansible_user=root
og ansible_password=root
— legitimationsoplysninger til SSH-login;
ansible_connection=ssh
— instruerer Ansible i at bruge SSH til at køre kommandoer.
Filen hosts.ini
angiver, hvor Ansible skal oprette forbindelse, og hvilke parametre der skal bruges. Uden denne fil kan et playbook ikke finde serveren eller udføre opgaver.
Playbook setup.yml
Dernæst oprettes automatiseringsscriptet, eller playbooken, setup.yml
:
Indsæt følgende:
setup.yml
Filen setup.yml
definerer de opgaver, Ansible skal udføre på serveren.
-
name: Configure Ubuntu container
— titlen på playbooken; -
hosts: ubuntu_container
— gruppen af værter frahosts.ini
; -
become: true
— kør kommandoer som superbruger (root
); -
tasks
— en liste over handlinger, der udføres i rækkefølge.
I dette eksempel opdateres pakkeindekset og Git installeres.
Ansible-konfiguration
Til sidst konfigureres Ansible selv. Filen ansible.cfg
tilpasser Ansibles opførsel. Opret ansible.cfg
:
Indsæt følgende:
ansible.cfg
I dette tilfælde deaktiverer vi SSH-værtsnøglekontrol. Normalt verificerer Ansible serverens fingeraftryk for at sikre en sikker forbindelse. For denne vejledning gør det processen enklere, da vi bruger en midlertidig Docker-container.
Test af forbindelsen
Når du har oprettet alle konfigurationsfilerne, er det vigtigt at kontrollere, at alt er sat korrekt op. Dette sikrer, at Ansible kan oprette forbindelse til din eksterne Ubuntu-server og udføre opgaver som forventet.
Når du kører denne kommando, forsøger Ansible at oprette forbindelse til din Ubuntu-container via SSH ved hjælp af de legitimationsoplysninger og den port, der er angivet i hosts.ini
. Hvis alt er sat korrekt op, vil du se:

Nu er det tid til at køre playbooken for alvor, da forbindelsestesten var vellykket, og du kan være sikker på, at alt vil fungere korrekt.
Når denne kommando køres, vil Ansible oprette forbindelse til den eksterne Ubuntu-server via SSH, forhøje privilegier ved hjælp af become: true
, og udføre alle opgaver sekventielt. I dette eksempel opdateres først pakkelisten, så systemet kender til de nyeste softwareversioner, og derefter installeres Git.
Når playbooken er færdig, kan du verificere, at Git blev installeret på Ubuntu-serveren. Først forbind til serveren via SSH:
Kontroller derefter den installerede Git-version:
Hvis alt fungerede korrekt, vil du se Git-versionen, hvilket bekræfter, at playbooken blev udført med succes.
1. Hvad er formålet med hosts.ini
-filen i Ansible?
2. Hvorfor bruges become: true
i playbooken?
Tak for dine kommentarer!