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

So installieren Sie Laravel 5.x mit Nginx und PHP-FPM 7.1 unter CentOS 7

Laravel ist ein Open-Source-PHP-Framework, das dem MVC-Entwurfsmuster (Model-View-Controller) folgt. Es wurde 2011 von Taylor Otwell als Versuch entwickelt, eine fortschrittliche Alternative zum CodeIgniter (CI)-Framework bereitzustellen. Im Jahr 2011 veröffentlichte das Laravel-Projekt Version 1 und 2, dieses Jahr wurde Version 5.4 mit vielen Verbesserungen veröffentlicht, wie z>

In diesem Tutorial zeige ich Ihnen, wie Sie das Laravel Web Framework mit Nginx-Webserver, PHP-FPM 7.1 und MariaDB auf einem CentOS 7-System installieren. Ich zeige Ihnen Schritt für Schritt, wie Sie Laravel unter dem LEMP-Stack auf einem CentOS 7-Server installieren und konfigurieren.

Dieses Tutorial ist auch für Laravel auf Ubuntu verfügbar.

Voraussetzung:

  • CentOS 7-Server.
  • Root-Berechtigungen.

Schritt 1 – Installieren Sie das EPEL-Repository

EPEL oder Extra Package for Enterprise Linux ist ein zusätzliches Paket-Repository, das nützliche Softwarepakete bereitstellt, die nicht im offiziellen CentOS-Repository enthalten sind. Es kann auf RPM-basierten Linux-Distributionen wie CentOS und Fedora installiert werden.

In diesem Tutorial benötigen wir das EPEL-Repository für die Nginx-Installation, da Nginx-Pakete nicht im offiziellen CentOS-Repository vorhanden sind. Installieren Sie das EPEL-Repository mit dem folgenden Befehl yum.

yum -y install epel-release

Das EPEL-Repository wurde installiert.

Schritt 2 – Nginx installieren

In diesem Tutorial führen wir ein Laravel unter dem LEMP-Stack aus. Nginx ist der Webserver-Teil des LEMP-Stacks und kann aus dem EPEL-Repository installiert werden.

Installieren Sie Nginx 1.10 aus dem EPEL-Repository mit yum.

yum -y install nginx

Wenn die Installation abgeschlossen ist, starten Sie Nginx und fügen Sie es hinzu, um es beim Booten zu starten.

systemctl start nginx
systemctl enable nginx

Nginx wird auf Port 80 ausgeführt. Überprüfen Sie dies mit dem netstat-Befehl unten.

netstat -plntu

Falls Sie als Ergebnis „Befehl nicht gefunden“ erhalten, installieren Sie das net-tools-Paket wie unten gezeigt.

yum -y install net-tools

Schritt 3 – Installieren und konfigurieren Sie PHP-FPM 7.1

Laravel kann auf einem Server mit PHP-Version>=5.6.4 installiert werden. In diesem Tutorial verwenden wir die neueste Version von PHP 7.1, die von Laravel unterstützt wird.

PHP 7.1 ist nicht im CentOS-Basis-Repository vorhanden, wir müssen es aus einem Drittanbieter-Repository namens „webtatic“ installieren.

Installieren Sie das webtatic-Repository mit diesem RPM-Befehl.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Jetzt können wir PHP-FPM mit allen von Laravel benötigten Erweiterungen mit einem einzigen yum-Befehl installieren.

yum install -y php71w php71w-curl php71w-common php71w-cli php71w-mysql php71w-mbstring php71w-fpm php71w-xml php71w-pdo php71w-zip

PHP 7.1 wurde auf unserem CentOS 7-System installiert.

Als nächstes konfigurieren Sie PHP, indem Sie die Konfigurationsdatei php.ini mit vim bearbeiten.

vim /etc/php.ini

Entkommentieren Sie die folgende Zeile und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Speichern Sie die Datei und verlassen Sie den Editor.

Bearbeiten Sie nun die PHP-FPM-Datei www.conf.

vim /etc/php-fpm.d/www.conf

PHP-FPM wird unter dem Benutzer und der Gruppe „nginx“ ausgeführt ', ändern Sie den Wert der beiden Zeilen darunter in 'nginx '.

user = nginx
group = nginx

Anstatt den Serverport zu verwenden, wird PHP-FPM unter einer Socket-Datei ausgeführt. Ändern Sie den Wert „listen“ in den Pfad „/run/php-fpm/php-fpm.sock“. ' wie unten gezeigt.

listen = /run/php-fpm/php-fpm.sock

Der Eigentümer der Socket-Datei ist der Benutzer „nginx“, und der Berechtigungsmodus ist 660. Kommentieren Sie alle Werte aus und ändern Sie sie wie folgt:

listen.owner = nginx
listen.group = nginx
listen.mode  = 0660

Kommentieren Sie diese Zeilen für die Umgebungsvariablen aus und legen Sie die Werte wie unten gezeigt fest.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Speichern Sie die Datei und beenden Sie vim, starten Sie dann PHP-FPM und lassen Sie es beim Booten laufen.

systemctl start php-fpm
systemctl enable php-fpm

PHP-FPM läuft unter der Socket-Datei, überprüfen Sie dies mit dem folgenden Befehl.

netstat -pl | grep php-fpm.sock

Die Installation und Konfiguration von PHP und PHP-FPM 7.1 ist abgeschlossen.

Schritt 4 – MariaDB-Server installieren

Sie können MySQL oder PostgreSQL für Ihr Laravel-Projekt verwenden. Ich werde den MariaDB-Datenbankserver für dieses Tutorial verwenden. Es ist im CentOS-Repository verfügbar. Installieren Sie den MariaDB-Server mit dem folgenden yum-Befehl.

yum -y install mariadb mariadb-server

Wenn die Installation abgeschlossen ist, starten Sie 'mariadb' und aktivieren Sie es so, dass es beim Booten gestartet wird.

systemctl start mariadb
systemctl enable mariadb

MariaDB wurde gestartet und läuft auf Port 3306. Überprüfen Sie dies mit dem netstat-Befehl.

netstat -plntu

Konfigurieren Sie als Nächstes das Root-Passwort für MariaDB mit der Datei „mylsq_secure_installation ' Befehl unten.

mysql_secure_installation

Geben Sie Ihr Mariadb-Root-Passwort ein, entfernen Sie den anonymen Benutzer usw.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Die Installation und Konfiguration von MariaDB ist abgeschlossen.

Schritt 5 – PHP Composer installieren

PHP Composer ist ein Paketmanager für die Programmiersprache PHP. Es wurde 2011 erstellt und ist vom „npm“-Installer von Node.js und dem „Bundler“-Installer von Ruby inspiriert. Composer mit dem Curl-Befehl installieren.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Versuchen Sie nach Abschluss der Installation, den 'composer ' Befehl und Sie werden die Ergebnisse wie unten sehen.

composer

PHP Composer installiert auf CentOS 7.

Schritt 6 – Konfigurieren Sie den virtuellen Nginx-Host für Laravel

In diesem Schritt erstellen wir die Konfiguration des virtuellen nginx-Hosts für das Laravel-Projekt. Wir müssen das Web-Root-Verzeichnis für diese Laravel-Installation definieren, ich werde die Datei „/var/www/laravel verwenden ' Verzeichnis als Web-Root-Verzeichnis.

Erstellen Sie es mit dem folgenden mkdir-Befehl:

mkdir -p /var/www/laravel

Gehen Sie als Nächstes in das nginx-Verzeichnis und erstellen Sie eine neue virtuelle Host-Konfigurationsdatei laravel.conf im Verzeichnis conf.d.

cd /etc/nginx
vim conf.d/laravel.conf

Fügen Sie die folgende Konfiguration in die Datei ein:

server {
        listen 80;
        listen [::]:80 ipv6only=on;

    # Log files for Debugging
        access_log /var/log/nginx/laravel-access.log;
        error_log /var/log/nginx/laravel-error.log;

    # Webroot Directory for Laravel project
        root /var/www/laravel/public;
        index index.php index.html index.htm;

        # Your Domain Name
        server_name laravel.hakase-labs.co;

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

    # PHP-FPM Configuration Nginx
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Speichern Sie die Datei und beenden Sie vim.

Testen Sie die nginx-Konfiguration und vergewissern Sie sich, dass kein Fehler vorliegt, und starten Sie dann den nginx-Dienst neu.

nginx -t
systemctl restart nginx

Die Konfiguration des virtuellen nginx-Hosts für Laravel wurde abgeschlossen.

Schritt 7 – Laravel installieren

Vor der Installation von Laravel müssen wir unzip auf dem Server installieren.

yum -y install unzip

Gehen Sie nun in das Laravel-Web-Root-Verzeichnis ‚/var/www/laravel‘.

cd /var/www/laravel

Laravel bietet zwei Möglichkeiten für die Installation des Frameworks auf dem Server. Wir können Laravel mit dem Laravel-Installationsprogramm installieren und wir können es mit PHP Composer installieren. In diesem Tutorial werde ich Laravel installieren, indem ich mit dem Composer-Befehl ein neues Projekt erstelle.

Führen Sie den folgenden Befehl aus, um Laravel zu installieren.

composer create-project laravel/laravel .

Warten Sie, bis die Laravel-Installation abgeschlossen ist. Dies kann einige Zeit dauern.

Wenn die Installation abgeschlossen ist, ändern Sie den Eigentümer des Laravel-Webstammverzeichnisses in den Benutzer „nginx“ und ändern Sie die Berechtigung des Speicherverzeichnisses mit den folgenden Befehlen auf 755.

chown -R nginx:root /var/www/laravel
chmod 755 /var/www/laravel/storage

Die Laravel-Installation ist abgeschlossen.

Schritt 8 – SELinux konfigurieren

In diesem Tutorial wird Laravel im SELinux-'Enforcing'-Modus ausgeführt. Führen Sie den folgenden Befehl aus, um den SELinux-Status zu überprüfen.

sestatus

Das Ergebnis ist, dass SELinux in 'Erzwingen ausgeführt wird ' Modus.

Als Nächstes müssen wir die SELinux-Verwaltungstools für CentOS 7 installieren.

Installieren Sie „policycoreutils-python“ auf dem Server.

yum -y install policycoreutils-python

Jetzt müssen wir den Kontext der Laravel-Verzeichnisse ändern und die Änderungen dann mit dem Befehl restorecon anwenden. Führen Sie die SELinux-Verwaltungsbefehle wie unten gezeigt aus.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/public(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/app(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/bootstrap(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/database(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/resources(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/routes(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/vendor(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/tests(/.*)?'
restorecon -Rv '/var/www/laravel/'

Die SELinux-Konfiguration für Laravel ist abgeschlossen.

Schritt 9 – Laravel testen

Öffnen Sie Ihren Webbrowser und geben Sie die Laravel-URL Ihres Servers ein. Wir haben den Domänennamen für Laravel in der virtuellen Nginx-Hostdatei definiert. Meine ist laravel.hakase-labs.co .

Wenn Sie den Domainnamen besuchen, sehen Sie die Laravel-Homepage.

Die Laravel-Installation mit Nginx, PHP-FPM7 und MariaDB auf CentOS 7 war erfolgreich.


Cent OS
  1. So installieren und konfigurieren Sie 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. Installieren Sie Magento auf CentOS 7 mit Nginx, PHP-FPM und MariaDB

  5. So installieren Sie Let’s Encrypt auf CentOS 8 mit Nginx

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

So installieren Sie OwnCloud 8 mit Nginx und PHP-FPM auf CentOS 6

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 CentOS 8