Laravel is een open source framework voor het bouwen van schaalbare PHP webapps. Het is favoriet bij veel developers vanwege de eenvoudig te gebruiken modules voor authenticatie, afhankelijkheidsbeheer, sessie en cache opslag, routing en meer.
Laravel Forge vereenvoudigt het deployen en configureren van Laravel applicates door het automatiseren van serverprovisioning, software installatie en onderhoud, en deployment. Het heeft ook geavanceerde beveiligingsfeatures zoals firewalls en Secure Socket Shell (SSH) authenticaties.
Dit artikel laat zien hoe Laravel Forge werkt, wat de belangrijkste features en deploymogelijkheden zijn, en hoe het zich verhoudt tot Kinsta.
Hoe en waarom je Laravel Forge zou moeten gebruiken
Laravel Forge fungeert als je servermanager, waardoor je PHP, Nginx servers, MySQL databases en andere afhankelijkheden kunt installeren zonder ze handmatig te installeren. Dit helpt om code veel sneller te verschepen door cloudserver-wijzigingen gemakkelijk te maken.
Andere toepassingen zijn:
- Beheren van achtergrondprocessen (daemon)
- Applicaties uitvoeren met bash scripts
- Secure Socket Layer (SSL) certificaat installeren
- Plannen van cron taken
Hoe werkt Laravel Forge?
Het efficiënte nieuwe ontwerp van Laravel Forge geeft voorrang aan eenvoud en gebruiksgemak. Het laat je een hostingprovider kiezen, zoals Digital Ocean, Linode of Rackspace, die je in enkele minuten een server levert.
Elke server bevat een complete stack van de nieuwste versies van PHP, Nginx, MySQL, PostgreSQL, en cachingbibliotheken zoals Redis. Zodra de server is aangemaakt, kun je je applicatie koppelen aan je versiebeheerprogramma’s, zoals GitHub, GitLab of Bitbucket.
Laravel Forge voegt een deploymentscript toe aan je applicatie dat met een enkele klik op de servers kan draaien. Dit biedt extra flexibiliteit en efficiëntie bij het uitrollen van vanilla PHP en Laravel applicaties. Laravel Forge kan ook applicaties in andere techstacks beheren, zoals Node.js.
Tijdens de deployment gebruikt Laravel Forge SSH sleutels om in te loggen op je servers, waarbij alle laatste softwaredependencies die je applicatie nodig heeft worden uitgevoerd en geïnstalleerd. Dit maakt het gemakkelijker om op elk moment van hostingprovider te veranderen om schaalbaarheid tegen te gaan of om servers te vergroten of verkleinen, afhankelijk van de vraag.
Andere deploymentmogelijkheden voor Laravel Forge zijn onder meer:
- Deployment Scripts – Deze worden gebruikt om servercommando’s uit te voeren. Deze deploymentoptie kan worden bewerkt met behulp van de Forge UI.
- Deployment vanuit Continuous Integration (CI) tool – Gebruikers kunnen kiezen voor Forge CLI of Deployment Trigger om hun applicaties met Forge te deployen.
Zo deploy je met Laravel Forge
Om een app te deployen met Forge, maak je een account aan en kies je uit een van de vele beschikbare serverhostingproviders. Zodra je je server hebt voorzien van de juiste locatie en droplet pakket, maak je een domeinnaam aan. Forge maakt automatisch alle noodzakelijke dependencies en bibliotheken aan door de nieuwste PHP versies op je server te installeren.
Opmerking: Je hebt een API sleutel nodig om verbinding te maken met een cloudprovider die niet in Laravel Forge is voorzien.
Verifieer je vervolgens bij het versiebeheer van je keuze. Dit maakt het eenvoudig om de repository codebase te migreren naar Laravel Forge. Developers kunnen dan gezamenlijk bijdragen aan de repository en de wijzigingen automatisch laten deployen naar de server.
Na het koppelen van je repository klik je op Deploy Now om de Forge software in te schakelen om het deployscript uit te voeren en de applicatie in te stellen.
Een manier om je applicatie te deployen met Laravel Forge is door een CI tool te gebruiken. Zodra Forge CLI is geïnstalleerd, kun je het deploycommando gebruiken in je CI omgeving. Je hebt het Forge API token nodig om je te authenticeren bij de Forge CLI.
Het onderstaande voorbeeld illustreert hoe je dit in een paar eenvoudige stappen kunt doen terwijl je GitHub gebruikt. Maak in je projectmap een map your-project/.github/workflows aan. Maak daarbinnen een forge.yml bestand aan met de onderstaande content:
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 }}
Opmerking: Je kunt de voorbeeldcode hier bekijken. Je kunt dan de wijzigingen naar je hoofdbranch pushen en GitHub Actions de deployment scripts laten uitvoeren.
Omgevingsvariabelen zoals databasewachtwoorden en geheime sleutels kunnen een uitdaging zijn om te bewaren in een productieomgeving. Om je projectbestanden veilig te houden, configureer je de database- en applicatie-omgevingsvariabelen in elk van de omgeving (.env) bestanden van je project.
Voordelen van Laravel Forge
Voordelen voor gebruikers van Laravel Forge zijn onder meer:
- Het niet beperken van gebruikers tot één hostingplatform. Dit maakt het uitrollen van veel projecten op verschillende hostingproviders gemakkelijk, afhankelijk van hun behoeften.
- Het deploymentscript gebruiken om de vereisten van je applicatie automatisch uit te voeren met de nieuwste bibliotheken zonder ze handmatig te installeren.
- Consistentie in configuratie-instellingen en -machtigingen en vermindering van deploymentkosten en fouten. Hierdoor kunnen developers zich meer richten op de ontwikkeling van applicaties dan op het onderhouden van deploymentscripts en -processen.
- Geavanceerde en ingebouwde beveiliging van de server van je applicatie door middel van een firewall, SSH sleutels en gegevensisolatie om lekken te voorkomen.
Laravel Forge en Kinsta
Terwijl Laravel Forge verantwoordelijk is voor het beheer van applicatieservers, is Kinsta een hostingbeheerplatform waarmee je je eisen voor applicatie– en databasehosting naar een hoger niveau kunt tillen. Als je een WordPress site hebt die wordt beheerd door Forge software, kun je eenvoudig en gratis migreren naar Kinsta.
Kinsta biedt verschillende voordelen voor zijn gebruikers, zoals betere optimalisatietools voor beheertaken, DevOps ondersteuning voor applicatiehosting, en Cloudflare features voor WordPress hosting.
Kinsta biedt dit alles voor elk pakket, inclusief zakelijke tools en premium features zonder verborgen of extra kosten.
Samenvatting
Deployment kan een uitdaging zijn voor grote en kleine organisaties. Elke applicatie heeft zijn uitdagingen, zoals schaalbaarheidsproblemen, redundante afhankelijkheden en complexiteit van processen.
Laravel Forge maakt het hosten van applicaties efficiënt en probleemloos door op te treden als provider tussen developers en servers. Met verschillende deploymentopties kunnen developers kiezen voor deploymentscripts of de CI tool om hun sites en servers te beheren.
Net als bij Laravel Forge is het deployen van webapps met Kinsta een fluitje van een cent, maar je krijgt ook meer flexibiliteit, features en prijsniveaus. Start vandaag nog je gratis trial!