Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Drupal
Drupal
Drupal,
Drupal, el
el gestor
gestor de
de contenido
contenido para
para portales
portales
GOTAS EN LA RED
Fcil Configuracin
26
Nmero 08
WWW.LINUX-MAGAZINE.ES
Drupal PORTADA
Resolucin de Problemas
Muchas problemas de instalacin son
fciles de evitar:
Un error comn es asignar el valor de
localhost a la variable $base_url en el
archivo includes/conf.php aunque
Drupal no est ejecutndose localmente sino en un dominio con conexin. En este caso, la lnea debera ser
algo como $base_url = http://
www.example.com. Si nuestra DNS
o nombre del servidor no funcionan
adecuadamente, podemos especificar
aqu una direccin IP.
Otro error comn es especificar una
ruta incorrecta del servidor. Si Drupal
no est instalado en /var/www sino en
/var/www/drupal, por ejemplo, la
entrada debera ser $base_url =
http://www.example.com/drupal.
La variable $base_url no debe terminar en una barra /. En otras palabras:
tenemos que poner http://www.
example.com PERO NUNCA http://
www.example.com/.
Si se nos asigna una cuenta MySQL,
una contrasea y una base de datos
por parte de nuestro proveedor, debemos obviar el paso GRANT y los
pasos de creacin de bases de datos.
Usaremos los valores asignados por
nuestro proveedor en lugar de drupaluser, secret y drupal.
En caso de problemas en la instalacin,
debemos comprobar los archivos en la
pgina Web de Drupal [1], los foros de
Drupal [3] y las listas de correo [4]. Los
habitan un grupo de amables y competentes desarrolladores que estarn
encantados de ayudarnos.
www.example.
com?q=node/34 a
algo como http://
www.example.
com/node/34, para
mejorar la comprensibilidad
y
facilitar la indexacin de la pgina
por los bots de los
buscadores.
Si
queremos optimizar nuestra pgina
para dichos bots,
puede que queramos habilitar el
SFigura 1: Los bloques ofrecen a los usuarios de la pgina informacin
mdulo path, que
adicional. Se muestran de izquierda a derecha en todas las pginas (o
permite
asignar
bien en las especificadas por expresiones regulares [5] en la ruta).
una URL arbitraria
(y comprensible) a cada nodo. Con esto
mysql> FLUSH PRIVILEGES;
tendremos URLs como http://www.
Con esto tendremos una base de datos
example.com/contacts en vez de http://
llamada drupal. La base de datos de
www.example.com/node/123.
usuario, drupaluser, a la que se ha asigConfiguracin de Base de nado el password secret, tiene permisos
Datos
completos para todas las tablas de la
Incluso los webmasters inexpertos con
base de datos. Podemos presionar
poca experiencia en Linux no deberan
[Ctrl]+[D] para salir de la sesin shell
tener problemas para instalar Drupal va
de MySQL.
FTP y PhpMyAdmin. Los pasos siguienEl archivo database/database.pgsql en
tes son necesarios para instalar Drupal
el directorio de instalacin de Drupal
en un servidor Web con acceso SSH o en
contiene el esquema de definicin de
una mquina local. Despus de descaruna base de datos PostgreSQL. La congar la versin actual (la 4.5.2 en el
traparte
MySQL
es
database/
momento de escribir estas lneas) desde
database.mysql. Podemos redirigir el
http://drupal.org, tecleamos los siguienarchivo a la consola para analizarlo:
tes comandos para descomprimir el
archivo y mover su contenido al directo$ mysql -u drupaluser -p drupalU
rio raz de documentos del servido Web,
< /var/www/database/U
/var/www en nuestro ejemplo:
database.mysql
tar xfvz drupal-4.5.2.tar.gz
mv drupal-4.5.2/* U
drupal-4.5.2/.htaccess U
/var/www
WWW.LINUX-MAGAZINE.ES
Nmero 08
27
PORTADA Drupal
nuestro ejemplo), el usuario, la contrasea, el host de la base de datos y el nombre de la base de datos. La segunda lnea
especifica la ruta visible de Drupal para
los visitantes a la pgina Web.
Nuestra nueva instalacin Drupal estar ya accesible en http://localhost. La primera cosa que deberamos hacer es configurar un usuario de Drupal. Este usuario ser el administrador y tendr todos
los permisos para la configuracin y
administracin de la pgina Web, sin
importar el nombre que asignemos. Si
encontramos problemas en el proceso de
instalacin, hemos de revisar el cuadro
Solucin de Problemas, donde encontraremos consejos y una exposicin de
los problemas ms habituales y sus soluciones.
La terminologa de Drupal difiere de la
de otros gestores de contenido. La
siguiente seccin explora las partes ms
importantes de un sistema Drupal y
explica los trminos ms relevantes.
Un nodo es el bloque bsico con el que
construimos una pgina Web con
Drupal. Un nodo puede ser un artculo,
una imagen o una entrada de un foro.
Los siguientes tipos de nodo se habilitan
por defecto: page para pginas estticas
y story para artculos. Podemos aadir
ms tipos de nodos instalando y habilitando mdulos. Por ejemplo, el mdulo
forum define un nuevo tipo de nodo llamado forum topic. El mdulo blog nos
ofrece el nodo tipo personal blog entry.
El men de administracin nos da una
lista de los tipos de nodo en create content.
Construccin de Bloques
Un bloque es una cuadro con contenido
arbitrario que aparece a la izquierda o
derecha en una pgina Web. Drupal nos
ofrece varios bloques preconfigurados,
28
Nmero 08
WWW.LINUX-MAGAZINE.ES
El Nacimiento de Drupal
Dries Buytaert[2], un informtico belga y
autor original de Drupal, comenz a desarrollar un gestor de contenidos (tambin llamado CMS) para pginas dinmicas en el ao 2000. El sistema pretenda dar soporte a una comunidad
weblog, la cual Dries quiso llamar Dorp.
(Dorp significa pueblo en holands).
Al comprobar la disponibilidad del
dominio dorp.org, Dries tecle mal e
introdujo drop.org en su lugar. Le
gust tanto el nombre que decidi registrar el dominio drop.org y renombrar su
CMS como Drupal. (Drupal es la pronunciacin en ingls de la palabra gota
en holands, Druppel). Cinco aos
ms tarde, Drupal ha crecido hasta convertirse en un gestor de contenido
maduro y flexible, con cientos de desarrolladores trabajando en sus mejoras
y extensiones.
Drupal PORTADA
Figura 3:Los temas permiten al administrador (e incluso a los usuarios normales si as lo deseamos) modificar la apariencia de la pgina
Web.
Planificacin de Tareas
Las tareas repetitivas en Drupal recaen
en un demonio cron externo o bien en
llamadas a http://www.example.com/
cron.php. Esta URL dispara acciones que
se repiten regularmente en Drupal, como
por ejemplo, el borrado de entradas de
log obsoletas o actualizaciones de los
ndices de bsqueda. Puede accederse a
la pgina usando cualquier cliente Web
en lnea de comando, wget o lynx por
ejemplo. La siguiente lnea en /etc/crontab realizara la tarea:
0 * * * * root U
/usr/bin/wget -o /dev/null U
-O /dev/null U
http://www.example.com/cron.php
Administracin de Usuarios
Encontraremos una lista de usuarios
conectados incritos en administer |
users. Los administradores podrn verificar las configuraciones y pulsar en el
enlace link para modificarlas. Por ejemplo, si un usuario se porta mal, podemos
deshabilitar su cuenta de usuario. Los
administradores pueden usar los submens de administer | users | configure para
crear usuarios nuevos y definir reglas
genricas y privilegios para cuentas de
usuario:
WWW.LINUX-MAGAZINE.ES
Nmero 08
29
PORTADA Drupal
to son
anonymous
user para usuarios no inscritos
(incluyendo las araas y bots
de los buscadores) y authenticated user para usuarios inscritos. El administrador puede
definir cualquier nmero de
roles adicionales y asignarles
nombres arbitrarios. Por ejemplo, roles como administrador
del foro, editor o cliente son
bastante tpicos.
Instalacin
Mdulos
de
Nuevos
30
Nmero 08
creados por la comunidad de desarrolladores y guardados en repositorios CSV [10], donde continan
desarrollndose. Por supuesto,
todos estos mdulos estn bajo
licencia GPL.
Instalar mdulos es menos cmodo
que lo que uno hubiera deseado, al igual
que instalar el propio Drupal. Adems,
los pasos para instalar cada mdulo pueden ser diferentes, aunque existe un
estndar de facto que empieza a establecerse y muchos mdulos lo siguen.
Instalaremos los mdulos poormanscron
y image como ejemplos.
El mdulo poormanscron es un sustituto de cron. Drupal ejecuta el mdulo
cada vez que se accede a la pgina si ha
transcurrido un intervalo de tiempo
(configurable). Entonces, ejecuta las
acciones incluidas en cron.php y resetea
el contador a cero. Este mdulo es til si
nuestro proveedor Web no nos ofrece
acceso cron. Los pasos para instalarlo
son fciles:
$ wget http://drupal.orgU
/files/projects/
poormanscron-4.5.0.tar.gz
$ tar xfvz U
poormanscron-4.5.0.tar.gz
poormanscron/
poormanscron/LICENSE.txt
poormanscron/README.txt
poormanscron/poormanscron.module
$ cp poormanscron/U
poormanscron.module
/var/www/modules
ping
search
statistics
throttle
watchdog
atom
dba
flexinode
print
trackback
scheduler
htmlarea
Descripcin
Permite a los administradores leer fuentes RSS de otras pginas Web o
weblogs y mostrar esta informacin en bloques.
En caso de cambios en los contenidos de servicios que nos interesen, como
technorati.com, weblogs.com o blo.gs. Muy til para weblogs.
Soporta la bsqueda en los nodos por palabras clave. Requiere un cron que
actualice el ndice.
Genera estadsticas de visitas a la pgina Web. Guarda las direcciones IP, refe
rencias, nmero de visitas, etc.
Este mdulo desactiva algunos mdulos y bloques en escenarios de carga ele
vada para mejorar el rendimiento. Requiere el mdulo statistics
Guarda un log de todos los eventos de la pgina Web, por ejemplo, login del
usuario, quin cre contenido y cundo, mensajes de error y mucho ms.
Genera un feed atom (Versin 0.39). Descarga disponible en http://localhost/
atom/feed.
Herramienta bsica para el mantenimiento de bases de datos en Drupal. En
muchas ocasiones nos ahorrar tener que ejecutar PhpMyAdmin o similares.
Soporta la definicin de formatos de contenido ms o menos arbitrario. Por
ejemplo, podemos usar esto para definir un nodo de introduccin de recetas:
nombre, ingredientes, cantidades, trucos durante la preparacin, etc., usando
simplemente sealar y pulsar.
Crea una pgina Link printer friendly para cada nodo, que proporciona una
vista adecuada para su impresin.
Obligado para bloggers. Permite a otros bloggers enviarnos los llamados
trackbacks a nuestra pgina Web, y a nosotros enviar los nuestros a otros
blogs.
Proporciona contenido para lanzar en una fecha u hora especfica.
Proporciona una sencilla y vistosa edicin de texto basada en JavaScript.
WWW.LINUX-MAGAZINE.ES
Drupal PORTADA
$ wget http://drupal.orgU
/files/projects/U
image-4.5.0.tar.gz
$ tar xfvz image-4.5.0.tar.gz
[...]
$ mysql -u drupaluser -p U
drupal < image/image.sql
$ mkdir /var/www/modules/image
$ cp image/image.module U
image/image.inc U
/var/www/modules/image
Perspectivas
La prxima versin de Drupal, la 4.6,
es inminente y traer un buen nmero
de cambios interesantes. Incluir una
funcin de bsqueda ampliamente
mejorada, con codificacin UTF-8 para
Conclusiones
Drupal es un gestor de contenido libre,
compacto y enormemente flexible, con
una gran y activa comunidad de desarrolladores y usuarios. Se puede adaptar
con facilidad par dar soporte a un amplia
variedad de escenarios de aplicacin.
Los programadores apreciarn su slida
infraestructura de desarrollo con su bien
documentada API [12], que es expansible usando mdulos PHP. La estructura
modular, el mecanismo de cach y el
mdulo throttle para aumentar el rendimiento hacen de Drupal un sistema
poderoso y altamente escalable. Por
WWW.LINUX-MAGAZINE.ES
RECURSOS
[1] Pgina Oficial de Drupal: http://www.
drupal.org
[2] Pgina del autor de Drupal, Dries
Buytaerts: http://www.buytaert.net
[3] Foros de Drupal: http://drupal.org/
forum
[4] Lista de correo de Drupal: http://
drupal.org/mailing-lists
[5] Expresiones
Regulares
en
la
Wikipedia:
http://en.wikipedia.org/
wiki/Regular_expression
[6] Descargas de Drupal (lanzamientos,
mdulos, temas, traducciones): http://
drupal.org/project/releases
[7] Drupal
Theme
Garden:
webschuur.drupaldevs.org
http://
Web
de Uwe
http://www.
Nmero 08
31