Website-Suche

Installieren und hosten Sie Laravel auf Ubuntu 18.04 Bionic Beaver Linux


Objektiv

Installieren Sie Laravel mit Nginx und MariaDB auf Ubuntu 18.04

Ausschüttungen

Ubuntu 18.04 Bionischer Biber

Anforderungen

Eine funktionierende Installation von Ubuntu 18.04 mit Root-Rechten

Schwierigkeit

Leicht

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mit dem Befehl sudo
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Einleitung

Laravel hat sich ebenso schnell seinen Platz als Top-PHP-Framework verdient. Es brachte viele entwicklerfreundliche Funktionen, die in anderen Frameworks wie Rails zu finden sind, in das PHP-Ökosystem und modernisierte so die PHP-Entwicklung.

Wenn Sie mit Laravel entwickeln oder es auf Ubuntu 18.04 hosten möchten, war der Einrichtungsprozess noch nie so einfach. Da Laravel PHP ist, gibt es einige Möglichkeiten, dies zu handhaben, aber Nginx und MariaDB bieten eine ziemlich einfache Möglichkeit, Ihr Projekt mit modernen, produktionsbereiten Tools zum Laufen zu bringen.

Installieren Sie die Pakete

Bevor Sie mit der Einrichtung beginnen können, gibt es einige Pakete, die Sie benötigen. Sie sind alle in den Repositories von Ubuntu verfügbar, und sie sind alle ziemlich aktuell in Bionic, so dass es keinen Grund gibt, sich woanders umzusehen.

sudo apt install composer php-mysql php-fpm php-mbstring php-tokenizer php-xml php-json php-common nginx mariadb-server

Sie werden mehr einziehen, aber es wird nicht so schlimm sein.

Erstellen Sie Ihr Lavavel-Projekt

Das nächste, was Sie tun müssen, ist, Ihr Laravel-Projekt zu starten. Das ist auch keine allzu große Aufgabe. Das Composer-Paket, das Sie zuvor installiert haben, erledigt so ziemlich alles für Sie und bietet Ihnen eine funktionsfähige Laravel-Installation.

Beginnen Sie damit, das Verzeichnis in Ihr /var/www/-Verzeichnis zu wechseln. Da dies mit Nginx bedient wird, ist dies der beste Ort, um Ihre Websites zu organisieren.

cd /var/www

Verwenden Sie als Nächstes Composer, um Ihr Projekt zu erstellen. Der Name am Ende ist der Name Ihres Projekts und des Ordners, in dem es sich befindet. Wählen Sie es entsprechend aus.

sudo composer create-project --prefer-dist laravel/laravel yourProject

Installieren Sie Laravel mit Composer auf Ubuntu 18.04

Composer lädt automatisch alle PHP-Abhängigkeiten zusammen mit Laravel herunter, installiert sie und richtet sie ein. Bevor Sie mit der Arbeit und der Bereitstellung Ihres Projekts beginnen können, ändern Sie die Eigentümerschaft für Nginx.

sudo chown -R www-data:www-data yourProject

Einrichten der Datenbank

Als Nächstes müssen Sie Ihre Datenbank einrichten. Bevor Sie anfangen, etwas hinzuzufügen, sichern Sie Ihren Server.

sudo mysql-secure-install

Gehen Sie durch, richten Sie Ihr Root-Passwort ein und verwenden Sie deren sichere Standardeinstellungen.

Jetzt können Sie sich bei MariaDB anmelden und Ihre Datenbank für die Verwendung von Laravel einrichten.

sudo mysql -u root -p

Sobald Sie drin sind, beginnen Sie mit der Erstellung Ihrer Datenbank.

> CREATE DATABASE laravel;

Erstellen Sie dann einen Benutzer, der diese Datenbank verwenden soll.

> CREATE USER `user`@`localhost` IDENTIFIED BY 'yourpassword';

Erteilen Sie diesem Benutzer die Berechtigung, diese Datenbank zu verwenden.

> GRANT ALL ON laravel.* TO `user`@`localhost`;

Leeren Sie abschließend die Berechtigungen, und beenden Sie den Vorgang.

> FLUSH PRIVILEGES;

Laravel verbinden

Standardmäßig ist Laravel für die Verwendung von MySQL (MariaDB) konfiguriert, aber Sie müssen ihm die richtigen Informationen geben, um eine Verbindung zu der Datenbank herzustellen, die Sie gerade eingerichtet haben.

Konfigurieren der Laravel-Datenbank unter Ubuntu 18.04

Wechseln Sie in das Verzeichnis, in dem Sie Laravel installiert haben. Dort sehen Sie einen Konfigurationsordner. In diesem Ordner befindet sich eine Datenbankkonfigurationsdatei. Öffnen Sie config/database.php. Scrollen Sie nach unten, um den MySQL-Block wie den oben abgebildeten zu finden. Ändern Sie den Namen, den Benutzernamen und das Kennwort der Datenbank, damit sie mit den von Ihnen eingerichteten Daten übereinstimmen. Speichern Sie dann und beenden Sie den Vorgang.

Konfigurieren von Nginx

Das letzte Puzzleteil ist Nginx. Das ist der Teil, der Ihre Website tatsächlich bedient. Wechseln Sie in /etc/nginx. In diesem Ordner finden Sie die gesamte Konfiguration für Nginx. Sie müssen sich mit nichts davon herumschlagen. Sie können die Optionen in nginx.conf anpassen, wenn Sie möchten, aber es ist nicht notwendig, Laravel zum Laufen zu bringen.

Es gibt zwei Ordner, auf die Sie achten müssen. Sie sind standortverfügbar und standortaktiviert. sites-available enthält alle Ihre Site-Konfigurationen. Um mit der Bereitstellung einer Website zu beginnen, erstellen Sie einen Softlink zur Standortkonfiguration in "Standort aktiviert". Derzeit gibt es nur einen Eintrag. Löschen Sie es aus beiden Ordnern. Erstellen Sie dann einen neuen Eintrag in sites-available für Ihr Projekt.

Öffnen Sie Ihre neue Websitekonfiguration in Ihrem Texteditor, und richten Sie sie wie folgt ein.

server {
    listen 80;
    listen [::]:80;
	server_name your-site.com

    root /var/www/yourProject;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

}

Wenn alles Ihren Server widerspiegelt, speichern Sie und beenden Sie es. Jetzt können Sie Nginx neu starten, damit die Änderungen wirksam werden.

sudo systemctl restart nginx

Sie können zu dem Servernamen navigieren, den Sie für Nginx angegeben haben, um Ihre Website anzuzeigen.

Abschließende Gedanken

Laravel ist extrem leistungsfähig, und diese Konfiguration kann Sie entweder zu einem großartigen Entwicklungs-Setup oder zu den Anfängen eines Produktionsservers führen. Es gibt sicherlich noch mehr, was Sie mit Laravel und Nginx tun können, also zögern Sie nicht, verschiedene Konfigurationsoptionen auf einem Entwicklungscomputer zu erkunden.

Verwandte Artikel: