Sådan installeres Laravel PHP Framework med Nginx på Ubuntu 20.04


Laravel er den mest populære, gratis og open source PHP-ramme i verden, kendt for sin udtryksfulde og elegante syntaks. Laravel er tilgængelig, kraftfuld og tilbyder nogle af de bedste værktøjer til webudvikling, der kræves til store, robuste og moderne applikationer.

I denne artikel lærer du, hvordan du installerer Laravel PHP Framework på Ubuntu 20.04-server, der kører på Nginx-webserveren.

  • Sådan installeres LEMP Stack med PhpMyAdmin i Ubuntu 20.04

Trin 1: Installation af krævede PHP-moduler

Efter opsætning af LEMP-stakken på din Ubuntu 20.04-server som beskrevet i guiden i linket ovenfor, skal du installere yderligere PHP-udvidelser, der kræves af Laravel som følger:

$ sudo apt update
$ sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Trin 2: Oprettelse af en database til Laravel

Dernæst skal du oprette en MySQL-database til din Laravel-applikation. Så log ind på din mysql-skal og opret databasen som følger.

$ sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Trin 3: Installation af komponist i Ubuntu 20.04

Laravel bruger komponisten (en afhængighedsmanager til PHP) til at styre dens afhængigheder. Inden du bruger Laravel, skal du sikre dig, at du har Composer installeret på dit system som vist.

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer

Trin 4: Installation af Laravel i Ubuntu 20.04

Efter installation af komponisten skal du bruge den til at installere Laravel-filerne. Gå ind i din /var/www/html mappe, hvor webfiler er gemt, og installer derefter Laravel ved hjælp af komponisten som vist. Husk at erstatte example.com med navnet på den mappe, hvor Laravel-filerne gemmes.

$ cd /var/www/html
$ composer create-project --prefer-dist laravel/laravel example.com

Trin 5: Konfiguration af Laravel i Ubuntu 20.04

For at liste indholdet af den nye Laravel-installation skal du køre følgende ls-kommando. Du vil bemærke, at der automatisk er oprettet en .env -fil, som tidligere skulle oprettes manuelt.

$ ls -la /var/www/html/example.com/

Indstil derefter de relevante tilladelser i Laravel-biblioteket som følger.

$ sudo chown -R :www-data /var/www/html/example.com/storage/
$ sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
$ sudo chmod -R 0777 /var/www/html/example.com/storage/
$ sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Dernæst bruger Laravel en applikationsnøgle til at sikre brugersessioner og andre krypterede data. Standard .env indeholder en standard applikationsnøgle, men du skal generere en ny til din laravel-implementering af sikkerhedsmæssige årsager.

$ sudo php artisan key:generate

Den genererede nøgle tilføjes i .env -filen som værdien af APP_KEY . Du kan se den vedhæftede nøgle ved hjælp af grep-kommandoen.

$ grep -i APP_Key /var/www/html/example.com/.env

Du skal også konfigurere detaljer om Laravel-databaseforbindelsen i .env som vist i det følgende skærmbillede.

$ sudo nano /var/www/html/example.com/.env

Trin 6: Konfiguration af NGINX til Serve Laravel Application

For at NGINX skal betjene din nye applikation, skal du oprette en serverblok til den inden for NGINX-konfigurationen under mappen /etc/nginx/sites-available/.

$ sudo nano /etc/nginx/sites-available/example.com.conf

I konfigurationen nedenfor skal du opdatere roddirektivet til Laravel-applikationens offentlige bibliotek og sørge for at erstatte www.eksempel.com med domænenavnet på dit websted som vist.

Indstil også fastcgi_pass direktivet skal pege på mediet PHP-FPM lytter til anmodninger (for eksempel fastcgi_pass unix: /run/php/php7.4-fpm.sock ):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Gem filen, og aktiver derefter konfigurationen af Laravel-webstedet ved at oprette et link fra /etc/nginx/sites-available/example.com.conf til /etc/nginx/sites-enabled/ -mappe. Fjern desuden standardserverblokkonfigurationen.

$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
$ sudo rm /etc/nginx/sites-enabled/default

Kontroller derefter, om NGINX-konfigurationens syntaks er korrekt ved at køre følgende kommando, før du genstarter tjenesten.

$ sudo nginx -t
$ sudo systemctl restart nginx

Trin 7: Adgang til Laravel-applikationen fra en webbrowser

På dette tidspunkt skal du teste, om din Laravel-implementering fungerer fint, og om den kan tilgås fra en browser. For at bruge dummy-domænet eksempel.com , lad os bruge filen /etc/hosts på din lokale computer til at oprette lokal DNS.

Kør følgende kommandoer for at hente IP-adressen til Laravel-serveren og føje den til filen /etc/hosts (udskift værdien i henhold til dine indstillinger).
$ ip-annonce
$ echo “192.168.56.11 eksempel.com” | sudo tee -a/etc/hosts

Åbn nu en webbrowser på den lokale computer, og brug følgende adresse til at navigere.

http://www.example.com/

Nu hvor du har installeret Laravel, kan du begynde at opbygge din webapplikation eller dit websted. For yderligere information, se Laravel-dokumentationen.