¿Qué es Drupal?Drupal (http://drupal.org) es un CMS (Content Management System – Sistema de Administración de Contenidos) de Código Abierto (Open Source) muy poderoso y versátil. Con él es posible construir diversos tipos de sitios como un blog personal, un catálogo de productos, el sitio de una publicación, una Intranet o un sitio corporativo, entre algunos ejemplos.
¿Qué es Drupal?Drupal (http://drupal.org) es un CMS (Content Management System – Sistema de Administración de Contenidos) de Código Abierto (Open Source) muy poderoso y versátil. Con él es posible construir diversos tipos de sitios como un blog personal, un catálogo de productos, el sitio de una publicación, una Intranet o un sitio corporativo, entre algunos ejemplos.
Drupal está desarrollado en PHP (http://php.net) y usa una base de datos (generalmente MyQSL, aunque tiene soporte para PostgreSQL) para almacenar la información del sitio (configuración, usuarios, contenido).
Dentro de las características más distintivas de Drupal están que es muy ligero, tiene la posibilidad de manejar Listas de Control de Accesos (ACL – Access Control Lists, por sus siglas en inglés) y permite además clasificar el contenido en múltiples categorías (Drupal usa el concepto de Taxonomía para la clasificación del contenido del sitio).
Como muchos CMS, Drupal tiene un diseño modular. ¿Esto qué significa? Que adicionalmente a las funcionalidades del sistema base, las cuales son proporcionadas por los módulos (por ejemplo, los comentarios de los usuarios o las estadísticas del sitio), es posible extender la funcionalidad del sistema mediante la incorporación de otros módulos. Cada módulo instalado proporcionará una funcionalidad (o funcionalidades) para la cual fue diseñado.
La comunidad de desarrolladores de Drupal ha diseñado muchos módulos y temas mediante los cuales es posible personalizar nuestro sitio. Imaginemos que necesitamos un sitio multilingüe, en el cual publicaremos información técnica disponible en 3 idiomas (Inglés, Español y Francés). Mediante la instalación del módulo “Internationalization” es posible extender el soporte de Drupal para múltiples idiomas. Adicionalmente instalamos las traducciones (translations) disponibles para los idiomas Español y Francés y tenemos nuestro sistema preparado para un sitio en tres idiomas.
La estructura de Drupal es muy simple. No entraré en detalles técnicos, los cuales podemos consultar en el sitio de Drupal. Para propósitos de este tutorial me referiré a la estructura de Drupal en su versión 6.10, la cual se distribuye en un archivo comprimido (drupal-6.10.tar.gz).
Drupal tiene un núcleo (core files) organizados en 6 carpetas o directorios más algunos archivos en el directorio raíz. Adicionalmente hay un directorio (sites) el cual sirve para guardar la configuración del sitio o sitios que maneje Drupal, así como los módulos y temas que sirven para agregar funcionalidad al sitio.
En el directorio “all” ubicado dentro del directorio “sites” es donde instalaremos los módulos y temas adicionales. Los módulos deberán instalarse en un directorio llamado “modules” (sites/all/modules) y los temas en un directorio llamado “themes” (sites/all/themes). No vienen creados así que si vamos a instalar módulos y/o temas adicionales tendremos que crear estos directorios.
Esta estructura facilita la actualización del sistema o de algún tema o módulo en particular. Cuando son liberadas actualizaciones de Drupal es muy simple realizar su actualización. Sólo es necesario respaldar nuestro directorio “sites”, borrar todos los demás archivos y directorios instalados originalmente e instalar la nueva versión de Drupal. Reinstalamos nuestro directorio “sites” y corremos el script de actualización (update.php).
De igual forma si actualizamos algún módulo, deberemos borrar el directorio del módulo instalado, instalar la nueva versión del módulo y ejecutar update.php dentro del directorio raíz de nuestro sitio.
Drupal tiene requisitos muy fáciles de cumplir: un servidor Web (generalmente Apache), PHP y una base de datos (MySQL generalmente, aunque como ya mencionamos, soporta PostgreSQL). En este pequeño tutorial usaremos Apache 2.2.11, PHP 5.2.9 y MySQL 5.0.67, todo corriendo en Windows Vista Ultimate.
Hemos configurado nuestro Apache con hosts virtuales. Instalaremos Drupal en el host “ejemplos” dentro de una carpeta nombrada como “drupal”.
Primero obtenemos la versión más reciente de Drupal (http://drupal.org). Al escribir este pequeño tutorial, dicha versión es la 6.10, la cual se distribuye en un archivo comprimido de nombre “drupal-6.10.tar.gz”. De igual forma instalaremos la traducción al español más reciente, la cual está disponible (en la fecha de escribir este tutorial) como “es-6.x-1.3.tar.gz”.
Descomprimimos el archivo drupal-6.10.tar.gz en nuestra carpeta raíz del host virtual (usando algún programa como 7-zip (http://7-zip.org), Winrar (http://www.rarlab.com) o algún otro. Drupal quedará descomprimido en un directorio con el nombre de “drupal-6.10”. Renombramos dicho directorio como “drupal”.
La traducción al español (archivo “es-6.x-1.3.tar.gz”) la descomprimimos dentro de directorio “drupal” directamente. Podemos no instalar el idioma Español en este momento para instalarlo y activarlo una vez instalado Drupal, pero de igual forma deberá ser descomprimido dentro del directorio raíz de la instalación de Drupal.
Dentro del directorio “sites/default” tendremos un archivo: “default.settings.php”. Copiamos este archivo dentro del mismo directorio pero le asignamos el nombre “settings.php”. Esto para que el script de instalación de Drupal lo tome como base para configurar nuestro sitio Web. Si no lo hemos hecho al correr el script de instalación de Drupal detectará que no existe y nos pedirá crearlo.
Deberemos ya tener creada una base de datos en MySQL. En este tutorial nuestra base de datos será “dbtest”. De igual forma tenemos que tener a un usuario de MySQL que tenga privilegios totales para chica base de datos. El usuario puede ser “root”, pero en nuestro ejemplo usaremos al usuario “userdrupal”, al cual ya lo hemos dado de alta con su contraseña y le hemos asignado todos los privilegios sobre la base “dbtest”.
Abrimos nuestro navegador (en este caso preferimos Firefox, el cual puedes bajar de http://firefox.com) y escribimos en la barra de direcciones “http://ejemplos/drupal” (sin las comillas). Al no tener configurado aun Drupal, inmediatamente se cargará el script de instalación (“http://ejemplos/drupal/install.php?profile=default”).
Como instalamos desde un principio la traducción al Español, tendremos la oportunidad de seleccionar ese idioma para la instalación. Pero si lo deseamos podemos proseguir con la instalación de Drupal en Inglés). En este caso seleccionamos “Spanish (Español)” y le damos click al botón “Select Language”.
En caso de que no hayamos creado el archivo “settings.php” dentro del directorio “sites/default/”, Drupal nos mostrará este mensaje:
“The Drupal installer requires that you create a settings file as part of the installation process.
More details about installing Drupal are available in INSTALL.txt.”
La siguiente pantalla dentro del proceso de instalación de Drupal es la de la configuración de la base de datos. Aquí tendremos que poner el nombre de la base de datos que creamos en MySQL “dbtest”, el usuario con privilegios totales para esta base de datos “userdrupal” y la contraseña de dicho usuario.
Como tenemos corriendo MySQL en nuestro equipo local (localhost) no pondremos más datos pues por default Drupal está configurado para acceder al servidor de la base de datos “localhost”.
Si es que tuviéramos la base en algún otro host, seleccionamos la pestaña “Opciones avanzadas” y nos aparecerán los campos para poner el nombre del host del servidor de la base de datos, el puerto correspondiente y adicionalmente un prefijo para las tablas de la base de datos. Esto es muy útil si es que sólo tuviéramos acceso a una base y esta tuviera otras tablas. Pondríamos un prefijo para distinguir las tablas del sitio de Drupal en nuestra base de datos.
En este tutorial no usaremos ningún prefijo para las tablas y nuestro servidor de base de datos será “localhost”.
Le damos click al botón “Guardar y continuar” una vez introducidos los datos de la base de datos y el script de instalación instalará Drupal para nuestro sitio Web (creación de las tablas en la base de datos, instalación de los módulos por default y de las traducciones de la interfaz, la cual es en este caso la del idioma Español).
Una vez terminado el paso anterior nos aparecerá la pantalla de configuración del sitio, dentro de la cual deberemos poner el “Nombre del sitio Web”, el “e-mail del sitio Web”. El primero es el nombre que llevará nuestro sitio (“Jos’ Website” es el de mi sitio) y el segundo es: ”La dirección de en los correos automáticos enviados durante el registro y tras la solicitud de nueva contraseña, y otros avisos”.
Además nos pedirá los datos de la cuenta de Administrador del sitio, los cuales son “Usuario”, “Dirección de correo electrónico” y “Contraseña”. Este usuario será el primero creado en Drupal y tendrá privilegios totales dentro del sitio. Drupal inicialmente permite un Administrador, aunque existe un módulo que puede asignar a otro usuario todos los privilegios de Administrador (este módulo hay que instalarlo).
Para finalizar esta parte, Drupal nos pedirá configurar datos adicionales para el sitio, como son la “Zona horaria”, los “URL’s limpios” (esto es, sin incluir ?q= en el URL) y poder activar “Verificar actualizaciones automáticamente”. Los “URL’s limpios” dependerán de tener cargado el módulo “rewrite_module” en Apache (y en el caso de que tengamos host virtuales, debemos configurar adicionalmente el host virtual)
Nota: Aunque no es propósito hablar de la configuración de Apache en este tutorial, mencionaremos que además de configurar Apache para que cargue el módulo “rewrite_module”, debemos adicionar dos directivas dentro de cada sección <VirtualHost> de nuestros sitios virtuales:
RewriteEngine On
RewriteOptions Inherit
Una vez que hayamos terminado de proporcionar todos los datos anteriores Drupal terminará de importar las traducciones de la interfaz y finalizará la instalación.
Este pequeño tutorial es parte de un proyecto más amplio, el cual consiste inicialmente en hablar de la instalación y configuración básica de Drupal, así como la instalación y actualización de módulos. Todo esto para apoyar a quien busca ayuda en español para usar Drupal para la construcción de su sitio Web.

Espero que este pequeño tutorial sobre la instalación de Drupal te haya sido de utilidad. Si tienes un comentario o duda puedes hacerla llegar mediante el formulario de contacto del sitio (http://josmx.com/contacto).