PrensaLibre v1.0.1

Manual de Instalación y Configuración

1.Introducción.

PrensaLibre es un sistema de edición y publicación automática de cualquier tipo de sitio web cuyos conenidos cambien de manera continua, periódicamente o una combinación de los mismos. En un prnicipio se ha diseñado para publicar diarios y revistas electrónicas y de ahí se saca toda la nomenclatura. Con ese fin el software proporciona otro tipo de servicios como la edición de boletines para su envío por correo electrónico, acceso a la publicación a través desde moviles con soporte WAP, así como la generación de ficheros de sindicación de servicios de noticias o RSS, para ciertas aclaraciones puedes visitar la nomenclatura.

Prensa Libre nació como motor de publicación de noticias de la revista en internet Las Noticias [en la ReD], se trata de un CGI escrito en Perl que permite automatizar el proceso de edición de una revista digital a través de una interfaz Web, permite gestionar noticias en tiempo real y contenidos periódicos.

2.Licencia de distribución.

Este software esta distribuido bajo la GNU General Public Licence.

3.Requisitos del sistema.

Ha sido probado sobre Windows NT 4.0 y Linux (Distribuciones RedHat 5.2 y Debian 2.0) pero debería funcionar sobre cualquier plataforma que soporte Perl 5 y Apache pese a que no se ha probado. El autor agradecería información de instalaciones exitosas sobre cualquier otra plataforma además de los parches utilizados, si estos han sido necesarios.

Para instalar este software es necesario saber configurar el servidor Web apache, o que este este instalado por nuestro servicio de Hosting o soporte técnico. El CGI tan solo necesita las librerías de CGI de Apache así como acceso de lectura/escritura a un directorio del servidor, que puede ser el directorio personal del usuario, no hace uso de ninguna otra librería como bases de datos o conexiones externas.

4.Instalación del Software.

El paquete que se distribuye (PrensaLibre_1.0.0.tar.gz o similar) viene configurado para ejecutar una publicación sencilla (consistente tan solo en noticias y análisis) que funcionaría sobre un directorio "/home/prensalibre", por lo tanto para cualquier configuración distinta será necesario configurarlo.

Para instalarlo bastará con realizar sobre el directorio /home/prensalibre o similar el siguiente comando:

tar -xvzf PrensaLibre-1.0.1-1.tar.gz

El cual nos generará los directorio y ficheros mínimos necesarios para ejecutar el ejemplo.

5.Configuración del Software.

Una vez instalado el software hay que proceder a la configuración del mismo.

Configuración de usuarios.

Mediante la modificación del fichero .htaccess que aparece en el directorio ~/www/gestion es posible señalar dónde se encuentra el fichero usuarios dentro del sistema de ficheros del sistema. Seguro que hay que cambiar el "/home/prensalibre/usuarios" por otro del estilo "/home/pepeperez/prensalibre/datos/usuarios" o similar.

Configuración del Script.

Para que el software funcine correctamente habra que cambiar las variables perl que aparecen al principio del fichero ./www/gestion/gestion.cgi y que están marcadas como tal para que concuerden con la instalación particular, estas variables y su función son las siguientes:

$site_name

Indica el nombre genérico del sitio web que va a gestionar PrensaLibre asímismo se usa como nombre del canal del fichero RSS, por ejemplo "Revista PrensaLibre".

$site_icon

Es la URL completa del icono que se usará en el fichero RSS, por ejemplo "http://www.prensalibre.org/images/logo.gif"

$site_comment

Es el comentario que aparecerá en el fichero RSS, por ejemplo "Noticias y actualizaciones del programa PrensaLibre"

$www_site

URL de la base de nuestro sitio Web, por ejemplo "http:/www.prensalibre.org" o, si no disponemos de un dominio particular algo como "http://www.geocities.com/marevaloh/prensalibre", es importante no poner una barra inclinada "/" al final.

$wap_site

URL de la base de nuestro sitio WAP, por ejemplo "http:/wap.prensalibre.org" o, si no disponemos de un dominio particular algo como "http://www.geocities.com/marevaloh/prensalibre/wap", es importante no poner una barra inclinada "/" al final.

$dat_base

Directorio en el cual se van a localizar todos los ficheros de datos internos de la revista, por ejemplo "/home/prensalibre/"

$ana_base

Directorio en el cual se van a almacenar los ficheros de la base de datos de análisis, por ejemplo $dat_base."ana/"

$not_base

Directorio en el cual se van a almacenar los ficheros de la base de datos de noticias, por ejemplo $dat_base."not/"

$col_base

Directorio en el cual se van a almacenar los ficheros de la base de datos de columnas, por ejemplo $dat_base."col/"

$layout_base

Directorio de donde se leeran las plantillas que personalizarán el aspecto de la publicación, por ejemplo $dat_base."layout/"

$fch_usuarios

Fichero que se usará como almacen de las contraseñas cifradas y la configuración de los permisos, por defecto $dat_base."usuarios"

$www_base

Directorio raíz del servicio Web, por ejemplo "/home/prensalibre/www/"

$wap_base

Directorio raíz del servicio Wap, por ejemplo "/home/prensalibre/wap/"

$img_base

Directorio donde se subirán las imágenes mediante PrensaLibre, por ejemplor $www_base."images/"

$bol_base

Directorio donde se almacenarán los esquemas de boletín que genera PrensaLibre, por ejemplo $bol_base."boletin/"

$not_grandes

Número de noticias de las que se presentará parte del contenido en la portada del sitio web, por defecto "4"

$not_menu

Número de noticias de las que sólo se presentará el título en la portada del sitio web, por defecto "10". La suma de estos números serán las noticias que aparecerán en la portada de noticias y en la del sitio Wap.

$not_edit

Número máximo de noticias que aparece en el listado de editar noticias.

$ana_grandes

Número mínimo de análisis en los cuales aparecerá el resumen en la portada del sitio Web y en la portada de análisis

$ana_viejos

Número de artículos de análisis que aparecerán en el resumen de la portada.

$ana_subpor

Número máximo de análisis viejos que aparecerán en la portada de análisis.

$secuestro

Si esta variable es igual a "true" el sistema generará un fichero llamado "secuestro" en el directorio de datos en el cual se irán almacenando todos los cambios de claves de todos los usuarios. Esta opción está aquí para poder recuperar claves perdidas o permitir al administrador hacer ajustes con el permiso de los usuarios.

$ajuste_wap

Esta variable permite ajustar el tamaño de las páginas WAP, dado que este está limitado a 1600 caractéres en su forma binaría, en el caso de que el navegador WAP indique que la página es muy grande se aconseja reducir el valor de esta variable.

$OS

En esta variable definimos el sistema operativo sobre el que correrá PrensaLibre, actualmente solo reconoce dos posibles valores, "UNIX" para todos los sistemas UNIX, BSD y GNU/Linux y "WINDOWS" para sistemas Windows NT y 95.

Una vez configuradas estas variables se tendrá una publicación de ejemplo (la revista PrensaLibre) con un único usuario de administración llamado "admin" con clave "admin".

6. Notas para la instalación en Windows NT y 95.

Gracias a que tanto Apache como Perl están disponibles en plataforma Win32 es posible ejecutar PrensaLibre tanto en Windows NT como en Windows 95 a partir de la versión 1.0.1, en este punto explicaremos qué cambios se tienen que realizar en los ficheros de la distribución que por defecto vienen configurados para UNIX.

Fichero "usuarios".

En el fichero ~/usuarios de la distribución podemos ver la siguiente línea:

    admin:adpexzg3FUZAk:Administrador de PrensaLibre: (y más conenido en la línea)

Debido a que Apache para windows no usa encriptación en los ficheros de autentificación de usuarios habrá que cambiar la password encriptada "adpexzg3FUZAk" por la password en texto claro "admin", que es la que lleva por defecto el usuario "admin".

Hay que tener en cuenta que PrensaLibre ejecutado en Windows mantendrá siempre las claves en el fichero "usuarios" sin encriptar y por lo tanto habrá que asegurarse de que ese fichero no caiga en malas manos. Debido a esto la opción de secuestro de clave no tiene sentido.

Script "gestion.cgi".

Este script (que es PrensaLibre en sí mismo) apunta en su primera linea a "/usr/bin/perl" que es la ruta por defecto que tiene Perl en los sistemas UNIX, ya que la organización de los ficheros en Windows es caótica e ilógica el ejecutable de Perl no se encontrará en un lugar común en todos los sistemas por lo que será necesario cambiar ese ruta por algo parecido a "/Archivos\ de\ programa/perl/bin/perl" o "/per/bin/perl", cualquiera sabe.

Evidentemente además habrá que cambiar la variable $OS de la sección de configuración del script para que tenga el valor de "WINDOWS".

Directorios vacios.

El formato estándar de distribución de PrensaLibre es un fichero tar.gz, esto continuará igual ya que el autor no piensa gastar dinero en ninguna estúpida licencia de programas propietarios como pkzip o WinZip, lamentablemente el software disponible en cualquier (caro) Windows 95 o NT no incluye ninguna herramienta que descomprima tar.gz, el único modo de poder acceder a esos ficheros es el programa WinZip que se distribuye bajo una maligna licencia Shareware desde el sitio web de NicoMac. SIn embargo este programa no genera (al menos hasta la versión 7.0 SR1 que es la que se distribuye en el momento de componer estos bellos párrafos) los directorios vacios que se incluyen en la distribución y que son necesarios para el disfrute de PrensaLibre, para conveniencia de esos sufridos usuarios se incluye a continuación una lista con esos directorios:

~/www/noticias
~/www/analisis
~/www/columnas
~/www/boletin
~/wap
~/not
~/col
~/ana
~/ana/antiguo
~/ana/actual
~/ana/proximo

Estos directorios deberán ser creados bajo la jerarquía donde se halla descomprimido la distribución de PrensaLibre.

7.Personalización de la Presentación.

La presentación de la publicación es totalmente configurable a través de unos fichero que actúan como plantillas de las páginas web, está plantillas serán ficheros .html (o partes de ficheros) en las que se insertarán comandos especiales (del formato [!CADENA-]) que especificarán qué contenidos dinámicos se introducirán en la página, estas plantillas (y sus contenidos posibles) son:

portada.html - Portada del sitio web

[!FECHA-]
Fecha y hora de la última actualización.

[!MAYOR-]
Número órdinal de publicación de contenidos periódicos.

[!MENOR-]
Número órdinal de publicación de contenidos en tiempo real desde la última actualización periódica.

[!SECCIONES.MENU-]
Introduce un pequeño menú de las secciones existentes, separadas por <BR>.

[!COLUMNAS.MENU-]
Introduce un pequeño menú de las columnas existentes, separadas por <BR>.

[!NOTICIAS.GRANDES-]
Introduce los títulos y contenidos resumidos de las últimas noticias. Cada elemento de noticia será introducido según la plantilla contenida en el fichero el_noticia, en el cual estarán activos los siguientes comandos:
    [!ENLACE-]
    [!TITULO-]
    [!AUTOR-]
    [!FECHA-]
    [!CONTENIDO-]

[!NOTICIAS.MENU-]
Introduce los títulos de las noticias menos recientes. Cada elemento de noticia será introducido según la plantilla contenida en el fichero el_noticia_m, en el cual estarán activos los siguientes comandos:
    [!ENLACE-]
    [!TITULO-]
 

[!ANALISIS-]
Introduce los títulos y resumenes de los análisis del último número. Cada elemento de análisis será introducido según la plantilla contenida en el fichero el_analisis, en el cual estarán activos los siguientes comandos:
    [!ENLACE-]
    [!TITULO-]
    [!AUTOR-]
    [!RESUMEN-]
    [!ICONO-]

[!ANALISIS.VIEJOS-]
Introduce los títulos de los análisis más recientes. Cada elemento de análisis será introducido según con un formato establecido dentro del script, estará activo:
    [!ANALISIS.VIEJOS-]

[!COLUMNAS-]
Introduce los títulos y resumenes de las columnas del último número. Cada columna será introducida según la plantilla contenida en el fichero el_columna, en el cual estarán activos los siguientes comandos:
    [!COLUMNA-]
    [!AUTOR-]
    [!ICONO-]
    [!ENLACE-]
    [!TITULO-]
    [!RESUMEN-]
 

[!SECCIONES-]
Introduce los títulos y resumenes de las secciones del último número. Cada sección será introducida según la plantilla contenida en el fichero el_seccion, en el cual estarán activos los siguientes comandos:
    [!COLUMNA-]
    [!AUTOR-]
    [!ICONO-]
    [!ENLACE-]
    [!TITULO-]
    [!RESUMEN-]

p_noticias.html - Página portada de noticias

[!NOTICIAS-]
Lugar donde se introduciran todas la últimas noticias siguiendo el mismo formato que en la portada.

noticia.html - Página de noticia

En esta página estarán activos los siguientes comandos:
    [!TITULO-]
    [!AUTOR-]
    [!FECHA-]
    [!CONTENIDO-]
    [!CONTENIDO2-]

p_analisis.html - Página portada de análisis

[!ANALISIS-]
[!ANALISIS.VIEJOS-]
Lugar donde se introduciran todas los últimos análisis siguiendo el mismo formato que en la portada.

analisis.html - Página de análisis

En esta página estarán activos los siguientes comandos:
    [!TITULO-]
    [!AUTOR-]
    [!CONTENIDO-]

p_todas_columnas.html - Portada con todas las columnas

[!COLUMNA-]
Lugar donde se introduciran todas las columnas del último número siguiendo el mismo formato que en la portada.

p_columnas.html - Página portada de una columna

[!COLUMNA]
Nombre de la columna.

[!COLUMNASS-]
[!COLUMNAS.VIEJAS-]
Lugar donde se introduciran todos las últimas columnas siguiendo el mismo formato que en la portada.

columna.html - Página de columna

En esta página estarán activos los siguientes comandos:
    [!COLUMNA-]
    [!AUTOR-]
    [!TITULO-]
    [!SUBTITULO-]
    [!CONTENIDO-]

seccion.html - Página de sección

En esta página estarán activos los siguientes comandos:
    [!COLUMNA-]
    [!TITULO-]
    [!SUBTITULO-]
    [!CONTENIDO-]

Además la publicación WAP utilizará los siguientes ficheros de formato:

portada.wml - Portada de sitio WAP

[!NOTICIAS-]
Lugar donde se introduciran todas la últimas noticias siguiendo un formato fijo.

noticia.wml - Página de una noticia WAP

En esta página estarán activos los siguientes comandos:
    [!AUTOR-]
    [!TITULO-]
    [!CONTENIDO-]

Para una idea más precisa del uso de estos ficheros es aconsejable visitar los proporcionados como ejemplo en el directorio /layout.


GPLed Miguel A. Arévalo 1999
Cualquier correción a <marevalo@lasnoticias.org>