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.
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.
Ga in de LWS-klantenzone van uw VPS naar het blok Serverbeheer en klik op de knop Beheerpaneel om in te loggen op ISPConfig.
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.
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.
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.
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).
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.
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.
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.
Na de installatie van uw Laravel-applicatie maken verschillende Artisan-consolecommando's het beheer en onderhoud van het project eenvoudiger.
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.
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.
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.
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.
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.
Stel ze aan het LWS-team en de community. Het antwoord wordt na moderatie gepubliceerd.