Een Lokale Webserver Configureren Met Ansible
Je leert hoe je verbinding maakt met een remote Ubuntu-server en deze beheert met Ansible. We maken configuratiebestanden waarmee je routinetaken kunt automatiseren. Als voorbeeld zullen we de pakketindex bijwerken en Git installeren — de eerste stap in het voorbereiden van een server voor development of DevOps-taken.
Als je Windows gebruikt, voer deze commando's uit in wsl. Op macOS of Linux kun je gewoon de terminal gebruiken.
Ansible installeren
Zorg ervoor dat Ansible op je machine is geïnstalleerd voordat je begint:
sudo apt update
sudo apt install ansible -y
Het eerste commando, sudo apt update, ververst de pakketlijst van uw systeem zodat het op de hoogte is van de nieuwste beschikbare softwareversies. Vervolgens installeert sudo apt install ansible -y Ansible op uw machine, waarbij de installatie automatisch wordt bevestigd zonder dat u "yes" hoeft te typen.
Configuratiebestanden aanmaken
Eerst moet u een lijst opstellen van servers waarmee Ansible verbinding zal maken. Hiervoor maakt u een inventory-bestand aan met de naam hosts.ini:
Plak het volgende:
hosts.ini
[ubuntu_container] — de groep hosts die door Ansible wordt beheerd;
localhost — het hostadres (in dit geval jouw lokale machine waarop de Docker-container draait);
ansible_port=2222 — de SSH-poort voor de verbinding;
ansible_user=root en ansible_password=root — inloggegevens voor SSH;
ansible_connection=ssh — geeft aan dat Ansible SSH gebruikt om commando's uit te voeren.
Het hosts.ini-bestand geeft aan Ansible waar verbinding mee gemaakt moet worden en welke parameters gebruikt moeten worden. Zonder dit bestand kan een playbook de server niet vinden of taken uitvoeren.
Playbook setup.yml
Vervolgens maak je het automatiseringsscript, of playbook, setup.yml aan:
Plakken in:
setup.yml
Het bestand setup.yml definieert de taken die Ansible op de server moet uitvoeren.
-
name: Configure Ubuntu container— de titel van het playbook; -
hosts: ubuntu_container— de groep hosts uithosts.ini; -
become: true— voer commando's uit als superuser (root); -
tasks— een lijst van acties die opeenvolgend worden uitgevoerd.
In dit voorbeeld werk je de pakketindex bij en installeer je Git.
Ansible-configuratie
Tot slot configureer je Ansible zelf. Het bestand ansible.cfg past het gedrag van Ansible aan. Maak ansible.cfg aan:
Plak het volgende in:
ansible.cfg
In dit geval schakelen we SSH host key checking uit. Normaal gesproken verifieert Ansible de vingerafdruk van de server om een veilige verbinding te waarborgen. Voor deze tutorial maakt dit het eenvoudiger, aangezien we een tijdelijke Docker-container gebruiken.
Verbinding testen
Nadat alle configuratiebestanden zijn aangemaakt, is het belangrijk te controleren of alles correct is ingesteld. Dit zorgt ervoor dat Ansible verbinding kan maken met de externe Ubuntu-server en taken zoals verwacht kan uitvoeren.
Wanneer je dit commando uitvoert, probeert Ansible verbinding te maken met je Ubuntu-container via SSH met de inloggegevens en poort die zijn opgegeven in hosts.ini. Als alles correct is ingesteld, zie je het volgende:
Nu is het tijd om het playbook daadwerkelijk uit te voeren, aangezien de verbindingscontrole succesvol was en je erop kunt vertrouwen dat alles correct zal werken.
Wanneer dit commando wordt uitgevoerd, maakt Ansible via SSH verbinding met de externe Ubuntu-server, verhoogt de privileges met become: true en voert alle taken achtereenvolgens uit. In dit voorbeeld wordt eerst de pakketindex bijgewerkt zodat het systeem op de hoogte is van de nieuwste softwareversies, waarna Git wordt geïnstalleerd.
Na het voltooien van het playbook kun je verifiëren dat Git is geïnstalleerd op de Ubuntu-server. Maak eerst verbinding met de server via SSH:
Controleer vervolgens de geïnstalleerde Git-versie:
Als alles correct is uitgevoerd, wordt de Git-versie weergegeven, wat bevestigt dat het playbook succesvol is uitgevoerd.
1. Wat is het doel van het hosts.ini-bestand in Ansible?
2. Waarom wordt become: true gebruikt in de playbook?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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?
Geweldig!
Completion tarief verbeterd naar 3.7
Een Lokale Webserver Configureren Met Ansible
Veeg om het menu te tonen
Je leert hoe je verbinding maakt met een remote Ubuntu-server en deze beheert met Ansible. We maken configuratiebestanden waarmee je routinetaken kunt automatiseren. Als voorbeeld zullen we de pakketindex bijwerken en Git installeren — de eerste stap in het voorbereiden van een server voor development of DevOps-taken.
Als je Windows gebruikt, voer deze commando's uit in wsl. Op macOS of Linux kun je gewoon de terminal gebruiken.
Ansible installeren
Zorg ervoor dat Ansible op je machine is geïnstalleerd voordat je begint:
sudo apt update
sudo apt install ansible -y
Het eerste commando, sudo apt update, ververst de pakketlijst van uw systeem zodat het op de hoogte is van de nieuwste beschikbare softwareversies. Vervolgens installeert sudo apt install ansible -y Ansible op uw machine, waarbij de installatie automatisch wordt bevestigd zonder dat u "yes" hoeft te typen.
Configuratiebestanden aanmaken
Eerst moet u een lijst opstellen van servers waarmee Ansible verbinding zal maken. Hiervoor maakt u een inventory-bestand aan met de naam hosts.ini:
Plak het volgende:
hosts.ini
[ubuntu_container] — de groep hosts die door Ansible wordt beheerd;
localhost — het hostadres (in dit geval jouw lokale machine waarop de Docker-container draait);
ansible_port=2222 — de SSH-poort voor de verbinding;
ansible_user=root en ansible_password=root — inloggegevens voor SSH;
ansible_connection=ssh — geeft aan dat Ansible SSH gebruikt om commando's uit te voeren.
Het hosts.ini-bestand geeft aan Ansible waar verbinding mee gemaakt moet worden en welke parameters gebruikt moeten worden. Zonder dit bestand kan een playbook de server niet vinden of taken uitvoeren.
Playbook setup.yml
Vervolgens maak je het automatiseringsscript, of playbook, setup.yml aan:
Plakken in:
setup.yml
Het bestand setup.yml definieert de taken die Ansible op de server moet uitvoeren.
-
name: Configure Ubuntu container— de titel van het playbook; -
hosts: ubuntu_container— de groep hosts uithosts.ini; -
become: true— voer commando's uit als superuser (root); -
tasks— een lijst van acties die opeenvolgend worden uitgevoerd.
In dit voorbeeld werk je de pakketindex bij en installeer je Git.
Ansible-configuratie
Tot slot configureer je Ansible zelf. Het bestand ansible.cfg past het gedrag van Ansible aan. Maak ansible.cfg aan:
Plak het volgende in:
ansible.cfg
In dit geval schakelen we SSH host key checking uit. Normaal gesproken verifieert Ansible de vingerafdruk van de server om een veilige verbinding te waarborgen. Voor deze tutorial maakt dit het eenvoudiger, aangezien we een tijdelijke Docker-container gebruiken.
Verbinding testen
Nadat alle configuratiebestanden zijn aangemaakt, is het belangrijk te controleren of alles correct is ingesteld. Dit zorgt ervoor dat Ansible verbinding kan maken met de externe Ubuntu-server en taken zoals verwacht kan uitvoeren.
Wanneer je dit commando uitvoert, probeert Ansible verbinding te maken met je Ubuntu-container via SSH met de inloggegevens en poort die zijn opgegeven in hosts.ini. Als alles correct is ingesteld, zie je het volgende:
Nu is het tijd om het playbook daadwerkelijk uit te voeren, aangezien de verbindingscontrole succesvol was en je erop kunt vertrouwen dat alles correct zal werken.
Wanneer dit commando wordt uitgevoerd, maakt Ansible via SSH verbinding met de externe Ubuntu-server, verhoogt de privileges met become: true en voert alle taken achtereenvolgens uit. In dit voorbeeld wordt eerst de pakketindex bijgewerkt zodat het systeem op de hoogte is van de nieuwste softwareversies, waarna Git wordt geïnstalleerd.
Na het voltooien van het playbook kun je verifiëren dat Git is geïnstalleerd op de Ubuntu-server. Maak eerst verbinding met de server via SSH:
Controleer vervolgens de geïnstalleerde Git-versie:
Als alles correct is uitgevoerd, wordt de Git-versie weergegeven, wat bevestigt dat het playbook succesvol is uitgevoerd.
1. Wat is het doel van het hosts.ini-bestand in Ansible?
2. Waarom wordt become: true gebruikt in de playbook?
Bedankt voor je feedback!