Instalación de Prontus CMS
Este artículo describe todo el proceso de instalación de Prontus en un servidor web, así como los requisitos previos a la instalación. Te sugerimos leer con atención todo este artículo antes de comenzar a instalar Prontus CMS.
Última modificación: Miércoles 10 de marzo de 2021
Esta serie de artículos detalla la instalación y configuración del CMS Prontus sobre un sistema operativo Linux, usando Nginx como webserver, con soporte para los lenguajes de scripting Perl y PHP, con el paquete fcgiwrap
instalado, y MySQL o MariaDB como servidor de base de datos. Para el procesamiento de videos, Prontus usa el paquete ffmpeg
, que debe instalarse con soporte para formatos AAC y x264.
Se espera que la persona encargada de la instalación de Prontus tenga conocimientos de administración de sistemas suficientes para instalar paquetes de software y modificar archivos de configuración. La instalación del CMS Prontus requiere acceso como superusuario (con cuenta de usuario root
o con acceso mediante sudo
) en el sistema operativo en que instales. Aunque típicamente utilizamos sistemas operativos Debian para nuestras implementaciones, no deberías tener problemas con ningún sistema operativo Linux siempre que se cumplan los requisitos de instalación.
Puedes descargar el paquete para instalar el CMS Prontus desde la página de descargas en prontus.cl. Tras descargar el paquete .tar.gz
, puedes descomprimirlo en el servidor en que instalarás Prontus en el directorio /var/www/html
u otro que vayas a usar, como por ejemplo /var/www/mi.sitio.cl/web/
.
A modo indicativo, este es el listado de paquetes que deben estar instalados en un sistema operativo Debian para que Prontus funcione correctamente:
- mariadb-server
- nginx-common nginx-extras (o nginx-full)
- sendmail
- fcgiwrap
- perl
- perl-base
- perl-modules
- libcpanel-json-xs-perl
- libjson-xs-perl
- libjson-perl
- liblockfile-simple-perl
- libxml-libxml-simple-perl
- libhttp-response-encoding-perl
- libgd-perl
- libnet-dns-perl
- libcrypt-eksblowfish-perl
- libclass-dbi-perl
- libdbd-mysql-perl
- libio-all-perl
- libfile-libmagic-perl
- libemail-mime-perl
- libemail-sender-perl
- libemail-simple-perl
- liburi-perl
- libwww-perl
- liblwp-protocol-https-perl
- liblwp-mediatypes-perl
- libmime-tools-perl
- libnet-amazon-s3-perl
- libimage-exiftool-perl
- libcrypt-jwt-perl
- perl-openssl-defaults
- php (la versión que necesites, por ejemplo para PHP v5):
- php5-fpm
- php5-curl
- php5-mysql
- php5-enchant
- aspell
- libaspell15
- aspell-en (y demás lenguajes que necesites en tu sitio, como aspell-es)
- enchant
- libenchant1c2a
- libhunspell-1.3-0
- hunspell-en-us (y demás lenguajes que necesites en tu sitio, como hunspell-es-cl)
- ffmpeg
- libavcodec-extra57
Asumiendo que ya tienes un servidor web Nginx instalado correctamente, para que el CMS Prontus funcione debes adaptar tu configuración particular según los archivos que proporcionamos en el paquete configuracion_nginx.zip
adjunto a este artículo. No deberías pisar tu configuración con estos archivos, sino más bien adaptarla a tu caso particular. La ubicación de los archivos de configuración en el paquete .zip es relativa al directorio /etc/nginx
.
El archivo adjunto contiene los siguientes archivos:
sites_available/prontus_ejemplo
configuración específica de Nginx para el Prontus que instalaremos. En este archivo se cargan las configuraciones contenidas en el subdirectorio global/ , como cgi.conf, prontus.conf o restrictions.conf.
Nota la configuración:set $tamanio_maximo_upload "2G";
client_max_body_size 2G;
Los valores en esas dos líneas deben ser iguales. La variable$tamanio_maximo_upload
se usa en algunas CGIs Prontus y englobal/cgi.conf
.
Este archivo también incluye la configuración necesaria para tags jerárquicos.global/cgi.conf
: configuración para que Nginx procese los scripts CGI de Prontus correctamente.global/mobiles.conf
: configuraciones para presentar vistas correctas a clientes móviles, si corresponde.global/php.conf
: configuraciones para el correcto funcionamiento de los scripts PHP usados por Prontus.
La directiva fastcgi_pass depende de la versión de PHP instalada, por ejemplo podría serfastcgi_pass unix:/var/run/php7.2-fpm.sock;
ofastcgi_pass unix:/var/run/php7.0-fpm.sock;
global/prontus.conf
: configuraciones específicas de Prontus: rewrites y protección de directorios y archivos.global/restrictions.conf
: otros directorios y archivos restringidos
Un punto en particular es que debes instalar el paquete fcgiwrap
para que Nginx pueda ejecutar los scripts CGI.
Una vez hayas terminado de configurar, recuerda crear el enlace simbólico desde /etc/nginx/sites-available/[tu sitio prontus]
a /etc/nginx/sites-enabled/[tu sitio prontus]
. Por ejemplo:
ln -s /etc/nginx/sites-available/prontus_ejemplo /etc/nginx/sites-enabled/prontus_ejemplo
Asumiendo que los paquetes necesarios (listados más adelante en la sección "Requerimientos") están instalados correctamente, la instalación del CMS Prontus no necesita configuraciones adicionales del lenguaje Perl.
Asumiendo que los paquetes necesarios (listados más adelante en la sección "Requerimientos") están instalados correctamente, la instalación del CMS Prontus no necesita configuraciones adicionales del lenguaje PHP, excepto el siguiente caso: si estás usando PHP en una versión mayor a 5.3.8 y necesitas que las páginas con extensión .html
sean procesadas como scripts PHP, debes modificar el archivo php-fpm.conf
agregando esta directiva:
security.limit_extensions = .php .html .js
Prontus no requiere configuraciones específicas al servidor de base de datos, pero si lo deseas puedes crear en este momento la base de datos que usará Prontus y asignar los permisos necesarios, por ejemplo de este modo:
vagrant@jessie:/var/www/prontus_next$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9072
Server version: 5.6.40 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database prontus_ejemplo;
Query OK, 1 row affected (0.01 sec) mysql> grant all privileges on prontus_ejemplo.* to "usuario"@"localhost" identified by "clave";
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql>
Registra el nombre de base de datos, el usuario y la clave para ingresarlos durante la instalación.
Si prefieres no crear la base de datos ahora, el asistente de instalación de Prontus puede hacerlo durante el proceso de instalación. En ese caso deberás ingresar el usuario y clave que tengan permisos de creación de bases de datos y usuarios.
Una vez hayas descomprimidos los archivos y configurado el webserver, puedes revisar la lista de paquetes necesarios para que Prontus funcione yendo al directorio webroot de Prontus y ejecutando en la terminal el comando
perl cgi-cpn/prontus_check_platform.cgi
Esto debería devolverte la lista actualizada de programas y librerías necesarios con sus versiones, y cuáles están ya instalados. Por ejemplo, este es el resultado de ejecutar ese comando en un ambiente de pruebas:
vagrant@jessie:/var/www/prontus_next$ perl cgi-cpn/prontus_check_platform.cgi
Prontus - Verificación de Software
Software requerido por Prontus
Sistema Operativo: LINUX.
Lenguaje Perl: versión 5.28.1 - OK.
Descompresor unzip: OK (se encontró versión 6.00)
Módulos Perl requeridos por Prontus
DBI (v1.50) OK, se encontró versión 1.642
DBD::mysql (v3.0002) OK, se encontró versión 4.050
GD (v2.30) OK, se encontró versión 2.71
GD - soporte gif (libungif) OK
GD - soporte jpeg (jpeg) OK
GD - soporte png (libpng) OK
JSON (v2.14) OK, se encontró versión 4.02
LockFile::Simple (v0.205) OK, se encontró versión 0.208
Email::Simple (v2.203) OK, se encontró versión 2.216
Email::MIME (v1.926) OK, se encontró versión 1.946
Email::Sender (v1.300016) OK, se encontró versión 1.300031
IO::All (v0.79) OK, se encontró versión 0.87
File::LibMagic (v1.02) OK, se encontró versión 1.16
Try::Tiny (v0.22) OK, se encontró versión 0.30
XML::Parser (v2.34) OK, se encontró versión 2.44
HTTP::Response(libwww) (v1.53) OK, se encontró versión 6.18
LWP::UserAgent(libwww) (v2.033) OK, se encontró versión 6.36
LWP::Protocol::https (v6.06) OK, se encontró versión 6.07
Net::DNS (v0.65) OK, se encontró versión 1.19
URI::Escape (v3.20) OK, se encontró versión 3.31
Crypt::Eksblowfish::Bcrypt (v0.009) OK, se encontró versión 0.009
MIME::Base64 (v3.15) OK, se encontró versión 3.15
Crypt::JWT (v0.023) OK, se encontró versión 0.023
Digest::SHA (v5.60) OK, se encontró versión 6.01
MIME::Parser (v5) OK, se encontró versión 5.509
Image::ExifTool (v9) OK, se encontró versión 11.16
Net::Amazon::S3 (v0.85) OK, se encontró versión 0.85
Soporte para transcodificación:
Revisando las capacidades de /usr/bin/ffmpeg
FFmpeg (2.1.0) - OK (se encontró 3.1.2)
FFmpeg con soporte libx264 OK
FFmpeg con soporte aac OK
FFmpeg con soporte libfdk_aac OK
FFmpeg con soporte libmp3lame OK
Revisando las capacidades de /bin/ffmpeg
FFmpeg (2.1.0) - OK (se encontró 3.1.2)
FFmpeg con soporte libx264 OK
FFmpeg con soporte aac OK
FFmpeg con soporte libfdk_aac OK
FFmpeg con soporte libmp3lame OK
La verificación básica dio éxito.
Importante: Es posible que la transcodificación falle, aún cuando todos estos requisitos se cumplan.
Para mayor información y ayuda frente a errores, visitar
/prontus_desarrollo_v12_0 ,
sección "Instalación", sub-sección "Soporte para transcodificación"
==== FIN ====
vagrant@jessie:/var/www/prontus_next$
Una vez hayas verificado que el ambiente de instalación cumple los requerimientos básicos, puedes comenzar la instalación de Prontus visitando la URL del asistente de instalación, que normalmente será
[tu dominio]/wizard_prontus
Si no hay problemas deberías ver la página con el primer paso de la instalación.
En esta página puedes revisar nuevamente los requisitos de instalación para ver si Prontus CMS funcionará luego de instalarlo.
Si tu ambiente de instalación cumple con todos los requisitos, puedes continuar al siguiente paso.
En esta página deberás ingresar los datos básicos del sitio Prontus a generar:
- Identificador y nombre. El identificador aparecerá en muchas de las URL del sitio, dependiendo de la configuración de URLs amigables; el nombre aparecerá en algunas etiquetas HTML.
- Configuración de base de datos. Aquí debes ingresar el nombre de una base de datos existente, la dirección del servidor de bases de datos y el usuario y contraseñas con permisos para crear tablas en esa base de datos. Como alternativa, puedes hacer que el asistente de instalación del CMS Prontus cree la base de datos en este paso si haces click en el enlace "Para mostrar la opción haz click aquí" en la sección "Cuenta para creación de base de datos (optativo)", ingresando un usuario y clave con permisos de creación de bases de datos y de modificación de permisos de usuarios.
- Servidor para envío de correo (SMTP). Típicamente "localhost", aquí puedes ingresar la dirección IP o dominio del servidor de correos que desees usar para que Prontus pueda enviar correos automáticamente, por ejemplo cuando un usuario necesita recuperar su contraseña, o cuando se rellena un formulario de contacto con envío de datos a un administrador del sitio.
En este paso, el asistente de instalación del CMS Prontus te solicita elegir un modelo que servirá como base para las plantillas del sitio.
Por defecto, Prontus incluye algunos modelos básicos, pero si haces click en el botón "Descargar Modelos" podrás elegir entre algunos otros el que te sirva más.
En este paso se te mostrarán todas las configuraciones ingresadas hasta el momento, para que puedas confirmar antes de instalar tu nuevo sitio. Al pulsar el botón "Finalizar la instalación" Prontus procesará la configuración y creará todos los archivos del nuevo sitio. De presentarse cualquier error, aparecerá el mensaje relevante en la vista siguiente.
Si no ocurrieron errores, Prontus te presentará la vista final del asistente de instalación, confirmando que todo se instaló correctamente y mostrándote los enlaces a las páginas principales del sitio público y del panel de administración, así como las credenciales iniciales para acceder a este último.
Archivos adjuntos
Conceptos Básicos
¿Qué es Prontus?
Estructura de directorios
Glosario
Navegadores soportados
Tutoriales
Instalación de Prontus CMS
Implementar un nuevo sitio en Prontus
Cómo crear un FID
Cómo crear una plantilla de artículo
Cómo crear una plantilla de portada
Cómo crear plantillas de formulario
Cómo implementar un formulario
Cómo implementar un buscador
Cómo implementar un buscador Elasticsearch
Cómo crear una plantilla de taxonomía
Cómo crear plantillas de tags
Cómo crear una plantilla de listado
Cómo crear una plantilla de tags jerárquicos
Implementar carga de videos en Prontus
Integración de Redes Sociales
Instalación y Configuración
Requerimientos
Configuración del servidor
Base de datos
Asegurar la plataforma
Instalación con Wizard Prontus
Ajustes post-instalación
Archivos de configuración de Prontus
Friendly URLs
Friendly URLs para imágenes
SSI en Prontus
Logs de Eventos
Ejecutar procesos periódicamente con cron
Debugging
Plantillas
Plantillas de FID
Plantillas de artículo
Plantillas de portada
Plantillas de taxonomía
Plantillas de artículos relacionados
Plantillas de tags
Plantillas de listado
Plantillas de tags jerárquicos
Plantillas de mapa de taxonomía
Plantillas de mapa de tags
Marcas
Tipos de marcas
Diccionario de marcas
Marcas para texto
Marcas de lógica
Marcas de despliegue
Marca Menú y Panel
Parsing de marcas en formularios Prontus
Funcionalidades
Funcionalidades SEO en Prontus CMS
Multivistas
Galería de Imágenes
Buscador Multivista
Buscador
Buscador Elasticsearch
Calendarios
Imprimir artículos
Posting de contenidos
Plugins
Post-procesos
Prontus functions
Implementar copias de seguridad automáticas con Dropbox
Implementar múltiples ediciones
Regeneración masiva de artículos via línea de comandos