0Pricing
DevOps Bootcamp · Lektion

Hosts bereitstellen, absichern und initialisieren

Bringen Sie frische Server auf einen Basisstand.

Hosts bereitstellen, absichern und initialisieren ist eine kostenlose DevOps Bootcamp-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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-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: 3600

Basispakete 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: present

Einen 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/bash

Den 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 sshd

Nur 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: tcp

Zeitzone 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: UTC

Einen 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: restarted

Idempotent 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. ✅

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 DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Hosts bereitstellen, absichern und initialisieren“?

Bringen Sie frische Server auf einen Basisstand. Du übst DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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

  1. Das Projekt konzipieren: Rollen und Inventory
  2. Hosts bereitstellen, absichern und initialisieren
  3. Rolling Deployment hinter dem Load Balancer
  4. Smoke-Tests, Rollback und Benachrichtigungen
← Zurück zu DevOps Bootcamp