OJO: Este upgrade es de la versión 4.7.3 a la 4.7.4, que es sin modificación de la base de datos. Si el upgrade requiere una modificación de la base de datos, habrá que ver cómo se hace.

Aprovechando que hubo tres alertas de seguridad (Drupal Security Advisory SA-2006-024 Drupal Security Advisory SA-2006-025 y Drupal Security Advisory SA-2006-026) y que, por ello, se publicó la versión 4.7.4 para resolverlos, vamos a hacer un point upgrade desde la 4.7.3 que tenemos instalada (en lugar de aplicar los patches que sería lo más barato).

Lo único que me preocupa es que la versión 4.7.4 modificó levemente la API y algunos módulos podrían fallar... por suerte, ninguno de los módulos que tenemos instalados en ResponsabilidadSocialEmpresaria está en la lista de módulos que podrían tener incompatiblidades.

Nota: Del mismo modo que la InstalaciónDeDrupal, este upgrade está basado 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 {*} .

/!\ En realidad, prácticamente lo único pericles-specific es el directorio donde está instalado el drupal /!\

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

Nos basamos en Upgrading Your Drupal site without a DB Upgrade (command line version).

Backup previo

DB_NAME=<nombre de la base de datos creada>
DB_USER=<usuario MySQL del sitio virtual>
DB_PASS=<clave MySQL de dicho usuario>
TIMESTAMP=`date '+%Y%m%d_%H%M'`
# ELEJIMOS UN DIRECTORIO PARA LOS BACKUPS
BACKUPDIR=<PATH ABSOLUTO de un directorio que NO esté adentro del drupal>
mkdir -pv ${BACKUPDIR}
# empecemos con la base de datos:
mysqldump -u ${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BACKUPDIR}/${DB_NAME}-BACKUP-${TIMESTAMP}.sql
# ahora todo el sitio (OJO QUE DEJA DE FUNCIONAR):
mkdir -pv ${BACKUPDIR}/drupal_web
mv -v /var/www/html/* /var/www/html/.htaccess ${BACKUPDIR}/drupal_web

Instalación básica del nuevo drupal core

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

Restaurar archivos de configuración

Hagámoslo uno por uno just in case...

cd ${BACKUPDIR}/drupal_web
cp -pv .htaccess /var/www/html
cp -rpv files /var/www/html
cp -rpv sites /var/www/html

Restaurar cosas que hayamos modificado

En nuestro caso, EduardoMercovich modificó un theme. Por suerte, al no haber habido ninguna modificación en los themes que se instalan por defecto, esto es simple.

Para ver las diferencias entre los themes del nuevo drupal instalado y los que nosotros tenemos, hacemos lo siguiente:

cd ${BACKUPDIR}/drupal_web
diff -ur /var/www/html/themes themes

si la salida de esto es razonable (para algún valor de razonabilidad), entonces, le damos para adelante... si no, ¡¡mirarlo a mano!!.

cd ${BACKUPDIR}/drupal_web
cp -rpv themes /var/www/html

Restaurar módulos

Acá hay que verificar que los módulos que tenemos son compatibles con la nueva versión... si no, instalar las versiones nuevas.

OJO: no pisemos los módulos que vienen con el drupal (o sea... sólo usamos los subdirectorios del directorio modules).

cd ${BACKUPDIR}/drupal_web/modules
for MODULE in *
do
  if [ -d ${MODULE} ]
  then
    cp -rpv ${MODULE} /var/www/html/modules
  fi
done

Con esto debería estar...

UpgradeDeDrupal (última edición 2008-01-29 14:14:48 efectuada por localhost)