Configuración del servidor

Este artículo reúne los pasos necesarios para la configuración de un servidor con Prontus, y detalla algunas opciones de configuración para lograr un ambiente más seguro, estable y performante.

Publicado: Martes 25 de Septiembre de 2018 por David García
Última modificación: Miércoles 24 de Octubre de 2018
Requerimientos

Lo primero que debes hacer antes de instalar Prontus es asegurarte de que tu servidor cumpla con los requerimientos  mínimos de sistema.

Creación y configuración de la base de datos

Prontus usa internamente una base de datos, y para eso necesita un servidor de bases de datos MySQL o MariaDB. La base de datos de Prontus tiene una estructura muy sencilla y sus prestaciones prácticamente no tienen impacto en el sitio público, por lo que normalmente no es necesaria una optimización particular. Prontus puede crearla durante la instalación de tu sitio si proporcionas las credenciales de un usuario de MySQL con derechos para crear de bases de datos, o puedes crearla tú, vacía, y luego ingresar en el asistente de instalación un usuario con derechos de creación y visualización de tablas y registros.

Un detalle a considerar es que los buscadores de artículos en el panel de administración normalmente pueden descartar palabras muy breves. Esto se debe a que Prontus usa "Full-Text Search" para buscar texto, y este modo de búsqueda tiene un límite mínimo para considerar una "palabra" configurado en una variable del servidor de base de datos. La variable en cuestión se llama ft_min_word_len, y su valor por defecto es de 4 caracteres, por lo que buscar un texto como "FID" no devolvería datos. Para saber el valor de esta variable puedes usar el siguiente comando en tu servidor MySQL:

mysql > SHOW VARIABLES LIKE 'ft_min_word_len';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| ft_min_word_len | 4 |
+-----------------+-------+
1 row in set (0.00 sec)

Para poder buscar por palabras mas cortas (por ejemplo, 2), debes cambiar el valor de esta variable en la configuración de MySQL (para que el cambio sea permanente):

ft_min_word_len = 2

Luego de cambiar ese valor y reiniciar el servidor MySQL debes regenerar los índices, por ejemplo usando este comando luego de haber seleccionado la base de datos de tu Prontus.

REPAIR TABLE ART QUICK;

Securizar tu instalación

Te sugerimos seguir los consejos que listamos en el artículo Asegurar la plataforma para minimizar los riesgos de intrusiones en tu sistema. Prontus es de por sí un software seguro, pero en algunos casos, hay precauciones extra que es bueno tomar.

Configuración de URLs amigables

Prontus te permite generar URLs amigables para tus artículos de distintas formas, y para esto requiere que configures correctamente tu servidor web según el caso. Puedes ver los detalles en los artículos Friendly URLs y Friendly URLs para imágenes.

Configuración de multivistas

Si necesitas que tu sitio Prontus soporte vistas separadas para distintos dispositivos, como computadores de escritorio, tablets y smartphones, o si necesitas por ejemplo presentar los artículos de tu sitio en distintos idiomas, deberás configurar y habilitar la funcionalidad de Multivistas. Describimos estas tareas en el artículo Configuración de multivistas.

Configuración para tags jerárquicos

Prontus te permite implementar un sistema de tags jerárquicos, ofreciéndote la flexibilidad de los tags con el orden jerárquico de las taxonomías. Esta es la configuración que debes aplicar en Nginx (por ejemplo en el archivo /etc/nginx/sites-available/default, en la sección server) para que un Prontus soporte tags jerárquicos usando URLs amigables:

# Rewrite multitag
rewrite ^/([^\/]+)/seccion/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&p=$3;
rewrite ^/([^\/]+)/tema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&t=$2&p=$3;
rewrite ^/([^\/]+)/subtema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&st=$2&p=$3;
rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&t=$3&p=$4;
rewrite ^/([^\/]+)/seccion/([^\/]+)/subtema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&st=$3&p=$4;
rewrite ^/([^\/]+)/seccion/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&s=$2&t=$3&st=$4&p=$5;
rewrite ^/([^\/]+)/tema/([^\/]+)/subtema/([^\/]+)/p/(\d+)$ /cgi-bin/multitag/prontus_multitag_list.cgi?prontus_id=$1&t=$2&st=$3&p=$4;
# /Rewrite multitag

Con estas instrucciones, Prontus puede entender las requests hechas con URLs amigables para cualquier combinación de tags jerárquicos.

Configuración para transcodificación de multimedia

Prontus almacena internamente los archivos de video en formato MP4. Si necesitas cargar archivos codificados con otros formatos, deberás habilitar las funcionalidades de transcodificación de video, y para esto Prontus requiere que en el servidor esté instalado el software ffmpeg con soporte para la librería x264. En concreto, necesita que estos paquetes y sus dependencias estén instalados correctamente:

  • ffmpeg v0.5.2 o superior.
  • libx264
  • python

Para verificar la versión instalada de ffmpeg, puedes usar el comando ffmpeg -version. Esto además te mostrará si soporta la librería x264:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.configuration: --prefix=/usr/local --mandir=/usr/local/man
[...]
--enable-libmp3lame --disable-libopenjpeg --enable-libschroedinger --disable-ffplay --enable-libspeex --enable-libtheora --enable-libvorbis
--disable-x11grab --enable-libx264 --enable-libxvid
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
[...]
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0

En el caso de que no veas la configuración --enable-libx264 en la salida de este comando, significa que ffmpeg no está compilado con la librería libx264, y deberás instalar otra versión o compilarlo con el soporte necesario.

La versión del software ffmpeg puede ser mayor o igual a 0.5.2, pero no inferior. En caso de tener una versión inferior, deberás actualizarlo.

2. Luego de verificar que ffmpeg fue compilado con la librería x264, para verificar la capacidad de compresión en h264 de ffmpeg, puedes ejecutar el siguiente comando:

$ ffmpeg -formats | grep 264

Lo cual, entregará algo como esto:

EV libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
DE h264 raw H.264 video format
E ipod iPod H.264 MP4 format

La E indica encoder, si sólo aparece D (decoder), significa que no se podrá codificar en h264. Debe existir al menos una linea con E.

En el caso de que no aparezca una linea con la letra E, quiere decir que FFmpeg no tiene soporte para h264, por lo cual será necesario verificar si fue compilado con soporte para dicha librería como mencionamos arriba.

Si todo está correcto, la transcodificación debería funcionar sin problemas.

Puedes probar que el proceso funcione desde una terminal usando el comando siguiente con los videos incluídos en el archivo adjunto a este articulo.

ffmpeg -i VideoPrueba.avi -y -vcodec libx264 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 
-me_method umh -subq 8 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10
-qmax 51 -qdiff 4 -directpred 3 -trellis 1 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8+mbtree -level 30
-maxrate 10000000 -bufsize 10000000 -wpredp 0 -g 25 -b 600000 -acodec libfaac -ar 44100 -ab 96k
-f mp4 VideoPrueba.mp4
Instalación de Prontus

El proceso normal de instalación de Prontus implica usar un paquete .deb o .rpm descargable desde prontus.cl. Como alternativa, si eres un ingeniero de AltaVoz o si ya tienes un ambiente con Prontus, puedes hacer lo siguiente:

  • copiar los archivos de los directorios cgi-bin/, cgi-cpn/ y wizard_prontus/ del ambiente donde esté instalado tu Prontus al ambiente donde necesitas instalar el nuevo sitio.
  • asegurarte que las cgis de Prontus copiadas tienen permisos de ejecución y están asignadas al usuario correcto. Asumiendo que tu sitio estará instalado en el directorio /var/www/misitio.cl/web/, y que el usuario asignado al webserver es www-data, deberías ejecutar los comandos siguientes:
    find /var/www/misitio.cl/web/cgi-cpn -name "*.cgi" | xargs chmod +x chmod -R
    find /var/www/misitio.cl/web/cgi-bin -name "*.cgi" | xargs chmod +x chmod -R
    chown -R www-data: /var/www/misitio.cl/web/

Luego de esto, ya puedes usar el asistente para instalar Prontus visitando la página http://[dominio]/wizard_prontus/ en tu navegador.

Al finalizar la instalación asegúrate de actualizar Prontus a la versión más reciente, si es posible.

Artículos Relacionados