GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Laravel PHP Framework mit Nginx unter CentOS 8

Laravel ist ein bekanntes und modernes Open-Source-Webframework auf PHP-Basis mit einer ausdrucksstarken, eleganten und leicht verständlichen Syntax, mit der große, robuste Webanwendungen einfach erstellt werden können.

Zu den Hauptmerkmalen gehören eine einfache, schnelle Routing-Engine, ein leistungsstarker Dependency-Injection-Container, mehrere Back-Ends für Sitzungs- und Cache-Speicherung, ein ausdrucksstarkes und intuitives Datenbank-ORM (Object-Relational Mapping), eine robuste Jobverarbeitung im Hintergrund und eine Übertragung von Ereignissen in Echtzeit.

Außerdem werden Tools wie Composer verwendet – ein PHP-Paketmanager zum Verwalten von Abhängigkeiten und Artisan – eine Befehlszeilenschnittstelle zum Erstellen und Verwalten von Webanwendungen.

In diesem Artikel erfahren Sie, wie Sie die neueste Version von Laravel PHP installieren Web-Framework auf CentOS 8 Linux-Distribution.

Serveranforderungen

Das Laravel Framework hat die folgenden Anforderungen:

  • PHP>=7.2.5 mit diesen PHP-Erweiterungen OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype und JSON.
  • Komponist – zum Installieren und Verwalten von Abhängigkeiten.

Schritt 1:LEMP Stack in CentOS 8 installieren

1. Aktualisieren Sie zunächst die Systemsoftwarepakete und installieren Sie LEMP Stack (Linux , Nginx , MariaDB / MySQL und PHP ) mit den folgenden dnf-Befehlen.

# dnf update# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Wenn der LEMP Installation abgeschlossen ist, müssen Sie das PHP-PFM starten , Nginx und MariaDB Dienste mit den folgenden systemctl-Befehlen.

# systemctl start php-fpm nginx mariadb# systemctl enable php-fpm nginx mariadb# systemctl status php-fpm nginx mariadb

3. Als Nächstes müssen Sie die MariaDB sichern und härten Datenbank-Engine, die das Sicherheitsskript wie gezeigt verwendet.

# mysql_secure_installation

Beantworten Sie die folgenden Fragen, um die Serverinstallation zu sichern.

Aktuelles Passwort für root eingeben (Eingabe für keins):Enter Root-Passwort setzen? [J/n] y #neues Root-Passwort setzen Anonyme Benutzer entfernen? [J/n] y Root-Anmeldung aus der Ferne verbieten? [J/n] y Testdatenbank und Zugriff darauf entfernen? [J/n] y Berechtigungstabellen jetzt neu laden? [J/n] y 

4. Wenn Sie die Firewalld haben Dienst ausgeführt wird, müssen Sie HTTP öffnen und HTTPS Dienst in der Firewall, um Client-Anfragen an den Nginx-Webserver zu ermöglichen.

# firewall-cmd --zone=public --permanent --add-service=http# firewall-cmd --zone=public --permanent --add-service=https# firewall-cmd --reload 

5. Abschließend können Sie bestätigen, dass Ihr LEMP Stack mit einem Browser unter der IP-Adresse Ihres Systems ausgeführt wird.

http://Server-IP

Überprüfen Sie die Nginx-Webseite

Schritt 2:Konfigurieren und Sichern von PHP-FPM und Nginx

6. Um Anfragen von Nginx zu verarbeiten Webserver, PHP-FPM kann auf einem Unix-Socket oder TCP-Socket lauschen und dies wird durch listen definiert -Parameter in /etc/php-fpm.d/www.conf Konfigurationsdatei.

# vi /etc/php-fpm.d/www.conf

Standardmäßig ist es so konfiguriert, dass es zuhört auf einem Unix-Socket, wie im folgenden Screenshot gezeigt. Der Wert hier wird später in der Blockdatei des Nginx-Servers angegeben.

Legen Sie den PHP-FPM-Listen-Socket fest

7. Wenn Sie einen Unix-Socket verwenden, sollten Sie auch den richtigen Besitz und die richtigen Berechtigungen festlegen, wie im Screenshot gezeigt. Entkommentieren Sie die folgenden Parameter und legen Sie ihre Werte für den Benutzer und die Gruppe so fest, dass sie mit dem Benutzer und der Gruppe Nginx übereinstimmen läuft als.

listen.owner =nginxlisten.group =nginxlisten.mode =066

Legen Sie Listen Socket Ownership auf Nginx fest

8. Stellen Sie als Nächstes auch die systemweite Zeitzone in der /etc/php.ini ein Konfigurationsdatei.

# vi /etc/php.ini

Suchen Sie nach der Zeile “;date.timezone” und kommentieren Sie es aus und setzen Sie dann seinen Wert wie im Screenshot gezeigt (verwenden Sie Werte, die für Ihre Region/Ihren Kontinent und Ihr Land gelten).

 date.timezone =Afrika/Kampala

Zeitzone in PHP einstellen

9. Um das Risiko von Nginx zu mindern Anfragen von böswilligen Benutzern weiterleiten, die andere Erweiterungen verwenden, um PHP-Code an PHP-FPM auszuführen, kommentieren Sie den folgenden Parameter aus und setzen Sie seinen Wert auf 0 .

cgi.fix_pathinfo=1

Sicheres PHP und Nginx

10. Kommentieren Sie in Bezug auf den vorherigen Punkt auch den folgenden Parameter in /etc/php-fpm.d/www.conf aus Datei. Lesen Sie den Kommentar für weitere Erklärungen.

security.limit_extensions =.php .php3 .php4 .php5 .php7

Ausführung von PHP-Erweiterungen einschränken

Schritt 3:Composer und Laravel PHP Framework installieren

11. Installieren Sie als Nächstes den Composer Paket, indem Sie die folgenden Befehle ausführen. Der erste Befehl lädt das Installationsprogramm herunter und führt es dann mit PHP aus.

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

Composer in CentOS 8 installieren

12. Nun, dieser Komponist installiert ist, verwenden Sie es, um Laravel-Dateien und Abhängigkeiten wie folgt zu installieren. Ersetzen Sie mysite.com mit dem Namen des Verzeichnisses, in dem die Laravel-Dateien gespeichert werden, lautet der absolute Pfad (oder Stammpfad in der Nginx-Konfigurationsdatei) /var/www/html/mysite.com .

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

Installieren Sie Laravel in CentOS 8

Wenn während des Vorgangs alles gut geht, sollte die Anwendung erfolgreich installiert und ein Schlüssel generiert werden, wie im folgenden Screenshot gezeigt.

Laravel-Installation abgeschlossen

13. Während des Installationsvorgangs wird die Datei .env Umgebungsdatei erstellt und die erforderliche Anwendung wurde ebenfalls generiert, sodass Sie sie nicht wie zuvor manuell erstellen müssen. Führen Sie zur Bestätigung eine lange Auflistung des Laravel-Stammverzeichnisses mit dem Befehl ls aus.

# ls -la mysite.com/

Laravel-Dateien auflisten

14. Als Nächstes müssen Sie den richtigen Besitz und die richtigen Berechtigungen für den Speicher konfigurieren und der Bootstrap/Cache Verzeichnisse, die vom Nginx-Webserver beschreibbar sein sollen.

# chown -R :nginx /var/www/html/mysite.com/storage/# chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/# chmod -R 0777 /var /www/html/mysite.com/storage/# chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/

15. Wenn SELinux auf Ihrem Server aktiviert ist, sollten Sie auch den Sicherheitskontext des Speichers aktualisieren und Bootstrap/Cache Verzeichnisse.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com /bootstrap/cache(/.*)?'# restorecon -Rv '/var/www/html/mysite.com'

Schritt 4:Nginx-Serverblock für Laravel konfigurieren

16. Für Nginx Um mit dem Bereitstellen Ihrer Website oder Anwendung zu beginnen, müssen Sie einen Serverblock dafür in einer .conf erstellen Datei unter /etc/nginx/conf.d/ Verzeichnis wie gezeigt.

# vi /etc/nginx/conf.d/mysite.com.conf

Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein. Beachten Sie den Stamm und fastcgi_pass Parameter.

server {listen 80; server_name meineseite.com; root /var/www/html/mysite.com/public; indexindex.php; Zeichensatz utf-8; gzip an; 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; Ort / { Versuchsdateien $uri $uri/ /index.php?$query_string; } Ort ~ \.php {include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; } Ort ~ /\.ht { Alle verweigern; }}

17. Speichern Sie die Datei und prüfen Sie, ob die Nginx Konfigurationssyntax ist korrekt, indem ausgeführt wird.

# nginx -t

Überprüfen Sie die Nginx-Konfiguration

18. Starten Sie anschließend das PHP-FPM neu und Nginx Dienste, damit die letzten Änderungen wirksam werden.

# systemctl php-fpm neu starten# systemctl Nginx neu starten

Schritt 5:Zugriff auf die Laravel-Website über einen Webbrowser

19. Zugriff auf die Laravel-Website unter mysite.com , der kein vollständig qualifizierter Domänenname (FQDN) ist und nicht registriert ist (er wird nur zu Testzwecken verwendet), verwenden wir /etc/hosts Datei auf Ihrem lokalen Rechner, um lokales DNS zu erstellen.

Führen Sie den folgenden Befehl aus, um die IP-Adresse und Domäne des Servers in der erforderlichen Datei hinzuzufügen (ersetzen Sie den Wert gemäß Ihren Einstellungen).

# ip add #get remote server IP$ echo "10.42.0.21 mysite.com" | sudo tee -a /etc/hosts

DNS-Einträge in lokaler Datei hinzufügen

20. Öffnen Sie als Nächstes einen Webbrowser auf dem lokalen Computer und verwenden Sie die folgende Adresse zum Navigieren.

http://mysite.com

Laraval Web Access

Sie haben Laravel erfolgreich bereitgestellt auf CentOS 8 . Sie können jetzt mit der Entwicklung Ihrer Website oder Webanwendung mit Laravel beginnen . Weitere Informationen finden Sie im Leitfaden Erste Schritte mit Laravel.

Sharing is Caring…
Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen
Cent OS
  1. So installieren Sie WordPress mit Nginx unter CentOS 7

  2. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  3. So installieren Sie Nextcloud mit Nginx und PHP 7.3 auf CentOS 8

  4. So installieren Sie SuiteCRM mit Nginx unter CentOS 7

  5. So installieren Sie Phorum mit Nginx unter CentOS 7

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie Laravel mit Nginx unter CentOS 8

So installieren Sie Laravel PHP Framework mit Nginx unter Ubuntu 20.04

So installieren Sie Laravel PHP Framework mit Nginx unter Ubuntu Linux