martes, 8 de julio de 2008

Drupal

Creo que es el primer post técnico que incluyo en mi blog personal, pero creo que es un tema que vale la pena y he tenido varias consultas al respecto después de ciertas investigaciones privadas que he venido llevando a cabo.

Drupal, para los no iniciados, és uno de los CMS del mercado opensource más reconocidos, desde mi punto de vista el más recomendable, está implementado en PHP y suele desplegar-se sobre Apache + PHP + MySQL por lo que resulta idóneo para efectuar implementaciones de portales para clientes de pequeña y mediana envergadura.

No en vano el pasado 2007 se llevo el premio al mejor CMS, junto con Modx que se llevo al de mejor "CMS promesa".

Instalación de la plataforma

Habitualmente resulta un paso a obviar, si tienes un hosting contratado suele disponer de instancias disponibles para publicación de webs con los requisitos de Drupal (Apache + PHP + MySQL)
  1. Descarga el Http Server Apache de su web de downloads nosotros lo vamos a intentar con la 2.0.63. Ejecutamos el wizard de instalación para Windows
  2. Descarga el instalador de PHP de su web de downloads, siguiendo con las recomendaciones de los documentos de instalación de Drupal descargamos la versión 5.2.6 y ejecutamos el wizard, no olvides incluir el add-on de MySQL en el wizard de instalación
  3. Descargamos la versión de MySQL, en este caso una versión 5.0 o superior.
Si descomprimís la versión de Drupal, para este ejemplo la 6.2 con la extensión en castellano, vereís que el propio instalador de Drupal aporta ciertas recomendaciones:
  • extension mbstring sobre PHP. Como describe en el siguiente manual. Si ya has instalado PHP y has olvidado incluir esta extensión, vuelve a ejecutar el instalabe selecciona "change" y podrás incluirlo sin problemas. A continuación edita php.ini, los siguientes parámetros deberían estar disabled
; http input encoding.
mbstring.http_input = disabled

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = disabled
  • Configurar la base de datos. Como ejemplo podemos incluir la siguiente paramtrización:
Nombre de la base de datos: bbdd-drp
Nombre del administrador: bbdd_sa
Password: ****

Mediante las opciones avanzadas configura el acceso a tu servidor mysql de base de datos

Servidor: 127.0.0.1
Puerto: (Generalmente para MySQL) 3306
Prefijo: (Si tu nomenclatura de base de datos lo exige)

  • Este paso exige que tengas ese esquema y ese usuario dados de alta en el servidor, por supuesto no es recomendable que configures los usuarios administradores de la instancia de mysql. Por lo que si no lo has hecho previamente lo debes realizar ahora. Para configurar mysql puedes optar por el Administrador propio de MySQL (GUI Tools) o instalar una instancia de PhpMyAdmin
Seguimos con el asistente de configuración de Drupal para configurar la meta información del portal así como la cuenta del administrador

Nombre del sitio: Personal Site
Mail: info@xxx.com
Admin: portal-sa
Admin Mail:info@xxx.com
Password:******

Drupal dispone de un asistente de passwords que no permite la inclusión de passwords poco seguros.

Una vez finalizado el asistente puedes acceder a tu nuevo web site a través de la dirección:

http://localhost:8080/drupal-6.2/index.php

Existen diferentes problemas adicionales que puedes resolver facilmente a través del foro de Drupal, aunque generalmente suelen ser de configuración de apache, compatabilidad entre versión de apache y php o similares.

Por poner un ejemplo, deberiamos activar en apache que index.php pueda considerarse como página de inicio, en caso contrario al acceder al dominio nos mostrarà el listado del directorio de drupal, como comento es debido a la configuración de Apache, algo que generalmente nos vendrà dado por nuestra compañía de hosting y de lo que no debemos preocuparnos (ya pagamos para que sea un servicio) En cualquier caso pasa por modificar la siguiente información en el fichero de configuración de Apache httpd.conf:

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.php index.html index.html.var


En próximas entregas podemos analizar la configuración de un theme, administración del site, o operaciones de similar interés.

Ivan

No hay comentarios: