Laravel auf Ubuntu Server einrichten mit Apache

Laravel einrichten Ubuntu Server Apache

In diesem Artikel werden wir Laravel Framework mit Apache auf Ubuntu 20.04 LTS installieren. Es wird Ihnen Gefühle der Produktionsumgebung geben, während Sie Ihre Anwendung in der lokalen Umgebung entwickeln.

Wie Sie alle wissen, ist Laravel ein leistungsstarkes Webanwendungs-Framework. Zum Zeitpunkt der Aufzeichnung dieses Videos ist die neueste Version von Laravel 8.13, und Laravel 8.13 erfordert PHP 7.3 oder eine höhere Version.

Wir können die gesamte Einrichtung in die folgenden 5 Hauptschritte unterteilen:

  • Schritt 1 – Apache-Webserver installieren
  • Schritt 2 – PHP 7.4 installieren und konfigurieren
  • Schritt 3 – Installieren der Composer PHP-Paketverwaltung
  • Schritt 4 – Laravel 8.x auf Ubuntu 20.04 installieren
  • Schritt 5 – Schließlich konfigurieren Sie Apache für Laravel und testen es.

Schritt 1 – Apache-Webserver installieren

Öffnen wir ein Terminal und aktualisieren als erstes die Paketliste mit dem Befehl Sudo apt update.

sudo apt update

Nachdem Sie Ihre Paketliste aktualisiert haben, installieren Sie den Apache-Webserver. Geben Sie also sudo apt install apache2 ein und drücken Sie dann die Eingabetaste. Drücken Sie die y-Taste, um fortzufahren. Sie können Laravel auch mit Nginx anstelle des Apache-Webservers einrichten. Klicken Sie hier

sudo apt install apache2
systemctl status apache2
laravel ubuntu apache

Wenn der Apache-Server nicht läuft, verwenden Sie den folgenden Befehl, um apache serve zu starten und zum Boot-Start hinzuzufügen.

systemctl start apache2
systemctl enable apache2

Laravel Ubuntu Server Apache

Öffnen Sie nun den Webbrowser und geben Sie localhost ein, um zu sehen, ob die Standard-Apache-Webseite bedient wird oder nicht.

Schritt 2 – Installieren und konfigurieren Sie PHP 7.4

Gehen Sie zurück zum Terminal und es ist Zeit, PHP zu installieren. Sie können sich auch diesen Artikel ansehen, in dem beschrieben wird, wie Sie mehrere PHP auf einem einzigen Server verwalten können. Um Laravel 8.x zu installieren, müssen Sie mindestens PHP >= 7.3 auf Ihrem System haben. Und standardmäßig stellt das offizielle Ubuntu 20.04-Repository PHP 7.4-Pakete bereit. Installieren Sie die PHP 7.4-Pakete mit dem folgenden apt-Befehl.

sudo apt install libapache2-mod-php php php-common php-xml php-gd php-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip
Damit können Sie Ihre PHP-Version überprüfen.

php -- version
php version

Ubuntu Server PHP Version

Nehmen Sie nun Änderungen in der PHP-ini-Datei vor und setzen Sie cgi.fix_pathinfo auf 0. Wenn Sie diese Zahl auf 1 belassen, wird der PHP-Interpreter versuchen, die Datei zu verarbeiten, die der angeforderten Datei am nächsten ist. Dies ist ein mögliches Sicherheitsrisiko. Wenn diese Zahl auf 0 gesetzt wird, verarbeitet der Interpreter dagegen nur den exakten Dateipfad – eine viel sicherere Alternative.

cd /etc/php/7.4/apache2
sudo nano php.ini

Drücken Sie ctrl+w und suchen Sie nach dem Wort “cgi.fix”, kommentieren Sie die Zeile aus und setzen Sie sie auf 0.


cgi.fix_pathinfo=0

Drücken Sie Strg + x und dann y zum Speichern und Beenden.

Starten Sie nun den Apache-Dienst neu.

systemctl neu starten apache2

Schritt 3 – Installieren Sie Composer PHP-Paketverwaltung

Nun ist es an der Zeit, den Composer-Paketmanager zu installieren. Laden Sie Composer herunter und installieren Sie ihn. und verschieben Sie die composer .phar-Datei in das Verzeichnis usr/local/bin/composer.

sudo apt install curl
curl -sS https://getcomposer.org/installer | php
udo mv composer.phar /usr/local/bin/composer

Sie können Ihre installierte composer-Version überprüfen, indem Sie composer – version eingeben.

composer --version

Hier können Sie sehen, dass meine Version 2.8.4 ist

Composer Version

Schritt 4 – Laravel 8.x auf Ubuntu 20.04 installieren

Jetzt installieren Sie das Laravel-Framework mit Hilfe von composer, geben Sie einfach composer global require Laravel/installer ein Es wird eine Weile dauern, bis der Download der Abhängigkeiten abgeschlossen ist.

composer global require laravel/installer

Wie Sie im obigen Bild gesehen haben, wurden alle Pakete in das Verzeichnis ‘~/.config/composer’ installiert. Als nächstes müssen wir das ‘bin’-Verzeichnis über die ~/.bashrc-Konfiguration zur PATH-Umgebung hinzufügen. Bearbeiten Sie nun die ~/.bashrc-Konfiguration mit dem Befehl nano.

code>nano ~/.bashrc

Und fügen Sie die folgende Zeile am Ende der Datei ein.


export PATH="$HOME/.config/composer/vendor/bin:$PATH"

Laden Sie nun Ihre bashrc-Konfiguration mit dem Befehl source neu.

source ~/.bashr

Geben Sie nun echo $PATH ein. Es wird Ihren “Bin”-Verzeichnispfad für das Composer-Paket zurückgeben.

echo $PATH

Das “bin”-Verzeichnis für die Composer-Pakete wurde der Umgebungsvariablen $PATH hinzugefügt. Und als Ergebnis können Sie den Befehl “laravel” verwenden, um ein neues Projekt zu starten und zu erstellen. Geben Sie nun Laravel new und dann Ihren Projektnamen ein, um ein neues Laravel-Projekt zu starten.

laravel neu myapp1

Dies wird eine Weile dauern, um alle von Laravel benötigten Abhängigkeiten herunterzuladen.

Hier können Sie sehen, dass die Installation meines neuen Projekts myapp1 abgeschlossen ist. Sie können auch sehen, dass in meinem Home-Verzeichnis ein neues Verzeichnis mit meinem Projektnamen erstellt wurde.

Schritt 5 – Zum Schluss konfigurieren Sie den Apache für Laravel und testen ihn.

Fügen Sie zunächst Ihr Projektverzeichnis mit folgendem Befehl zur Gruppe www-data hinzu

sudo chgrp -R www-data /home/techblog/myapp1

Das Flag -R ist rekursiv, das bedeutet, dass alle Unterverzeichnisse und Dateien unter Ihrem Projektverzeichnis in die Gruppe “www-data” geändert werden.

Außerdem müssen Sie die Zugriffsberechtigung 775 für das Speicherverzeichnis unter Ihrem Projekt ändern. Verwenden Sie also den folgenden Befehl.

sudo chmod -R 775 /home/techblog/myapp1/storage

Erstellen Sie nun eine Apache-Vhost-Konfiguration. Gehen Sie in das folgende Verzeichnis und erstellen Sie mit dem Dateieditor nano eine vhost-Konfigurationsdatei.

cd /etc/apache2/sites-available/
sudo nano myapp1.com.conf

Und fügen Sie die folgende Zeile in die Datei ein.

<VirtualHost *:80>
ServerName myapp1.com

ServerAdmin admin@myapp1.com
DocumentRoot /home/techblog/myapp1/public

<Verzeichnis /home/techblog/myapp1>
Optionen Indizes MultiViews
AllowOverride Keine
Require all gewährt
</Verzeichnis>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log kombiniert
</VirtualHost>

//Alle rot gefärbten Texte müssen nach Ihren Wünschen geändert werden//
Um mehr über die Vhost-Konfiguration zu erfahren, klicken Sie hier Wie man Apache Virtual Host unter Ubuntu konfiguriert. Aktivieren Sie nun mod rewrite für apache2, indem Sie einfach Folgendes eingeben

sudo a2enmod rewrite.

Aktivieren Sie nun Ihre Website, geben Sie einfach

sudo a2ensite myapp1.com.conf.

Zum Schluss starten Sie den Apache-Dienst neu, indem Sie

systemctl restart apache2

Da Sie sich in einer lokalen Umgebung befinden, benötigen Sie einen lokalen DNS-Resolver für Ihre Website. Bearbeiten Sie die Datei /etc/hosts, fügen Sie einen DNS-Eintrag für Ihre Website hinzu und speichern Sie die Datei.

sudo nano /etc/hosts

127.0.0.1 myapp1.com

Gehen Sie nun zurück zum Webbrowser, öffnen Sie einen Tab und geben Sie den Hostnamen Ihres Projekts ein.

Laravel Oberfläche

Und hier ist es, es funktioniert. Hier können Sie die Laravel-Version und die PHP-Version sehen.