Hoe een Laravel-toepassing te implementeren met ISPConfig

Procédure

Het implementeren van een Laravel-applicatie op een VPS met ISPConfig gebeurt door uw domein en de website in het beheerpaneel te configureren, waarna het project via de commandoregel met een toegewezen account wordt geïnstalleerd. Laravel is een open-source webframework in PHP, ontworpen om robuuste en moderne webapplicaties te creëren dankzij een duidelijke en elegante architectuur. Deze complete procedure begeleidt u stap voor stap tot aan de weergave van de beveiligde homepage via HTTPS, zonder dat u de root-rechten van de server hoeft te gebruiken.

De stappen

  1. Maak de DNS-record aan voor uw domein of subdomein

    Ga naar het beheeronderdeel van uw domein, open het tabblad DNS-zone en maak vervolgens een nieuwe entry aan. Kies het type A, vul het gewenste subdomein in (bijvoorbeeld laravel voor laravel.learnlws.fr), voer het IP-adres van uw VPS-server in (bv. 203.0.113.10) en klik vervolgens op Toevoegen.

    Hoe een Laravel-toepassing te implementeren met ISPConfig
  2. Toegang krijgen tot de ISPConfig-interface vanuit de klantenzone

    Ga in de LWS-klantenzone van uw VPS naar het blok Serverbeheer en klik op de knop Beheerpaneel om in te loggen op ISPConfig.

    Hoe een Laravel-toepassing te implementeren met ISPConfig
  3. Voeg de website toe met PHP-FPM en Let's Encrypt

    Navigeer in ISPConfig naar het menu Sites en klik vervolgens op Add new website. Voer uw volledige domein in (bv. laravel.learnlws.fr), selecteer indien nodig de alias Auto-Subdomain, vink verplicht de vakjes SSL en Let's Encrypt SSL aan, stel het veld PHP in op PHP-FPM, kies een recente PHP-versie en klik vervolgens op Save.

    Hoe een Laravel-toepassing te implementeren met ISPConfig
  4. Maak een Shell-gebruiker aan voor het project

    Ga in het linkermenu naar de sectie Command Line en klik op SSH/SFTP-User, daarna op Add new SSH-User. Selecteer uw website, vul de gebruikersnaam in (die voorafgegaan zal worden door een automatisch voorvoegsel zoals defaultlaravelapp), geef een veilig wachtwoord op, laat de instelling Chroot Shell op None staan om de globale uitvoering van PHP-tools toe te staan, en klik vervolgens op Save.

    Hoe een Laravel-toepassing te implementeren met ISPConfig
  5. Maak de MySQL-database en de gebruiker ervan aan

    Ga in het linkermenu onder Databases eerst een MySQL-gebruiker toevoegen via Database Users en geef die een sterk wachtwoord. Ga daarna naar Databases, klik op Add new Database, selecteer uw website, geef de database een naam en koppel de MySQL-gebruiker die u zojuist hebt ingesteld voordat u bevestigt.

  6. Verbind via SSH en implementeer het project met Composer

    Open uw terminal en maak verbinding met uw shell-gebruiker: ssh defaultlaravelapp@203.0.113.10. Controleer of Composer (de standaard dependency manager voor PHP) beschikbaar is via het commando composer -V; als het nog niet aanwezig is, download dan de uitvoerbare file rechtstreeks naar uw account. Ga naar de map van uw hosting en initialiseer het project met composer create-project laravel/laravel . (of kloon eerst uw Git-repository voordat u composer install uitvoert).

  7. Configureer het .env-bestand, genereer de sleutel en migreer de database

    Bewerk het bestand .env in de root van uw Laravel-project met een editor zoals nano: stel APP_URL=https://laravel.learnlws.fr in en vul de MySQL-parameters aan (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Start vervolgens de generatie van de encryptiesleutel met php artisan key:generate en voer daarna de migraties uit met php artisan migrate om de tabellen aan te maken.

  8. Pas de web public-map en de rechten aan

    Laravel levert zijn toegangspunt vanuit de submap public/. Pas in ISPConfig de Apache-documentroot voor uw website aan zodat deze naar die map public/ verwijst (of koppel de map web/ aan public/), en pas vervolgens de noodzakelijke schrijfrechten toe op de cache- en logmappen door chmod -R 775 storage bootstrap/cache uit te voeren.

  9. Controleer de werking in de browser

    Open uw webbrowser en voer het adres van uw website in (bijvoorbeeld https://laravel.learnlws.fr). De standaard startpagina van Laravel wordt weergegeven met het actieve SSL-beveiligingsslotje, wat bevestigt dat de installatie volledig is geslaagd.

Essentiële Artisan-commando's na de implementatie

Na de installatie van uw Laravel-applicatie maken verschillende Artisan-consolecommando's het beheer en onderhoud van het project eenvoudiger.

  • php artisan key:generate — genereert de unieke encryptiesleutel die essentieel is voor de beveiliging van de applicatie
  • php artisan migrate — past de schema's toe en maakt alle tabellen in uw MySQL-database aan
  • php artisan config:cache — zet de configuratiebestanden in de cache om de prestaties in productie te versnellen
  • php artisan route:cache — optimaliseert het laden van uw applicatieroutes voor verzoeken van bezoekers

Veelgestelde vragen

Waarom kiezen voor de optie 'None' voor de Chroot Shell van de gebruiker?

De modus 'None' laat uw gebruiker de globale binaire bestanden van het Debian-systeem uitvoeren (met name PHP CLI, Git en Composer). Een klassieke chroot-omgeving beperkt de toegang en zou de normale uitvoering van Artisan- en Composer-commando's blokkeren.

Waarom toont de startpagina na de implementatie een 500-fout?

Een HTTP 500-fout komt meestal voort uit een ontbrekende applicatiesleutel in het .env-bestand (voer php artisan key:generate uit) of uit onvoldoende rechten op de mappen storage en bootstrap/cache, die schrijfbaar moeten zijn voor de webserver.

Hoe laat ik ISPConfig rechtstreeks naar de submap public van Laravel wijzen?

U kunt een aangepaste Apache-directive invoegen in de website-opties in ISPConfig om de DocumentRoot opnieuw in te stellen op /var/www/votresite.com/web/public, of de standaardmap web vervangen door een symbolische link die verwijst naar de map public van uw project.

Is het nodig om met het root-account toegang te krijgen tot de server?

Nee, alle handelingen voor bestandsbeheer, installatie van Composer-afhankelijkheden, configuratie van .env en Artisan-commando's worden volledig uitgevoerd met de shell-gebruiker die gekoppeld is aan de website die in ISPConfig is aangemaakt.

Het Let's Encrypt SSL-certificaat wordt niet geactiveerd in ISPConfig, wat moet ik doen?

Zorg ervoor dat de DNS-record van het type A correct naar het IP-adres van uw VPS verwijst en dat de propagatie voltooid is. Let's Encrypt controleert de bereikbaarheid van het domein van buitenaf voordat het certificaat wordt gevalideerd en uitgegeven.

Nuttige links

help.lws.net/a/7955
Was dit artikel nuttig?

Ja

Geen

3 keer gelezen

Bedankt! Stel gerust vragen over onze documentatie als u meer informatie wilt, en help ons die te verbeteren.

Vergelijkbare artikelen

Een vraag over dit artikel?

Stel ze aan het LWS-team en de community. Het antwoord wordt na moderatie gepubliceerd.

Stel een vraag aan het LWS-team en de gemeenschap

AVG: Verwerkingsverantwoordelijke: LWS-Ligne Web Services. Doel: moderatie en openbare publicatie van uw vraag, eventuele melding van een antwoord. Rechtsgrond: toestemming (art. 6, lid 1, a AVG). Bewaartermijn e-mailadressen: 90 dagen na de melding, maximaal 12 maanden zonder antwoord. Om uw rechten uit te oefenen, raadpleeg de AVG-sectie van onze algemene voorwaarden.