Laravel ist ein Open-Source-Framework für die Entwicklung skalierbarer PHP-Webanwendungen. Es ist bei vielen Entwicklern beliebt, weil es benutzerfreundliche Module für Authentifizierung, Abhängigkeitsmanagement, Session- und Cache-Speicher, Routing und vieles mehr bietet.

Laravel Forge vereinfacht die Bereitstellung und Konfiguration von Laravel-Anwendungen, indem es die Serverbereitstellung, Softwareinstallation und -wartung sowie die Bereitstellung automatisiert. Außerdem verfügt es über erweiterte Sicherheitsfunktionen wie Firewalls und Secure Socket Shell (SSH)-Authentifizierungen.

In diesem Artikel erfährst du, wie Laravel Forge funktioniert, welche Hauptfunktionen und Bereitstellungsoptionen es bietet und wie es im Vergleich zu Kinsta abschneidet.

Wie und warum du Laravel Forge verwenden solltest

Laravel Forge fungiert als dein Servermanager und ermöglicht dir die Installation von PHP, Nginx-Servern, MySQL-Datenbanken und anderen Abhängigkeiten, ohne dass diese manuell installiert werden müssen. So kannst du deinen Code viel schneller bereitstellen, da Änderungen am Cloud-Server einfach sind.

Andere Anwendungen sind:

    • Verwaltung von Hintergrundprozessen (Daemon)
    • Ausführen von Anwendungen mit Bash-Skripten
    • Installation von SSL-Zertifikaten (Secure Socket Layer)
    • Planen von Cron-Aufgaben

Wie funktioniert Laravel Forge?

Das effiziente neue Design von Laravel Forge legt den Schwerpunkt auf Einfachheit und Benutzerfreundlichkeit. Du kannst einen Hosting-Anbieter wie Digital Ocean, Linode oder Rackspace wählen, der dir innerhalb von Minuten einen Server zur Verfügung stellt.

Jeder Server enthält einen kompletten Stack mit den neuesten Versionen von PHP, Nginx, MySQL, PostgreSQL und Caching-Bibliotheken wie Redis. Sobald der Server eingerichtet ist, kannst du deine Anwendung mit deinen Versionierungstools wie GitHub, GitLab oder Bitbucket verknüpfen.

Laravel Forge fügt deiner Anwendung ein Deployment-Skript hinzu, das mit einem einzigen Klick auf den Servern ausgeführt werden kann. Das sorgt für mehr Flexibilität und Effizienz bei der Bereitstellung von Vanilla PHP- und Laravel-Anwendungen. Laravel Forge kann auch Anwendungen in anderen Tech-Stacks verwalten, z. B. Node.js.

Während der Bereitstellung verwendet Laravel Forge SSH-Schlüssel, um sich bei deinen Servern anzumelden und alle aktuellen Software-Abhängigkeiten, die deine Anwendung benötigt, auszuführen und zu installieren. Das macht es einfacher, den Hosting-Anbieter jederzeit zu wechseln, um der Skalierbarkeit entgegenzuwirken oder die Server je nach Bedarf zu vergrößern oder zu verkleinern.

Weitere Bereitstellungsoptionen für Laravel Forge sind:

  • Deployment Scripts – Diese werden verwendet, um Serverbefehle auszuführen. Diese Bereitstellungsoption kann über die Forge-Benutzeroberfläche bearbeitet werden.
  • Deployment aus dem Continuous Integration (CI) Tool – Nutzer können entweder Forge CLI oder Deployment Trigger wählen, um ihre Anwendungen mit Forge zu deployen.

Wie man mit Laravel Forge deployt

Um eine Anwendung mit Forge bereitzustellen, erstellst du ein Konto und wählst dann einen der vielen verfügbaren Server-Host-Anbieter aus. Sobald du deinen Server mit dem richtigen Standort und Droplet-Plan eingerichtet hast, erstelle einen Domainnamen. Forge erstellt automatisch alle notwendigen Abhängigkeiten und Bibliotheken, indem es die neuesten PHP-Versionen auf deinem Server installiert.

Hinweis: Du brauchst einen API-Schlüssel, um dich mit einem Cloud-Anbieter zu verbinden, der nicht in Laravel Forge enthalten ist.

Als nächstes musst du dich bei der Versionskontrolle deiner Wahl authentifizieren. Das macht es einfach, die Codebasis des Repositorys in Laravel Forge zu migrieren. Die Entwickler können dann gemeinsam zum Repository beitragen und die Änderungen automatisch auf dem Server bereitstellen lassen.

Nachdem du dein Repository verknüpft hast, klicke auf Jetzt bereitstellen, damit die Forge-Software das Bereitstellungsskript ausführt und die Anwendung einrichtet.

Eine Möglichkeit, deine Anwendung mit Laravel Forge bereitzustellen, ist die Verwendung eines CI-Tools. Sobald Forge CLI installiert ist, kannst du den Deploy-Befehl in deiner CI-Umgebung verwenden. Du brauchst das Forge-API-Token, um dich bei Forge CLI zu authentifizieren.

Das folgende Beispiel zeigt dir, wie du dies in wenigen Schritten über GitHub tun kannst. Erstelle in deinem Projektverzeichnis ein Verzeichnis your-project/.github/workflows. Erstelle darin eine forge.yml-Datei mit dem folgenden Inhalt:

name: Deploy

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      checkout@v2
      - name: Setup SSH
        uses: webfactory/[email protected]
        with:
          ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.0
          tools: composer:v2
          coverage: none
      - name: Require Forge CLI
        run: composer global require laravel/forge-cli
      - name: Deploy Site
        run: |
          forge server:switch your-server-name
          forge deploy your-site-name.com
        env:
          FORGE_API_TOKEN: ${{ secrets.FORGE_API_TOKEN }}

Hinweis: Du kannst dir den Beispielcode hier ansehen. Anschließend kannst du die Änderungen in deinen Hauptzweig verschieben und GitHub Actions die Deployment-Skripte ausführen lassen.

Umgebungsvariablen wie Datenbankpasswörter und geheime Schlüssel können in einer Produktionsumgebung schwierig zu halten sein. Um deine Projektdateien sicher zu halten, konfiguriere die Umgebungsvariablen für die Datenbank und die Anwendung in den Umgebungsdateien (.env) deines Projekts.

Vorteile von Laravel Forge

Zu den Vorteilen von Laravel Forge gehören:

  • Keine Beschränkung der Nutzer auf eine Hosting-Plattform. Das macht es einfach, viele Projekte auf verschiedenen Hosting-Anbietern bereitzustellen, je nach Bedarf.
  • Mit dem Deployment-Skript werden die Anforderungen deiner Anwendung automatisch mit den neuesten Bibliotheken ausgeführt, ohne sie manuell zu installieren.
  • Konsistenz bei den Konfigurationseinstellungen und Berechtigungen und Reduzierung von Bereitstellungskosten und Fehlern. So können sich die Entwickler mehr auf die Anwendungsentwicklung konzentrieren als auf die Pflege von Deployment-Skripten und Prozessen.
  • Erweiterte und angeborene Sicherheit für den Server deiner Anwendung durch eine Firewall, SSH-Schlüssel und Datenisolierung, um Datenlecks zu verhindern.

Laravel Forge und Kinsta

Während Laravel Forge für die Verwaltung von Anwendungsservern zuständig ist, ist Kinsta eine Hosting-Management-Plattform, mit der du deine Anforderungen an das Anwendungs- und Datenbank-Hosting auf die nächste Stufe heben kannst. Wenn du eine WordPress-Website hast, die von Forge verwaltet wird, kannst du ganz einfach und kostenlos zu Kinsta migrieren.

Kinsta bietet seinen Nutzern mehrere Vorteile, z. B. bessere Tools zur Optimierung von Verwaltungsaufgaben, DevOps-Unterstützung für das Anwendungs-Hosting und Cloudflare-Funktionen für das WordPress-Hosting.

Kinsta bietet all dies mit Enterprise-Tools und Premium-Funktionen ohne versteckte oder zusätzliche Kosten für jeden Plan.

Zusammenfassung

Deployment kann für große und kleine Unternehmen eine Herausforderung sein. Jede Anwendung hat ihre eigenen Herausforderungen, wie z. B. Skalierbarkeitsprobleme, redundante Abhängigkeiten und komplexe Prozesse.

Laravel Forge macht das Hosting von Anwendungen effizient und mühelos, indem es als Vermittler zwischen Entwicklern und Servern fungiert. Mit verschiedenen Deployment-Optionen können Entwickler entweder Deployment-Skripte oder das CI-Tool wählen, um ihre Websites und Server zu verwalten.

Wie bei Laravel Forge ist die Bereitstellung von Webanwendungen mit Kinsta ein Kinderspiel, aber du bekommst auch mehr Flexibilität, Funktionen und Preispläne. Starte deine kostenlose Testversion noch heute!