Hosts bereitstellen, absichern und initialisieren
Bringen Sie frische Server auf einen Basisstand.
Hosts bereitstellen, absichern und initialisieren ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Vom leeren Server zur Basis
Frische Hosts sind unbeschriebene Blätter. Die common-Rolle bringt jeden Server auf eine sichere, einheitliche Basis, bevor der Anwendungscode bereitgestellt wird. 🛠️
Den Paket-Cache aktualisieren
Beginnen Sie mit der Aktualisierung der Paketinformationen, damit Installationen aktuelle Versionen verwenden. Das apt-Modul kann den Cache mit einer idempotenten Aufgabe aktualisieren.
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600Basispakete installieren
Verwenden Sie eine Schleife, um die auf jedem Host benötigten Werkzeuge wie curl, vim und ufw mit einer einzigen übersichtlichen Aufgabe zu installieren.
- name: Base packages
ansible.builtin.apt:
name:
- curl
- ufw
- fail2ban
state: presentEinen Benutzer für Bereitstellungen anlegen
Führen Sie Arbeiten an der Anwendung niemals als root aus. Das user-Modul erstellt ein dediziertes Bereitstellungskonto, dem die Anwendung künftig gehört.
- name: Create deploy user
ansible.builtin.user:
name: deploy
groups: sudo
shell: /bin/bashDen SSH-Schlüssel verteilen
Verwenden Sie authorized_key, um Ihrem Bereitstellungsbenutzer die schlüsselbasierte Anmeldung zu erlauben, sodass sich künftige Läufe ohne Passwörter verbinden können.
- name: Add deploy key
ansible.posix.authorized_key:
user: deploy
key: "{{ deploy_pubkey }}"SSH absichern
Härten Sie den Daemon ab: Deaktivieren Sie die Root-Anmeldung und die Passwortauthentifizierung. Das lineinfile-Modul bearbeitet sshd_config sicher und idempotent.
- ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
notify: Restart sshdNur benötigte Ports öffnen
Konfigurieren Sie die Firewall mit ufw: Erlauben Sie SSH und die App-Ports und verweigern Sie den übrigen Zugriff. So gilt standardmäßig die geringstmögliche Angriffsfläche.
- community.general.ufw:
rule: allow
port: "22"
proto: tcpZeitzone und NTP festlegen
Synchronisierte Uhren sind für Logs und Zertifikate wichtig. Legen Sie die Zeitzone fest und aktivieren Sie die Zeitsynchronisierung, damit jeder Host dieselbe aktuelle Zeit kennt.
- community.general.timezone:
name: UTCEinen Handler verwenden
Starten Sie sshd nur dann neu, wenn sich die Konfiguration geändert hat, indem Sie notify zusammen mit einem Handler verwenden – niemals bei jedem einzelnen Lauf.
handlers:
- name: Restart sshd
ansible.builtin.service:
name: sshd
state: restartedIdempotent ausführen
Führen Sie die common-Rolle zweimal aus. Beim zweiten Durchlauf wird größtenteils ok statt changed gemeldet. Das beweist, dass Ihre Basis tatsächlich konvergiert.
Die Basis vor der App einrichten
Durch die Absicherung im ersten Schritt wird die App auf einem bekannten, sicheren Host bereitgestellt. Bootstrap ist das Fundament, auf dem alles Weitere aufbaut. 🔒
Kurze Überprüfung
Eine Entscheidung hält Änderungen an der SSH-Konfiguration übersichtlich.
Zusammenfassung
Sie haben eine Basis eingerichtet: Pakete, einen Bereitstellungsbenutzer, SSH-Schlüssel, einen gehärteten sshd, eine Firewall und Zeitsynchronisierung – alles idempotent. ✅
Lerne YAML mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Hosts bereitstellen, absichern und initialisieren“ kostenlos?
Ja — der vollständige Text von „Hosts bereitstellen, absichern und initialisieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Hosts bereitstellen, absichern und initialisieren“?
Bringen Sie frische Server auf einen Basisstand. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ansible Academy zu starten?
Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Hosts bereitstellen, absichern und initialisieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Das Projekt konzipieren: Rollen und Inventory
- Hosts bereitstellen, absichern und initialisieren
- Rolling Deployment hinter dem Load Balancer
- Smoke-Tests, Rollback und Benachrichtigungen