PHP: SSH-Schlüssel konfigurieren

Diese Dokumentation ist Teil des Deployment mit GitHub Actions-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Ihren PHP-Code mit GitHub Actions bereitstellen.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite PHP-Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Deployen Sie Ihre Anwendung in Sekunden mit einem einfachen git push.
  • Verwenden Sie Ihren eigenen Domainnamen und profitieren Sie von der automatischen Konfiguration von HTTPS-Zertifikaten für erhöhte Sicherheit.
  • Genießen Sie beruhigende automatische Backups, Ein-Klick-Updates und eine einfache, transparente und vorhersehbare Preisgestaltung.
  • Erhalten Sie optimale Performance und robuste Sicherheit dank einer privaten und dedizierten VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die PHP-Cloud-Hosting-Lösung von Stackhero auszuprobieren!

SSH-Schlüssel sind die empfohlene Methode, damit GitHub Actions während des Deployments sicher auf Ihren PHP-Service zugreifen kann. In dieser Anleitung erstellen Sie ein eigenes SSH-Schlüsselpaar speziell für diesen Zweck.

Um neue SSH-Schlüssel zu generieren, führen Sie diesen Befehl auf Ihrem Computer aus:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

Lesen Sie anschließend den öffentlichen Schlüssel mit folgendem Befehl aus:

cat /tmp/ssh_key.pub

Wechseln Sie in Ihr Stackhero-Dashboard und wählen Sie Ihren "Production" PHP-Service aus. Klicken Sie auf "Configure" und gehen Sie wie folgt vor:

  1. Unter SSH public keys klicken Sie auf "Add a public key".
  2. Geben Sie bei Description "GitHub Action" ein.
  3. Fügen Sie den eben ausgelesenen öffentlichen Schlüssel in das Feld Key ein.

Service-Einstellungen abrufenService-Einstellungen abrufen

Fügen Sie nun den privaten Schlüssel in Ihr GitHub-Projekt ein, damit er beim Deployment verwendet werden kann:

  • Gehen Sie zu Settings, wählen Sie dann Environments und klicken Sie auf New environment.

    GitHub-Umgebungen konfigurierenGitHub-Umgebungen konfigurieren

  • Geben Sie im Feld Name "production" ein und bestätigen Sie.

    Umgebung festlegenUmgebung festlegen

  • Klicken Sie auf den Button No restriction und wählen Sie Selected branches and tags.

    Umgebungsbeschränkungen festlegenUmgebungsbeschränkungen festlegen

  • Klicken Sie auf Add deployment branch or tag rule, geben Sie "production" im Feld Name pattern ein und klicken Sie auf Add rule.

    Umgebungs-Branch festlegenUmgebungs-Branch festlegen Umgebungs-Branch festlegenUmgebungs-Branch festlegen

  • Unter Environment secrets klicken Sie auf Add secret.

    Secret hinzufügenSecret hinzufügen

Lesen Sie den zuvor generierten privaten Schlüssel mit folgendem Befehl aus:

cat /tmp/ssh_key

In den GitHub-Umgebungseinstellungen:

  • Geben Sie bei Name STACKHERO_SSH_PRIVATE_KEY ein und fügen Sie Ihren privaten Schlüssel in das Feld Value ein.

    SSH Private Key Secret festlegenSSH Private Key Secret festlegen

  • Im Bereich Environment variables klicken Sie auf Add variable.

    Variablen festlegenVariablen festlegen

  • Geben Sie bei Name STACKHERO_ENDPOINT ein und fügen Sie den Endpoint Ihres PHP-Services in das Feld Value ein. Sie finden diesen Endpoint in Ihrem Stackhero-Dashboard.

    Endpoint-Variable festlegenEndpoint-Variable festlegen

Wenn Sie den Domainnamen Ihres Services angepasst haben, verwenden Sie die angepasste Version anstelle von <XXXXXX>.stackhero-network.com.

Aus Sicherheitsgründen empfiehlt es sich, die generierten SSH-Schlüssel nach der Einrichtung von Ihrem Computer zu entfernen:

rm /tmp/ssh_key /tmp/ssh_key.pub