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.