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 PHP Cloud Plattform, die für schnelle und zuverlässige Deployments entwickelt wurde:

  • Deployen Sie Ihre PHP-Anwendung in wenigen Sekunden mit einem einfachen git push in die Produktion.
  • Verwenden Sie Ihre eigene Domain – automatische HTTPS-Zertifikate werden für Sie eingerichtet. Es sind keine manuellen Schritte erforderlich.
  • Verlassen Sie sich auf automatische Backups, One-Click-Updates und eine transparente, vorhersehbare Preisgestaltung. Stackhero übernimmt diese Aufgaben, damit Sie sich auf Ihren Code konzentrieren können.
  • Profitieren Sie von hoher Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur, die speziell für Ihre Anwendungen konzipiert ist.

Optimieren Sie Ihren Workflow und sparen Sie Zeit. Der Einstieg in das PHP Cloud Hosting von Stackhero dauert nur wenige Minuten.

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