Website-Suche

So installieren Sie das Laravel PHP Framework mit Nginx unter Ubuntu 20.04


Laravel ist das beliebteste, kostenlosste und Open-Source-PHP-Framework der Welt und bekannt für seine ausdrucksstarke und elegante Syntax. Laravel ist zugänglich, leistungsstark und bietet einige der besten Webentwicklungstools, die für große, robuste und moderne Anwendungen erforderlich sind.

In diesem Artikel erfahren Sie, wie Sie das Laravel PHP Framework auf einem Ubuntu 20.04-Server installieren, der auf dem Nginx-Webserver ausgeführt wird.

Voraussetzungen

  • So installieren Sie den LEMP-Stack mit PhpMyAdmin in Ubuntu 20.04

Schritt 1: Erforderliche PHP-Module installieren

Nachdem Sie den LEMP-Stack auf Ihrem Ubuntu 20.04-Server eingerichtet haben, wie in der Anleitung im obigen Link beschrieben, müssen Sie zusätzliche von Laravel benötigte PHP-Erweiterungen wie folgt installieren:

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

Schritt 2: Erstellen einer Datenbank für Laravel

Als Nächstes müssen Sie eine MySQL-Datenbank für Ihre Laravel-Anwendung erstellen. Melden Sie sich also bei Ihrer MySQL-Shell an und erstellen Sie die Datenbank wie folgt.

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

Schritt 3: Composer in Ubuntu 20.04 installieren

Laravel verwendet den Composer (einen Abhängigkeitsmanager für PHP), um seine Abhängigkeiten zu verwalten. Stellen Sie daher vor der Verwendung von Laravel sicher, dass Composer wie gezeigt auf Ihrem System installiert ist.

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

Schritt 4: Laravel in Ubuntu 20.04 installieren

Nachdem Sie den Composer installiert haben, verwenden Sie ihn, um die Laravel-Dateien zu installieren. Wechseln Sie in Ihr Verzeichnis /var/www/html, in dem Webdateien gespeichert sind, und installieren Sie dann Laravel mit dem Composer wie gezeigt. Denken Sie daran, example.com durch den Namen des Verzeichnisses zu ersetzen, in dem die Laravel-Dateien gespeichert werden.

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

Schritt 5: Laravel in Ubuntu 20.04 konfigurieren

Um den Inhalt der neuen Laravel-Installation aufzulisten, führen Sie den folgenden ls-Befehl aus. Sie werden feststellen, dass automatisch eine .env-Datei erstellt wurde, die in der Vergangenheit manuell erstellt werden musste.

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

Legen Sie als Nächstes die entsprechenden Berechtigungen für das Verzeichnis Laravel wie folgt fest.

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/

Als nächstes verwendet Laravel einen Anwendungsschlüssel, um Benutzersitzungen und andere verschlüsselte Daten zu sichern. Die Standarddatei .env enthält einen Standardanwendungsschlüssel, Sie müssen jedoch aus Sicherheitsgründen einen neuen für Ihre Laravel-Bereitstellung generieren.

sudo php artisan key:generate

Der generierte Schlüssel wird in der Datei .env als Wert von APP_KEY angehängt. Sie können den angehängten Schlüssel mit dem Befehl grep anzeigen.

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

Sie müssen außerdem die Verbindungsdetails zur Laravel-Datenbank in .env konfigurieren, wie im folgenden Screenshot gezeigt.

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

Schritt 6: Konfigurieren von NGINX für die Bereitstellung der Laravel-Anwendung

Damit NGINX Ihre neue Anwendung bedienen kann, müssen Sie einen Serverblock dafür in der NGINX-Konfiguration im Verzeichnis /etc/nginx/sites-available/ erstellen.

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

Aktualisieren Sie in der folgenden Konfiguration die Root-Direktive auf das öffentliche Verzeichnis der Laravel-Anwendung und stellen Sie sicher, dass Sie www.example.com wie gezeigt durch den Domänennamen Ihrer Website ersetzen.

Legen Sie außerdem fest, dass die Anweisung fastcgi_pass auf das Medium verweisen soll, auf dem PHP-FPM auf Anfragen lauscht (zum Beispiel 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;
        }
}

Speichern Sie die Datei und aktivieren Sie dann die Laravel-Site-Konfiguration, indem Sie einen Link von /etc/nginx/sites-available/example.com.conf zum /etc/nginx/sites-enabled/ erstellen. Verzeichnis. Entfernen Sie außerdem die Standard-Serverblockkonfiguration.

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

Überprüfen Sie als Nächstes, ob die NGINX-Konfigurationssyntax korrekt ist, indem Sie den folgenden Befehl ausführen, bevor Sie den Dienst neu starten.

sudo nginx -t
sudo systemctl restart nginx

Schritt 7: Zugriff auf die Laravel-Anwendung über einen Webbrowser

In dieser Phase müssen Sie testen, ob Ihre Laravel-Bereitstellung einwandfrei funktioniert und ob über einen Browser darauf zugegriffen werden kann. Um die Dummy-Domäne example.com zu verwenden, verwenden wir die Datei /etc/hosts auf Ihrem lokalen Computer, um lokales DNS zu erstellen.

Führen Sie die folgenden Befehle aus, um die IP-Adresse des Laravel-Servers abzurufen und fügen Sie sie der Datei /etc/hosts hinzu (ersetzen Sie den Wert entsprechend Ihren Einstellungen).
$IP-Anzeige
$echo „192.168.56.11 example.com“ | sudo tee -a /etc/hosts

Öffnen Sie nun einen Webbrowser auf dem lokalen Computer und navigieren Sie über die folgende Adresse.

http://www.example.com/

Nachdem Sie Laravel installiert haben, können Sie mit der Erstellung Ihrer Webanwendung oder Website beginnen. Weitere Informationen finden Sie in der Laravel-Dokumentation.