Nota: Esta instalación está basada en Ensim, pero la mayoría es aplicable a cualquier setup. Vamos a marcar con /!\ las cosas que están hechas específicamente para lidiar con la instalción del Ensim en pericles. Los procedimientos genéricos están marcados con {*} .

Preparación de la base de datos

Permisos MySQL

/!\ Esto se aplica al Ensim en pericles y a cualquier otro lugar con poco control del usuario sobre los permisos en MySQL (y con alguna ayuda del administrador que finalmente va a tener que ejecutar el script.

  • Crear (como administrador del sitio) una nueva base de datos, asegurarse de tener en claro el nombre de esta base, así como el usuario y la clave MySQL (el usuario y el administrador son únicos para todo el site virtual).
  • El problema es que el Drupal requiere los permisos LOCK TABLES y CREATE TEMPORARY TABLES de MySQL para funcionar, y ensim no lo da. Es por esto que desde pericles, alguien que sepa la clave de root de MySQL (no es la clave de root de pericles, si no la de MySQL) tiene que habilitarlo, ya sea desde el phpMyAdmin en http://200.68.65.165/MyAdmin/index.php , o, desde un shell (puede estar logueado como cualquier usuario en pericles), hacer lo siguiente.

DB_NAME=<nombre de la base de datos creada>
DB_USER=<usuario MySQL del sitio virtual>
DB_PASS=<clave MySQL de dicho usuario>

# que molesto es el quoting en bash!!!
DB_QUOTEDNAME=`sed  -e 's/_/\\\\\\\_/g' <<eof
$DB_NAME
eof`

# creamos un archivo temporario para generar todos los REVOKE/GRANT necesarios
cat >/tmp/priv.sql <<eof
REVOKE  ALL PRIVILEGES
        ON \`DBNAME\`.*
        FROM 'DBUSER'@'DBHOST';

GRANT   SELECT,
        INSERT,
        UPDATE,
        DELETE,
        CREATE,
        DROP,
        INDEX,
        ALTER,
        CREATE TEMPORARY TABLES,
        LOCK TABLES
        ON \`DBNAME\`.*
        TO 'DBUSER'@'DBHOST' IDENTIFIED BY 'DBPASS';

eof

# creamos el archivo que va a contener el script definitivo
cat >/tmp/privilegios.sql <<eof
eof


for DB_HOST in 127.0.0.1 localhost localhost.localdomain
do
  sed -e "s/DBHOST/${DB_HOST}/" \
      -e "s/DBUSER/${DB_USER}/" \
      -e "s/DBPASS/${DB_PASS}/" \
      -e "s/DBNAME/${DB_QUOTEDNAME}/" < /tmp/priv.sql >> /tmp/privilegios.sql
done

# este comando va a pedir la clave msyql de root
# en todo caso, hay que pasarle el archivo
# privilegios.sql a un sysadmin de pert para
# que lo corra.
mysql -u root -p < /tmp/privilegios.sql

Creación de las tablas

/!\ Primero, está el problema de que no sé por qué configuración de Pericles, las bases no sólo no se crean en utf8, si no que encima, el idioma por default es el sueco :-(

/!\ IMPORTANTE <!> esto debe hacerse ANTES de crear efectivamente las tablas.

Igual esto es barato de arreglar:

echo 'ALTER DATABASE `'${DB_NAME}'` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci' > /tmp/utf8.sql
# esto va a pedir la clave ${DB_PASS} de ${DB_USER}
mysql -u ${DB_USER} -p ${DB_NAME} < /tmp/utf8.sql

{*} Si vamos a usar un prefijo ($db_prefix) para las tablas, entonces tenemos que preparar el script de creación de las tablas para que lo manejen OK1:

DB_PREFIX=<prefijo que vamos a usar en la base>

cd /var/www/html
sed     -e "s/CREATE TABLE /CREATE TABLE ${DB_PREFIX}/" \
        -e "s/INSERT INTO /INSERT INTO ${DB_PREFIX}/" < database/database.4.0.mysql > database/database.NUESTRA.sql

{*} Ahora, cargamos la base de datos:

# esto va a pedir la clave ${DB_PASS} de ${DB_USER}
mysql -u ${DB_USER} -p ${DB_NAME} < database/database.NUESTRA.sql

Instalación

/!\ A partir de este punto, prácticamente lo único pericles-specific es el directorio destino /!\

{*} Para otros entornos, reemplazar /var/www/html por el directorio que se ve en la raíz del web server {*}

La instalación es tan simple como bajar y copiar todo al directorio correspondiente. Vamos a hacerlo en el directorio raíz del apache (/var/www/html).

wget http://ftp.osuosl.org/pub/drupal/files/projects/drupal-4.7.3.tar.gz
tar xvfz drupal-4.7.3.tar.gz
cd drupal-4.7.3
mv * .htaccess /var/www/html
cd ..

Configuración básica

La configuración (si trabajamos con una sola instancia) va en el directorio sites/default (a partir de donde está instalado el Drupal).

Hagamos un backup de la configuración default por si acaso.

cd /var/www/html
cd sites/default
cp -p settings.php Settings-ORI.php
# lo pongo en mayusculas para que no me moleste con el <TAB> en bash

Ahora hay que editar settings.php

Lo principal es configurar el connect string de la base de datos. Esto va en la variable $db_url (el formato está explicado en el mismo archivo). Le ponemos los datos de la base de datos que creamos.

Lo otro que se puede configurar es la variable $db_prefix que hace que todas las tablas de esta instancia del drupal comiencen con el prefijo que pongamos acá. En general a mí me gusta usar esta variable para poder reutilizar una misma base de datos o para tener varias instancias.

Otro punto a favor es que podés tener varias instancias compartiendo "parte" de la base de datos (e.g. los usuarios)... esto se puede hacer creando $db_prefix como un array, pero esto queda fuera del alcance de este documento :-)

Creamos un directorio para archivos estáticos (logos, etc):

cd /var/www/html
mkdir files
cat >files/.htaccess <<eof
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
<IfModule mod_rewrite.c>
  RewriteEngine off
</IfModule>
eof

ahora ya se puede tener acceso al site para seguir la configuración via web

Instalación de módulos

Drupal nos permite instalar módulos para agregarle funcionalidad. En general cada módulo tiene su propio README.txt con instrucciones para su instalación y configuración.

Los módulos que vienen incluidos en el Drupal están en el directorio modules (desde la raíz del Drupal) y son archivos programados en PHP con la extensión {.module.

Cuando se desea instalar un nuevo módulo, primero hay que verificar que la versión sea compatible con la versión instalada del Drupal y, normalmente, simplemente se agrega un subdirectorio con el nombre genérico del módulo (o conjunto de módulos) al directorio modules.

Una vez hecho esto, seguir las instrucciones del README.txt que posiblemente incluyan, al final la activación del módulo.

Configuración via web

Creación del usuario administrador

Ahora hay que entrar a la web y configurar todo... en la página inicial va a haber instrucciones, lo primero es crear el usuario administrador que es el que va a tener permiso para todo.

Localización (l10n)

Otra cosa recomendable es agregarle la localización y el idioma castellano.

Ir a Administer => modules y prender la opción locale. Apretar el botón Save configuration.

Ahora vamos a Administer => localization y elegimos add language. Elegimos en la lista Spanish (Español) y apretamos el botón Add language.

Ahora, en la lista, seleccionamos Enabled y Default en la fila correspondiente al español.

Esto lo único que hace es definir que existe la localización al castellano, pero no carga la traducción. Para eso, hay que importar un archivo es.po.

Lo más simple es bajar (a la estación de trabajo donde se está trabajando, no al server) el paquete que está en http://ftp.osuosl.org/pub/drupal/files/projects/es-4.7.0.tar.gz, abrirlo y acordarse dónde se dejó.

Volvemos a la página de localización del Drupal y elegimos import, apretar el botón Browse... para buscar el archivo en la estación de trabajo, seleccionar Spanish de la lista de idiomas y apretar el botón Import.

Ahora sí anda en castellano

Configuración de algunas opciones

Opciones generales

(./) Administrar (./) opciones

  • \==> (./) Opciones generales

Poner acá el nombre del sitio, el mail del administrador y otras opciones generales.

URLs limpios

Al final de la pantalla de opciones generales, hacer click abajo en Realizar la pureba del URL limpio y, si funciona, activar URLs limpios, que quedan mucho más elegantes.

Módulos

(./) Administrar (./) módulos Aquí se activan y desactivan todos los módulos, tanto los que vienen incluídos en el Drupal como los que se instalan aparte. Normalmente, después de activar un módulo, es necesario ajustar los permisos de los roles de usuario.

Control de acceso

(./) Administrar (./) control de acceso

Creación de roles

Elegir el tab roles, ir creando los nombres de los roles que se quieren usar y apretar el botón Añadir rol para cada uno de ellos.

Luego ir al tab permisos y definir los permisos para cada rol.

<!> OJO <!> cuando se agreguen módulos, seguramente van a aparecer nuevos permisos con lo cual hay que volver al tab permisos y revisar los permisos en los nuevos módulos para cada rol.


Notas:

  1. Si no usamos $db_prefix, simplemente hay que asegurarse de que la variable de entorno $DB_PREFIX no exista o esté vacía y, en ese caso el archivo database/database.NUESTRA.sql va a ser idéntico a database/database.4.0.mysql (1)

InstalaciónDeDrupal (última edición 2008-01-29 14:14:52 efectuada por localhost)

Edit and actions menu

  • Página inmutable
  • Información
  • Adjuntos