Instalación de Drupal

1. Crear y borrar bases de datos como root de mysql

En esta sección se explica como crear una base de datos de nombre «prueba» a nivel de la consola como usuario normal del sistema entrando a mysql como administrador de este programa.

Crear la base de datos y conceder permisos suficientes de gestión a un usuario

general@debian-64:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 100
Server version: 5.1.61-2 (Debian)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

mysql> create database prueba;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| prueba             |
+--------------------+
3 rows in set (0.00 sec)

Una vez creada la base de datos creamos un usuario «Nombre_usuario» con una contraseña «Password_usuario» y le damos permisos suficientes para operar en la base de datos. Estas operaciones son genéricas para cualquier base de datos, en particular para una base de datos de Drupal

 
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON prueba.* TO 'Nombre_usuario'@'localhost' IDENTIFIED BY 'Password_usuario';
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye
general@debian-64:~$ 

Cada quien es libre cambiar «prueba», «Nombre_usuario» y «Password_usuario» por lo que desee.

Si se desea pueden darse todos los permisos mediante

mysql> GRANT all PRIVILEGES ON prueba.* TO 'Nombre_usuario'@'localhost' IDENTIFIED BY 'Password_usuario';

Borrar una base de datos

mysql> drop database prueba;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

2. Instalación de Drupal

Consta de tres etapas: la primera bajarse Drupal de la página óficial y descomprimirlo en cierta carpeta, también bajarse la traducción al español; la segunda preparar el proceso de instalación, fijando permisos y configuración general; en la tercera se realiza la instalación con un navegador.

Supponemos una instalación local en una máquina con permisos de superusuario. Alguna de las operaciones hay que hacerlas como root del sistema.

2.1 Descargar y descomprimir Drupal en el directorio deseado

Esto puede hacerse con herramientas gráficas desde la página oficial drupal.org o también desde la consola, que es lo más cómodo una vez localizada con el navegador la URL. Conviene también bajarse la traducción al español.

wget http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz
tar -zxvf drupal-7.15.tar.gz

cd drupal-7.15/profiles/standard/translations
wget http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.15.es.po

mkdir /var/www/nombre_carpeta
cd ..
cd ..
cd ..
cd ..
mv drupal-7.15/* drupal-7.15/.htaccess /var/www/nombre_carpeta
cd /var/www/nombre_carpeta

2.2 Configuración y permisos

Lo primero es crear el fichero de configuración settings.php (usando un modelo o crearlo vací­o)

cp sites/default/default.settings.php sites/default/settings.php

Y también un directorio nuevo destinado a acoger los ficheros «anexos» a los artículos

mkdir sites/default/files

Ahora los permisos de escritura necesarios para la instalación

chmod o+w sites/default/settings.php
chmod o+w sites/default
chmod o+w sites/default/files

Todo de golpe sin detallar

Copiar y pegar en la consola de root situados en la raiz del directorio de instalación

cp sites/default/default.settings.php sites/default/settings.php
mkdir sites/default/files
chmod o+w sites/default/settings.php
chmod o+w sites/default
chmod o+w sites/default/files

2.3 Proceder a la instalación usando un navegador

Desde cualquier navegador se abre la dirección local correspondiente

http://localhost/nombre_carpeta

Durante la instalación, primero verifica que existe y hay permisos de escritura en sites/default/settings.php

A continuación pide nombre de base de datos a usar con Drupal y los correspondientes usuario y password que se establecieron al crear la base de datos para este fin.

En la misma pantalla, un poco más abajo, pide un nombre de "usuario_administrador" para esta instalación de Drupal y «contraseña». Ambos son independientes de los utilizados al crear la base de datos.

Al acabar la instalación nos dice que ha acabado y que si queremos entrar a verificar el «Status report» en el que nos advertirá de dos cosas importantes y una tercera más secundaria.

Las importantes tienen que ver con quitar los permisos concedidos anteriormente para garantizar la seguridad. Lo cual puede hacerse mediante:

chmod a-w sites/default/settings.php
chmod a-w sites/default

Si ahora volvemos a verificar el «Status report» la situación ha mejorado: ha desaparecido la alarma roja.

La más secundaria es ejecutar cron haciendo click sobre el texto «run cron manualy». Y con ello termina la instalación.

Recuperar una base de datos de una instalación en otra máquina o sistema

En ocasiones he tenido una instalación en otra máquina y he necesitado recuperar la base de datos. Veamos como hacerlo.

Lo primero es crear una copia de seguridad de la base de datos del sistema viejo. Esto se consigue con el siguiente código, supuesto que la base de datos sea «NOMBRE». Desde una consola del sistema Linux como usuario normal se ejecuta

mysqldump  -u root -p NOMBRE >~/NOMBRE.sql

lo cual crea el fichero NOMBRE.sql en el home de usuario (o en cualquier otro lugar que se le indique). Este fichero es el que hay que restablecer en la nueva instalación.

Para restablecer la copia de seguridad se utiliza la siguiente sintaxis

mysql -u root -p NOMBRE < ~/NOMBRE.sql

supuesto que el fichero se ha copiado en el home de usuario del nuevo sistema.

Además es imprescindible que copie los ficheros «adjuntos» que existían en la carpeta

sites/default/files

de la vieja instalación a esa misma carpeta, pero en la nueva instalación.

Realizado lo cual si vuelve a abrir con el navegador la dirección

http://localhost/nombre_carpeta

debe encontrar la información que tenía en la base de datos.

Anexo

Arrancar mysql mysql -u root -p
Por defecto no usa password aunque si se le ha puesto (detrás de -p) es necesario indicárselo en lo sucesivo
Listar database show databases;
Crear bases de datos (en /var/lib/mysql) create database NOMBRE;
Borrar base de datos drop database NOMBRE;
Conceder permisos a usuarioGRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON NombreBD.* TO 'username'@'localhost' IDENTIFIED BY 'password';
o bien
GRANT all PRIVILEGES on NombreBD.* to Usuario@localhost identified BY 'usuario_password';
Añadir nuevas cuentas de usuario http://dev.mysql.com/doc/refman/5.0/es/adding-users.html
Hacer copia de seguridad mysqldump ¿--add-drop-table? -u root -p NOMBRE >~/NOMBRE.sql
Restablecer copia de seguridad mysql -u root -p NOMBRE < ~/NOMBRE.sql
Copiar los datos de una tabla a otra tabla insert into db1.tabla select * from db2.tabla
Borrar una tabla drop table BaseDatos.NombreTabla;
http://www.programatium.com/biblioteca/programacion/php/insertar.htm