Cómo instalar y configurar Geeklog 1.4.x.
|
Autor: Joel Barrios Dueñas Correo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
Introducción.Acerca de Geeklog.Geeklog es una aplicación basada sobre PHP y MySQL, y distribuida bajo los términos de la licencia GNU/GPL, para el manejo dinámico de contenido de red. Sin modificaciones tras su instalación, es un motor de bitácora personal, Sistema de Manejo de Contenido (CMS o Content Management System) y/o portal de red. Incluye soporte para comentarios, rastreo (o tracback, un método para solicitar notificación cuando alguien enlaza hacia un documento), varios formatos de sindicación (es decir, RSS o Really Simple Sindication), protección contra Spam y todas las funciones básicas para contar con un sitio de red dinámico y versátil. Gracias a la plataforma para componentes añadidos (Plug-ins), su funcionalidad puede ser fácilmente extendida con foros, galerías de e imágenes, área de descargas y muchas otras cosas más. ¿Por qué Geeklog?Geeklog fue diseñado con la seguridad como prioridad, siendo que su utilización inicial fue precisamente un sitio de seguridad. Las vulnerabilidades son poco frecuentes y los guiones que explotan vulnerabilidades (exploits), que aún funcionen, son raros de encontrar. Una de las grandes ventajas de Geeklog contra otro tipo de equipamiento lógico similar, es su esquema de permisos de usuario. Es posible asignar permisos de lectura y/o escritura a un usuario o grupo de usuarios, y hacer que estos usuarios hereden permisos al ser añadidos a un grupo o grupos. Esta funcionalidad cubre los requisitos necesarios para ser utilizado en redes internas en empresas y corporaciones. Geeklog, además, se enfoca en la calidad del código utilizado, así como también asegurarse que los API (Application Programming Interface o Interfaz de Programación de Aplicaciones) utilizados, no estropeen componentes añadidos (plug-ins) de terceros tras una actualización, a menos que el caso realmente lo requiera. De tal modo, es posible continuar utilizando componentes creados por terceros para versiones anteriores de Geeklog, y sin embargo estos casi por seguro funcionarán correctamente con la versión más reciente, salvo aquellos que utilicen el sistema de comentarios, mismo que fue rediseñado a partir de la versión 1.4.0. Aspectos de seguridad a considerar.Geeklog es uno de los Sistemas de Manejo de Contenido más seguros y confiables, sin embargo no significa que sea invulnerable. Hay varios aspectos a considerar, los cuales aplicados de forma correcta pueden mejorar considerablemente la seguridad. Prefijo de las tablas de Geeklog.Una de las principales consideraciones que se deben tomar en cuenta es que la mayoría de los guiones disponibles para explotar vulnerabilidades (exploits) indudablemente presupondrán el prefijo de las tablas de Geeklog para lograr su cometido. es decir, el valor de la variable $_DB_table_prefix, el cual de forma predeterminada es gl_. La mejor forma de impedir ser susceptible a guiones explotables, es cambiar dicho valor por cualquier otro, preferentemente que combine letras y números de forma que sea difícil para un delincuente informático adivinar éste. Rutas de los directorios de Geeklog.La siguiente consideración es la localización de los directorios utilizados por Geeklog en el sistema. Conviene instalar el directorio público fuera del directorio raíz de apache, es decir, que no esté dentro de /var/www/html. La forma de hacer esto es colocando el directorio público en una ruta como /var/www/nombre_ofuscado y definiendo dicho directorio como uno virtual en la configuración de Apache. El directorio de configuración de Geeklog, del mismo modo, y con mayor razón, jamás debe quedar dentro del directorio raíz de Apache. Debe ser instalado en cualquier parte del sistema, como por ejemplo /var/www/nombre_ofuscado, y, a diferencia del directorio público, jamás deberá poder accederse desde el navegador. Muchos guiones explotables pueden hacer daño si se conoce la ruta exacta en el sistema para diversos componentes de Geeklog. Desactivar el despliegue de errores de PHP.La función display_errors función viene deshabilitada de forma predeterminada en el fichero php.ini, sin embargo muchos administradores suelen habilitarla para realizar diagnósticos y pruebas. En realidad, jamás se debe habilitar ésta si se trata de un servidor en producción, porque hará que se muestre en el navegador información que puede ser utilizada en un guión explotable, como son rutas en el sistema de archivo y prefijos de tablas en la base de datos. Cuando se está hospedado en un servidor con esta función habilitada, se puede recurrir a variables en ficheros .htaccess del siguiente modo:
Equipamiento lógico necesario.Geeklog requiere algunos componentes para poder funcionar. Específicamente se necesitan Apache, MySQL, PHP y el soporte de MySQL para PHP. Instalación a través de yum.Si se utiliza de CentOS 4 o White Box Enterprise Linux 4, solo se necesita utilizar utilizar lo siguiente:
Instalación a través de Up2dateSi se utiliza de Red Hat™ Enterprise Linux 4, solo se necesita utilizar lo siguiente:
Instalación de Geeklog.Geeklog se distribuye en archivos TAR comprimidos con algoritmo Gzip. Una vez descargado, solo se necesita utilizar el Gestor de archivadores (file-roller) desde el modo gráfico, o bien, si solo se dispone de una terminal, la siguiente sentencia de mandatos:
Procedimientos.Respaldo de la base de datos existente.Si va a ser utilizada una base de datos existente, conviene respaldar ésta antes de continuar.
Creación de la base de datos para Geeklog en MySQL.Deben definirse previamente tres valores a utilizar con Geeklog: nombre de la base de datos, usuario para acceder a esta base de datos y clave de acceso para este usuario. Éstos, preferentemente, deben ser valores difíciles de adivinar para terceros. Tomando en cuenta lo anterior, se crea la base de datos utilizando el mandato mysqladmin.
Configuración de directorios para Geeklog.El directorio principal puede quedar en cualquier lugar del sistema de archivos, pero nunca dentro del directorio raíz de Apache, más sin embargo en una ruta a la cual tenga acceso éste último. Un buen lugar es dentro de /var/www/ o bien /etc. Preferentemente utilizando un nombre de directorio ofuscado o bien algo difícil de adivinar.
Fichero lib-common.php.Es el único fichero del directorio público que requiere modificarse, y es para establecer donde se encuentra el fichero config.php de Geeklog. Aproximadamente en la línea 84 de /var/www/html_geeklog/lib-common.php se encuentra una función require_once donde se debe establecer el valor /var/www/conf_geeklog/config.php del siguiente modo:
Fichero config.php.Se accede hacia el directorio /var/www/conf_geeklog/.
Instalador de GeeklogPara concluir la instalación, es necesario acceder hacia http://www.dominio.algo/portal/admin/install/install.php, especificar la ruta para el fichero config.php (la cual, para el ejemplo de este documento, sería /var/www/conf_geeklog/config.php), habilitar la casilla para utilizar tablas Innodb y continuar dando clic en los botones de siguiente. Al terminar, Geeklog podrá ser accedido como http://www.dominio.algo/portal/, y solo restarán un par de ajustes más desde la recién instalada interfaz HTTP. Procedimientos posteriores.Hecho todo lo anterior, por motivos de seguridad, debe ser eliminado el directorio /var/www/html_geeklog/admin/install/.
Problemas posteriores.Si algo salió mal durante la instalación, es posible diagnosticarlo examinando las bitácoras de Apache, específicamente /var/log/httpd/error_log, o bien la bitácora de Geeklog, es decir, /var/www/conf_geeklog/logs/error.log. Los errores más comunes son errores tipográficos en las rutas de directorios o ficheros en el fichero de configuración, es decir, /var/www/conf_geeklog/config.php. Más allá de la instalación y configuración básica.Geeklog cuenta con una comunidad de usuarios y un foro de soporte gratuito. Para añadir funcionalidad, solo es necesario instalar componentes adicionales (plug-ins). La mayoría de estos son fáciles de instalar siguiendo las instrucciones del fichero README correspondiente. El licenciado Pablo Monroy Sánchez, y un servidor, Joel Barrios Dueñas, nos ponemos a sus órdenes a través de este enlace para cualquier duda, comentario o consulta relacionada con este documento y Geeklog. Más documentos del mismo autor (Joel Barrios) en este enlace.
Última Edición jueves, abril 12 2007 @ 01:07 CDT
|












