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.