GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Pimcore avec Nginx sur CentOS 7

Pimcore fournit un système de gestion de contenu d'entreprise gratuit et open source. Il est écrit en PHP et utilise MySQL pour stocker sa base de données. Pimcore CMS est entièrement flexible et modifiable, vous pouvez personnaliser le site comme vous le souhaitez. En dehors de tout cela, il possède de nombreuses fonctionnalités de classe entreprise qui le rendent capable de répondre à la demande d'un site Web de niveau entreprise.

Dans ce tutoriel, nous allons installer Pimcore CMS sur le serveur CentOS 7.

Prérequis

  • Serveur CentOS 7 minimal
  • Privilèges root

Étape 1 - Installation de Nginx

Il est recommandé de mettre à jour le serveur avant d'installer un package afin que les packages et les référentiels existants soient mis à jour.

yum -y install epel-release
yum -y update

Une fois votre système mis à jour, vous pouvez procéder à l'installation du serveur Web Nginx.

yum -y install nginx

Maintenant, démarrez le serveur Web Nginx et activez-le pour qu'il démarre au démarrage à l'aide de la commande suivante.

systemctl start nginx
systemctl enable nginx

Étape 2 - Installation de PHP

Pimcore prend en charge toutes les versions de PHP supérieures à 5.6. Mais dans ce tutoriel, nous allons installer PHP 7.1. L'installation de la dernière version de PHP garantira la sécurité et les performances maximales de l'application.

Le référentiel YUM par défaut de CentOS n'inclut pas PHP 7.1, vous devrez donc ajouter le référentiel Webtatic dans votre système.

Tapez les commandes pour installer le référentiel Webtatic.

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

Tapez la commande suivante pour installer PHP 7.1 avec toutes les dépendances requises.

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

Pour vérifier si PHP est installé avec succès, vous pouvez exécuter :

php -v

Vous devriez obtenir une sortie similaire à celle-ci.

[[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

Maintenant, vous devrez configurer quelques configurations en PHP. Ouvrez le fichier de configuration PHP, php.ini à l'aide de votre éditeur de texte préféré.

nano /etc/php.ini

Trouvez la ligne suivante, décommentez la ligne et définissez le fuseau horaire en fonction de votre région. Par exemple :

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

Ensuite, recherchez la ligne suivante :

upload_max_filesize = 2M

Modifiez la valeur de 2 M à 100 M et recherchez la ligne suivante :

post_max_size = 8M

Modifiez la valeur de 8M à 100M. Enregistrez le fichier et quittez l'éditeur.

Maintenant, ouvrez le fichier de configuration PHP-FPM situé dans /etc/php-fpm.d/www.conf :

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

Recherchez les lignes suivantes :

user = apache
group = apache

Modifiez la valeur de l'utilisateur et du groupe d'apache à nginx. Trouvez maintenant :

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

Décommentez les lignes ci-dessus et remplacez personne par nginx.

Et, enfin, trouvez :

listen = 127.0.0.1:9000

Commentez la ligne ci-dessus et ajoutez la ligne suivante en dessous.

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

Démarrez maintenant le service PHP-FPM et activez-le pour qu'il démarre automatiquement au démarrage en utilisant :

systemctl start php-fpm
systemctl enable php-fpm

Étape 3 - Installer MariaDB

MariaDB est un fork de la base de données MySQL. Pour installer MariaDB sur votre serveur, exécutez :

yum -y install mariadb mariadb-server

Exécutez les commandes suivantes pour démarrer MariaDB et lui permettre de démarrer au démarrage.

systemctl start mariadb
systemctl enable mariadb

Exécutez maintenant les commandes suivantes pour sécuriser votre installation MariaDB.

mysql_secure_installation

La commande ci-dessus exécutera un script pour sécuriser la nouvelle installation de MariaDB. Le script demandera le mot de passe de l'utilisateur root existant, nous venons d'installer MariaDB, le mot de passe root n'est pas défini, appuyez simplement sur Entrée pour continuer.

Le script vous demandera si vous souhaitez définir un mot de passe root pour votre installation MariaDB, choisissez y et définissez un mot de passe fort pour l'installation. La plupart des questions sont explicites et vous devez répondre oui ou y à toutes les questions. La sortie ressemblera à celle ci-dessous.

Pour créer une base de données, nous devrons d'abord nous connecter à la ligne de commande MySQL. Exécutez la commande suivante pour le même.

mysql -u root -p

La commande ci-dessus se connectera au shell MySQL de l'utilisateur root, il demandera le mot de passe de l'utilisateur root. Fournissez le mot de passe pour vous connecter. Exécutez maintenant la requête suivante pour créer une nouvelle base de données pour votre installation Pimcore.

CREATE DATABASE pimcore_data CHARACTER SET UTF8;

La requête ci-dessus créera une nouvelle base de données nommée pimcore_data. Assurez-vous d'utiliser un point-virgule à la fin de chaque requête car la requête se termine toujours par un point-virgule.

Pour créer un nouvel utilisateur de base de données, exécutez la requête suivante.

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

Fournissez maintenant tous les privilèges à votre utilisateur de base de données sur la base de données que vous avez créée. Exécutez la commande suivante.

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

Exécutez maintenant la commande suivante pour appliquer immédiatement les modifications sur les privilèges de la base de données.

FLUSH PRIVILEGES;

Quittez l'invite MySQL à l'aide de la commande suivante.

EXIT;

Étape 4 - Installation d'un logiciel serveur supplémentaire

Pimcore a requis des packages de serveur supplémentaires qui sont utilisés pour effectuer certaines opérations à l'aide de Pimcore CMS. Peu de dépendances ne sont disponibles que dans le référentiel RPMFusion. Installez le référentiel RPM Fusion à l'aide de la commande suivante.

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

Exécutez la commande suivante pour installer le logiciel serveur supplémentaire.

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

La commande ci-dessus installera FFMPEG, LibreOffice, pdftotext, Inkscape et Wkhtmltoimage / Wkhtmltopdf.

Étape 5 - Installer et configurer Pimcore

Comme nous avons toutes les dépendances prêtes, nous pouvons maintenant télécharger le package d'installation à partir du site Web de Pimcore.

cd /var/www

Pimcore fournit trois types différents d'archives d'installation. Si vous souhaitez installer Pimcore avec des données de démonstration adaptées aux débutants, vous pouvez utiliser le lien suivant pour télécharger Pimcore.

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

Si vous souhaitez installer uniquement le package de base Pimcore, vous pouvez utiliser le lien suivant pour le télécharger.

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

La troisième option consiste à installer la version nocturne, uniquement à des fins de développement. La commande ci-dessus téléchargera toujours la dernière version de Pimcore. Extrayez l'archive à l'aide de la commande suivante.

unzip pimcore*.zip -d pimcore

Si vous n'avez pas installé unzip, vous pouvez exécuter yum -y install unzip.

Étape 6 - Configurer les autorisations et le pare-feu

Vous devrez maintenant fournir la propriété de l'application à l'utilisateur du serveur Web à l'aide de la commande suivante.

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

Vous devrez peut-être également autoriser le trafic HTTP sur le port 80 via le pare-feu si vous en exécutez un. Exécutez les commandes suivantes pour le même.

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

Pour désactiver temporairement SELinux sans redémarrer le serveur, exécutez la commande suivante.

setenforce 0

Pour désactiver complètement SELinux, vous devrez modifier le fichier /etc/selinux/config.

nano /etc/selinux/config

Recherchez la ligne suivante :

SELINUX=enforcing

Changez-le en :

SELINUX=disabled

Créez maintenant un hôte virtuel ou un bloc de serveur pour l'application Pimcore. Exécutez la commande suivante pour le même.

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

Collez les lignes suivantes dans le fichier.

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;
    }
}

Remplacez cms.votredomaine.com par n'importe quel domaine ou sous-domaine que vous souhaitez utiliser pour accéder à l'application. Enregistrez le fichier et quittez l'éditeur. Exécutez la commande suivante pour redémarrer votre serveur Nginx.

systemctl restart nginx

Terminez maintenant l'installation à l'aide d'un navigateur Web, accédez au lien suivant.

http://cms.yourdomain.com

Vous serez accueilli par la page suivante.

Choisissez mysqli comme adaptateur de base de données, fournissez les détails de la base de données et du nouvel utilisateur administrateur. Cliquez sur Installer maintenant ! bouton une fois terminé. L'installation ne prendra que quelques secondes.

Conclusion

L'installation de Pimcore est maintenant terminée, vous pouvez utiliser le Pimcore pour créer facilement un beau site Web à des fins personnelles ou commerciales.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  4. Comment installer Phorum avec Nginx sur CentOS 7

  5. Comment installer Magento 2 sur CentOS 8

Comment installer le framework PHP Laravel avec Nginx sur CentOS 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer LEMP sur CentOS 7

Comment installer le framework PHP Laravel avec Nginx sur CentOS 8