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 --reload5. 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.confStandardmäß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 =066Legen 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.iniSuchen 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/KampalaZeitzone 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=1Sicheres 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 .php7Ausfü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/composerComposer 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.comInstallieren 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.confKopieren 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 startenSchritt 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/hostsDNS-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.comLaraval 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