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.