Wie man Pimcore mit Nginx auf CentOS 7 installiert

Pimcore bietet ein kostenloses und Open Source Enterprise Content Management System. Es ist in PHP geschrieben und verwendet MySQL, um seine Datenbank zu speichern. Pimcore CMS ist völlig flexibel und bearbeitbar, Sie können die Website nach Ihren Wünschen personalisieren. Abgesehen von all diesen, hat es viele Enterprise-Class-Funktionen, die es in der Lage, die Nachfrage nach Enterprise Grade Website zu liefern.

In diesem Tutorial werden wir Pimcore CMS auf dem CentOS 7 Server installieren.

Voraussetzung

  • Minimaler CentOS 7 Server
  • Root-Rechte

Schritt 1 – Installation von Nginx

Es wird empfohlen, den Server vor der Installation eines Pakets zu aktualisieren, damit die vorhandenen Pakete und Repositories aktualisiert werden.

yum -y install epel-release
 yum -y update

Sobald Sie Ihr System aktualisiert haben, können Sie mit der Installation des Nginx-Webservers fortfahren.

yum -y install nginx

Starten Sie nun den Nginx-Webserver und aktivieren Sie ihn mit dem folgenden Befehl zum Startzeitpunkt.

systemctl start nginx
systemctl enable nginx

Schritt 2 – Installation von PHP

Pimcore unterstützt alle Versionen von PHP größer als 5.6. Aber in diesem Tutorial werden wir PHP 7.1 installieren. Die Installation der neuesten Version von PHP gewährleistet die maximale Sicherheit und Leistung der Anwendung.

Das Standard YUM-Repository von CentOS enthält nicht PHP 7.1, daher müssen Sie das Webtatic-Repository in Ihrem System hinzufügen.

Geben Sie die Befehle ein, um das Webtatic-Repository zu installieren.

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

Geben Sie den folgenden Befehl ein, um PHP 7.1 zusammen mit allen erforderlichen Abhängigkeiten zu installieren.

yum -y install php71w php71w-mysqli php71w-fpm php71w-gd php71w-cli php71w-iconv php71w-dom php71w-simplexml php71w-exif php71w-fileinfo php71w-mbstring php71w-zlib php71w-zip php71w-bz2 php71w-openssl php71w-opcache php71w-curl php71w-pecl-redis ImageMagick

Um zu überprüfen, ob PHP erfolgreich installiert ist, können Sie es ausführen:

php -v

Du solltest eine ähnliche Ausgabe wie diese erhalten.

[[email protected] ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.6, Copyright (c) 1999-2017, by Zend Technologies

Jetzt müssen Sie nur noch wenige Konfigurationen in PHP konfigurieren. Öffnen Sie die PHP-Konfigurationsdatei php.ini mit Ihrem bevorzugten Texteditor.

nano /etc/php.ini

Finden Sie die folgende Zeile, kommentieren Sie die Zeile und stellen Sie die Zeitzone entsprechend Ihrer Region ein. Zum Beispiel:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

Suchen Sie weiter nach der folgenden Zeile:

upload_max_filesize = 2M

Ändern Sie den Wert von 2M auf 100M und suchen Sie nach der folgenden Zeile:

post_max_size = 8M

Ändern Sie den Wert von 8M auf 100M. Speichern Sie die Datei und verlassen Sie den Editor.

Öffnen Sie nun die PHP-FPM-Konfigurationsdatei unter /etc/php-fpm.d/wwww.conf:

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

Suchen Sie die folgenden Zeilen:

user = apache
group = apache

Ändere den Benutzer- und Gruppenwert von apache auf nginx. Jetzt finden:

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660

Entkommentiere die obigen Zeilen und ändere niemanden in nginx.

Und schließlich finden:

listen = 127.0.0.1:9000

Kommentiere die obige Zeile aus und füge die folgende Zeile darunter hinzu.

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

Starten Sie nun den PHP-FPM-Dienst und aktivieren Sie ihn so, dass er automatisch beim Booten mit:

systemctl start php-fpm
systemctl enable php-fpm

Schritt 3 – Installation von MariaDB

MariaDB ist ein Teil der MySQL-Datenbank. Um MariaDB auf Ihrem Server zu installieren, führen Sie:

yum -y install mariadb mariadb-server

Führen Sie die folgenden Befehle aus, um MariaDB zu starten und zu aktivieren, dass es beim Booten gestartet wird.

systemctl start mariadb
systemctl enable mariadb

Führen Sie nun die folgenden Befehle aus, um Ihre MariaDB-Installation zu sichern.

mysql_secure_installation

Der obige Befehl führt ein Skript aus, um die Neuinstallation von MariaDB zu sichern. Das Skript fragt nach dem vorhandenen root-Benutzerpasswort, wir haben gerade MariaDB installiert, das root-Passwort ist nicht gesetzt, drücken Sie einfach die Eingabetaste, um fortzufahren.

Das Skript wird Sie fragen, ob Sie ein Root-Passwort für Ihre MariaDB-Installation festlegen möchten, wählen Sie y und legen Sie ein sicheres Passwort für die Installation fest. Die meisten Fragen sind selbsterklärend und du solltest alle Fragen mit ja oder y beantworten. Die Ausgabe sieht wie unten gezeigt aus.

Um eine Datenbank zu erstellen, müssen wir uns zuerst bei der MySQL-Befehlszeile anmelden. Führen Sie den folgenden Befehl aus.

mysql -u root -p

Der obige Befehl meldet sich in der MySQL-Shell des Root-Benutzers an, er fordert das Passwort des Root-Benutzers an. Geben Sie das Passwort für die Anmeldung ein. Führen Sie nun die folgende Abfrage aus, um eine neue Datenbank für Ihre Pimcore-Installation zu erstellen.

CREATE DATABASE pimcore_data CHARACTER SET UTF8;

Die obige Abfrage erstellt eine neue Datenbank namens pimcore_data. Achten Sie darauf, dass Sie am Ende jeder Abfrage Semikolon verwenden, da die Abfrage immer mit einem Semikolon endet.

Um einen neuen Datenbankbenutzer anzulegen, führen Sie die folgende Abfrage aus.

CREATE USER 'pimcore_user'@'localhost' IDENTIFIED BY 'StrongPassword';

Stellen Sie nun Ihrem Datenbankbenutzer alle Berechtigungen für die von Ihnen erstellte Datenbank zur Verfügung. Führen Sie den folgenden Befehl aus.

GRANT ALL PRIVILEGES ON pimcore_data.* TO 'pimcore_user'@'localhost';

Führen Sie nun den folgenden Befehl aus, um die Änderungen sofort auf die Datenbankberechtigungen anzuwenden.

FLUSH PRIVILEGES;

Beenden Sie die MySQL-Eingabeaufforderung mit dem folgenden Befehl.

EXIT;

Schritt 4 – Installation zusätzlicher Serversoftware

Pimcore benötigte zusätzliche Serverpakete, mit denen bestimmte Operationen mit Pimcore CMS durchgeführt werden können. Nur wenige der Abhängigkeiten sind nur im RPMFusion-Repository verfügbar. Installieren Sie das RPM Fusion-Repository mit dem folgenden Befehl.

rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

Führen Sie den folgenden Befehl aus, um die zusätzliche Serversoftware zu installieren.

yum -y install ffmpeg libreoffice libreoffice-math xorg-x11-fonts-75dpi poppler-utils inkscape libXrender ghostscript fontconfig wkhtmltopdf

Der obige Befehl installiert FFMPEG, LibreOffice, pdftotext, Inkscape und Wkhtmltoimage / Wkhtmltopdf.

Schritt 5 – Installation und Konfiguration von Pimcore

Da wir alle Abhängigkeiten bereit haben, können wir nun das Installationspaket von der Pimcore Website herunterladen.

cd /var/www

Pimcore bietet drei verschiedene Arten von Installationsarchiven. Wenn Sie Pimcore zusammen mit Demo-Daten, die für Anfänger geeignet sind, installieren möchten, können Sie Pimcore über den folgenden Link herunterladen.

wget https://www.pimcore.org/download/pimcore-data.zip

Wenn Sie nur das Pimcore Kernpaket installieren möchten, können Sie den folgenden Link zum Herunterladen verwenden.

wget https://www.pimcore.org/download/pimcore-latest.zip

Die dritte Option ist die Installation von Nightly Build, das nur für Entwicklungszwecke gedacht ist. Der obige Befehl lädt immer die neueste Version von Pimcore herunter. Entpacken Sie das Archiv mit dem folgenden Befehl.

unzip pimcore*.zip -d pimcore

Wenn Sie nicht unzip installiert haben, können Sie yum -y install unzip ausführen.

Schritt 6 – Konfigurieren von Berechtigungen und Firewall

Jetzt müssen Sie dem Webserver-Benutzer mit dem folgenden Befehl das Eigentum an der Anwendung mitteilen.

chown -R nginx:nginx /var/www/pimcore

Möglicherweise müssen Sie auch den HTTP-Verkehr auf Port 80 durch die Firewall zulassen, wenn Sie eine verwenden. Führen Sie die folgenden Befehle aus.

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

Um SELinux vorübergehend zu deaktivieren, ohne den Server neu zu starten, führen Sie den folgenden Befehl aus.

setenforce 0

Um die SELinux vollständig zu deaktivieren, müssen Sie die Datei /etc/selinux/config bearbeiten.

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Ändere es in:

SELINUX=disabled

Erstellen Sie nun einen virtuellen Host oder Serverblock für die Pimcore-Anwendung. Führen Sie den folgenden Befehl aus.

nano /etc/nginx/conf.d/cms.yourdomain.com.conf

Fügen Sie die folgenden Zeilen in die Datei ein.

server {
    root /var/www/pimcore;
    index index.php;
    server_name cms.yourdomain.com;
    listen 80;
    access_log  /var/www/pimcore/website/var/log/nginx_access.log;
    error_log   /var/www/pimcore/website/var/log/nginx_error.log error;
 
    set $getassets "";
    if ($uri ~* ^/website/var/assets)   { set $getassets "${getassets}A"; }
    if ($request_method = GET)      { set $getassets "${getassets}B"; }
    if ($getassets = "AB") {
        rewrite ^ $uri$args last;
    }
 
  location ~* ^(/plugins/(?!.*/static).*|^/pimcore/(?!(static|modules/3rdparty)).*|/website/var/(?!tmp|assets|areas)|/modules/(?!.*/static).*|^(vendor|tests|node_modules|phing)/.*|^(bower|package|composer|gulpfile)\.) {
        return 403;
    }
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
        index index.php;
    }
 
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include        fastcgi_params;
        fastcgi_read_timeout 60;
    }

    location ~* \.(jpe?g|gif|png|bmp|ico|css|js|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
        access_log off;
        log_not_found off;
        try_files $uri $uri/ /website/var/assets$uri /index.php$is_args$args;
        expires 1w;
    }
    
  
    rewrite ^\/cache-buster-\d+(.*) $1 break;
    
    location /fpm-ping {
        access_log off;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }

    location /fpm-status {
        allow 127.0.0.1;
        deny all;
        access_log off;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }
    location /nginx-status {
        allow 127.0.0.1;
        deny all;
        access_log off;
        stub_status;
    }
}

Ersetzen Sie cms.yourdomain.com durch eine beliebige Domain oder Subdomain, die Sie für den Zugriff auf die Anwendung verwenden möchten. Speichern Sie die Datei und verlassen Sie den Editor. Führen Sie den folgenden Befehl aus, um Ihren Nginx-Server neu zu starten.

systemctl restart nginx

Schließen Sie nun die Installation mit einem Webbrowser ab, gehen Sie auf den folgenden Link.

http://cms.yourdomain.com

Sie werden auf der folgenden Seite begrüßt.

Wählen Sie mysqli als Datenbankadapter, geben Sie die Details der Datenbank und des neuen Admin-Benutzers an. Klicken Sie auf die Schaltfläche Jetzt installieren!, sobald Sie fertig sind. Die Installation dauert nur wenige Sekunden.

Fazit

Die Installation von Pimcore ist nun abgeschlossen, Sie können den Pimcore verwenden, um ganz einfach eine schöne Website für private oder kommerzielle Zwecke zu erstellen.

Das könnte dich auch interessieren …