GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Pimcore con Nginx en CentOS 7

Pimcore proporciona un sistema de gestión de contenido empresarial gratuito y de código abierto. Está escrito en PHP y utiliza MySQL para almacenar su base de datos. Pimcore CMS es totalmente flexible y editable, puedes personalizar el sitio como quieras. Aparte de todo esto, tiene muchas características de clase empresarial que lo hacen capaz de satisfacer la demanda de sitios web de nivel empresarial.

En este tutorial, instalaremos Pimcore CMS en el servidor CentOS 7.

Requisito previo

  • Servidor CentOS 7 mínimo
  • Privilegios de raíz

Paso 1:Instalación de Nginx

Se recomienda actualizar el servidor antes de instalar cualquier paquete para que se actualicen los paquetes y repositorios existentes.

yum -y install epel-release
yum -y update

Una vez que haya actualizado su sistema, puede proceder a instalar el servidor web Nginx.

yum -y install nginx

Ahora inicie el servidor web Nginx y habilítelo para que se inicie en el momento del arranque con el siguiente comando.

systemctl start nginx
systemctl enable nginx

Paso 2 - Instalación de PHP

Pimcore soporta todas las versiones de PHP superiores a la 5.6. Pero en este tutorial, instalaremos PHP 7.1. La instalación de la última versión de PHP garantizará la máxima seguridad y rendimiento de la aplicación.

El repositorio YUM predeterminado de CentOS no incluye PHP 7.1, por lo tanto, deberá agregar el repositorio Webtatic en su sistema.

Escriba los comandos para instalar el repositorio de Webtatic.

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

Escriba el siguiente comando para instalar PHP 7.1 junto con todas las dependencias requeridas.

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

Para verificar si PHP se instaló correctamente, puede ejecutar:

php -v

Deberías obtener un resultado similar a este.

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

Ahora deberá configurar algunas configuraciones en PHP. Abra el archivo de configuración de PHP, php.ini usando su editor de texto favorito.

nano /etc/php.ini

Busque la siguiente línea, elimine el comentario de la línea y configure la zona horaria de acuerdo con su región. Por ejemplo:

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

Además, busque la siguiente línea:

upload_max_filesize = 2M

Cambia el valor de 2M a 100M y busca la siguiente línea:

post_max_size = 8M

Cambie el valor de 8M a 100M. Guarde el archivo y salga del editor.

Ahora, abra el archivo de configuración de PHP-FPM ubicado en /etc/php-fpm.d/www.conf:

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

Encuentra las siguientes líneas:

user = apache
group = apache

Cambie el valor de usuario y grupo de apache a nginx. Ahora busca:

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

Descomente las líneas anteriores y cambie nadie a nginx.

Y, finalmente, encuentra:

listen = 127.0.0.1:9000

Comente la línea anterior y agregue la siguiente línea debajo.

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

Ahora inicie el servicio PHP-FPM y habilítelo para que se inicie automáticamente en el momento del arranque usando:

systemctl start php-fpm
systemctl enable php-fpm

Paso 3:Instalación de MariaDB

MariaDB es una bifurcación de la base de datos MySQL. Para instalar MariaDB en su servidor, ejecute:

yum -y install mariadb mariadb-server

Ejecute los siguientes comandos para iniciar MariaDB y permitir que se inicie en el momento del arranque.

systemctl start mariadb
systemctl enable mariadb

Ahora ejecute los siguientes comandos para asegurar su instalación de MariaDB.

mysql_secure_installation

El comando anterior ejecutará un script para asegurar una nueva instalación de MariaDB. El script le pedirá la contraseña de usuario root existente, acabamos de instalar MariaDB, la contraseña de root no está configurada, solo presione enter para continuar.

El script le preguntará si desea establecer una contraseña de root para su instalación de MariaDB, elija y y establezca una contraseña segura para la instalación. La mayoría de las preguntas se explican por sí mismas y debe responder sí o y a todas las preguntas. La salida se verá como se muestra a continuación.

Para crear una base de datos, primero debemos iniciar sesión en la línea de comandos de MySQL. Ejecute el siguiente comando para lo mismo.

mysql -u root -p

El comando anterior iniciará sesión en el shell de MySQL del usuario raíz, solicitará la contraseña del usuario raíz. Proporcione la contraseña para iniciar sesión. Ahora ejecute la siguiente consulta para crear una nueva base de datos para su instalación de Pimcore.

CREATE DATABASE pimcore_data CHARACTER SET UTF8;

La consulta anterior creará una nueva base de datos llamada pimcore_data. Asegúrese de utilizar un punto y coma al final de cada consulta, ya que la consulta siempre termina con un punto y coma.

Para crear un nuevo usuario de base de datos, ejecute la siguiente consulta.

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

Ahora proporcione todos los privilegios al usuario de su base de datos sobre la base de datos que ha creado. Ejecute el siguiente comando.

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

Ahora ejecute el siguiente comando para aplicar inmediatamente los cambios en los privilegios de la base de datos.

FLUSH PRIVILEGES;

Salga del indicador de MySQL usando el siguiente comando.

EXIT;

Paso 4:instalación de software de servidor adicional

Pimcore requería paquetes de servidor adicionales que se utilizan para realizar ciertas operaciones usando Pimcore CMS. Algunas de las dependencias solo están disponibles en el repositorio de RPMFusion. Instale el repositorio de RPM Fusion usando el siguiente comando.

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

Ejecute el siguiente comando para instalar el software de servidor adicional.

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

El comando anterior instalará FFMPEG, LibreOffice, pdftotext, Inkscape y Wkhtmltoimage / Wkhtmltopdf.

Paso 5:Instalación y configuración de Pimcore

Como tenemos todas las dependencias listas, ahora podemos descargar el paquete de instalación desde el sitio web de Pimcore.

cd /var/www

Pimcore proporciona tres tipos diferentes de archivo de instalación. Si desea instalar Pimcore junto con datos de demostración adecuados para principiantes, puede usar el siguiente enlace para descargar Pimcore.

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

Si solo desea instalar el paquete principal de Pimcore, puede usar el siguiente enlace para descargarlo.

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

La tercera opción es instalar la compilación nocturna, que es solo para fines de desarrollo. El comando anterior siempre descargará la última versión de Pimcore. Extrae el archivo usando el siguiente comando.

unzip pimcore*.zip -d pimcore

Si no tiene instalado unzip, puede ejecutar yum -y install unzip.

Paso 6:Configurar permisos y firewall

Ahora deberá proporcionar la propiedad de la aplicación al usuario del servidor web mediante el siguiente comando.

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

Es posible que también deba permitir el tráfico HTTP en el puerto 80 a través del firewall si está ejecutando uno. Ejecute los siguientes comandos para el mismo.

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

Para deshabilitar temporalmente SELinux sin reiniciar el servidor, ejecute el siguiente comando.

setenforce 0

Para deshabilitar completamente SELinux, deberá editar el archivo /etc/selinux/config.

nano /etc/selinux/config

Busque la siguiente línea:

SELINUX=enforcing

Cámbialo por:

SELINUX=disabled

Ahora cree un host virtual o bloque de servidor para la aplicación Pimcore. Ejecute el siguiente comando para lo mismo.

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

Pegue las siguientes líneas en el archivo.

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

Reemplace cms.yourdomain.com con cualquier dominio o subdominio que desee utilizar para acceder a la aplicación. Guarde el archivo y salga del editor. Ejecute el siguiente comando para reiniciar su servidor Nginx.

systemctl restart nginx

Ahora complete la instalación utilizando un navegador web, vaya al siguiente enlace.

http://cms.yourdomain.com

Será bienvenido en la siguiente página.

Elija mysqli como adaptador de base de datos, proporcione los detalles de la base de datos y el nuevo usuario administrador. Haga clic en ¡Instalar ahora! botón una vez hecho. La instalación tardará unos segundos en completarse.

Conclusión

La instalación de Pimcore ya ha finalizado, puede usar Pimcore para crear fácilmente un hermoso sitio web para fines personales o comerciales.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7

  3. Cómo instalar Nextcloud con Nginx y PHP 7.3 en CentOS 8

  4. Cómo instalar Phorum con Nginx en CentOS 7

  5. Cómo instalar Magento 2 en CentOS 8

Cómo instalar Laravel PHP Framework con Nginx en CentOS 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar LEMP en CentOS 7

Cómo instalar Laravel PHP Framework con Nginx en CentOS 8