Hur man distribuerar en Laravel-applikation med ISPConfig

Procédure

Att distribuera en Laravel-applikation på en VPS med ISPConfig görs genom att konfigurera din domän och webbplatsen i administrationspanelen, och sedan installera projektet via kommandoraden med ett dedikerat konto. Laravel är ett öppen källkod-webbframework i PHP som är utformat för att skapa robusta och moderna webbapplikationer med en tydlig och elegant arkitektur. Denna kompletta procedur guidar dig steg för steg fram till visningen av den säkra startsidan via HTTPS, utan att du behöver använda serverns root-behörigheter.

Stegen

  1. Skapa DNS-posten för din domän eller underdomän

    Gå till hanteringsavsnittet för din domän, öppna fliken Zone DNS, och skapa sedan en ny post. Välj typen A, ange önskad underdomän (till exempel laravel för laravel.learnlws.fr), skriv in IP-adressen till din VPS-server (t.ex. 203.0.113.10) och klicka sedan på Lägg till.

    Hur man distribuerar en Laravel-applikation med ISPConfig
  2. Få åtkomst till ISPConfig-gränssnittet från kundutrymmet

    Från LWS-kundutrymmet för din VPS, leta upp rutan Administrering av din server och klicka på knappen Administrationspanel för att logga in i ISPConfig.

    Hur man distribuerar en Laravel-applikation med ISPConfig
  3. Lägg till webbplatsen med PHP-FPM och Let's Encrypt

    I ISPConfig, gå till menyn Webbplatser och klicka sedan på Add new website. Ange din fullständiga domän (t.ex. laravel.learnlws.fr), välj aliaset Auto-Subdomain vid behov, kryssa absolut i rutorna SSL och Let's Encrypt SSL, ställ in fältet PHP på PHP-FPM, välj en nyare PHP-version och klicka sedan på Save.

    Hur man distribuerar en Laravel-applikation med ISPConfig
  4. Skapa en Shell-användare för projektet

    I menyn till vänster, gå till avsnittet Command Line och klicka på SSH/SFTP-User, sedan på Add new SSH-User. Välj din webbplats, ange användarnamnet (som kommer att föregås av ett automatiskt prefix som defaultlaravelapp), ange ett säkert lösenord, låt inställningen Chroot Shell stå på None för att tillåta global körning av PHP-verktyg, och klicka sedan på Save.

    Hur man distribuerar en Laravel-applikation med ISPConfig
  5. Skapa MySQL-databasen och dess användare

    I menyn till vänster under Databases, börja med att lägga till en MySQL-användare via Database Users och tilldela den ett starkt lösenord. Gå sedan till Databases, klicka på Add new Database, välj din webbplats, namnge databasen och koppla den MySQL-användare du just definierade innan du bekräftar.

  6. Anslut via SSH och distribuera projektet med Composer

    Öppna din terminal och anslut med din shell-användare: ssh defaultlaravelapp@203.0.113.10. Kontrollera att Composer (standardhanteraren för beroenden i PHP) är tillgängligt via kommandot composer -V; om det ännu inte finns, ladda ner dess körbara fil direkt till ditt konto. Gå till katalogen för ditt webbhotell och initiera projektet med composer create-project laravel/laravel . (eller klona ditt Git-repository innan du kör composer install).

  7. Konfigurera filen .env, generera nyckeln och migrera databasen

    Redigera filen .env i roten av ditt Laravel-projekt med en editor som nano: ange APP_URL=https://laravel.learnlws.fr och fyll i MySQL-parametrarna (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Kör därefter genereringen av krypteringsnyckeln med php artisan key:generate, och kör sedan migreringarna med php artisan migrate för att skapa tabellerna.

  8. Justera den offentliga webbkatalogen och behörigheterna

    Laravel levererar sin ingångspunkt från sin underkatalog public/. I ISPConfig, anpassa Apache-webbplatsens DocumentRoot-direktiv så att det pekar mot denna public/-katalog (eller länka katalogen web/ till public/), och tillämpa sedan nödvändiga skrivbehörigheter på cache- och loggkatalogerna genom att köra chmod -R 775 storage bootstrap/cache.

  9. Kontrollera funktionen i webbläsaren

    Öppna din webbläsare och skriv in adressen till din webbplats (till exempel https://laravel.learnlws.fr). Laravels standardsstartsida visas med det aktiva SSL-säkerhetslåset, vilket bekräftar att installationen har lyckats helt.

Nödvändiga Artisan-kommandon efter distributionen

Efter installationen av din Laravel-applikation underlättar flera kommandon i Artisan-konsolen driften och underhållet av projektet.

  • php artisan key:generate — genererar den unika krypteringsnyckel som är nödvändig för applikationens säkerhet
  • php artisan migrate — tillämpar scheman och skapar samtliga tabeller i din MySQL-databas
  • php artisan config:cache — cachar konfigurationsfilerna för att öka prestandan i produktion
  • php artisan route:cache — optimerar inladdningen av dina applikationsrutter för besökarnas förfrågningar

Vanliga frågor

Varför välja alternativet 'None' för användarens Chroot Shell?

Läget 'None' gör det möjligt för din användare att köra systemets globala Debian-binärer (särskilt PHP CLI, Git och Composer). En klassisk chroot-miljö begränsar åtkomsten och skulle blockera normal körning av Artisan- och Composer-kommandon.

Varför visar startsidan ett 500-fel efter distributionen?

Ett HTTP 500-fel beror vanligtvis på en saknad applikationsnyckel i filen .env (kör php artisan key:generate) eller otillräckliga behörigheter på katalogerna storage och bootstrap/cache som måste vara skrivbara för webbservern.

Hur får man ISPConfig att peka direkt mot Laravels underkatalog public?

Du kan lägga in en anpassad Apache-direktiv i webbplatsens alternativ i ISPConfig för att definiera om DocumentRoot till /var/www/votresite.com/web/public, eller ersätta standardkatalogen web med en symbolisk länk som pekar på ditt projekts public-katalog.

Är det nödvändigt att få åtkomst till servern med root-kontot?

Nej, alla åtgärder för filhantering, installation av Composer-beroenden, konfiguration av .env och Artisan-kommandon utförs helt och hållet med den shell-användare som är kopplad till webbplatsen som skapats i ISPConfig.

Let's Encrypt SSL-certifikatet aktiveras inte i ISPConfig, vad ska jag göra?

Se till att DNS-posten av typen A verkligen pekar mot din VPS IP-adress och att propagationen är klar. Let's Encrypt kontrollerar att domänen är åtkomlig från utsidan innan certifikatet valideras och utfärdas.

Användbara länkar

help.lws.net/a/7955
Var den här artikeln till hjälp?

Ja

Nej

Läst 3 gånger

Tack! Ställ gärna frågor om vår dokumentation om du vill ha mer information och hjälp oss att förbättra den.

Liknande artiklar

En fråga om den här artikeln?

Ställ den till LWS-teamet och communityn. Svaret publiceras efter moderering.

Ställ en fråga till AWS-teamet och dess community

GDPR: Personuppgiftsansvarig: LWS-Ligne Web Services. Ändamål: moderering och offentlig publicering av din fråga, eventuellt meddelande om ett svar. Rättslig grund: samtycke (art. 6.1 a GDPR). Lagring av e-postadresser: 90 dagar efter meddelandet, högst 12 månader utan svar. För att utöva dina rättigheter, se GDPR-avsnittet i våra allmänna villkor.