Actualitzar mòduls i core a Drupal

Per actualitzar mòduls o el core, es pot descarregar directament de la pàgina de manteniment de Drupal dins de l’administració del Site o bé via wget o drush.

Mòduls

Un cop descarregat el mòdul en qüestió s’ha de posar al directori on es troben els mòduls: ./nom_site/sites/all/modules i es descomprimeix allà directament.

Core

Per instal·lar el core primer s’ha de fer còpia de seguretat de la versió anterior per si hi hagués algún problema. Tot seguit, s’ha de posar el core comprimit al directori on es troba el site i descomprimir-lo allà mateix. Es descomprimeix en un directori amb el mateix nom que la versió que es vol instal·lar. Ara només s’ha de copiar sobre el lloc original.

Revisions a realitzar

Un cop realitzada la actualització s’ha de revisar la pàgina d’administració, concretament al menú “Administrar -> Reports -> Informe d’estat” i es probable que hi hagi canvi en la BBDD amb lo cual s’ha d’executar un script de manteniment http://www.nom_site.com/update.php o bé executar-lo manualment. La primera vegada que vaig canviar el core em va sortir aquesta actualització:

Actualització de Drupal

Per realitzar l’actualització de Drupal cal dur a terme unes tasques de prevenció davant possibles fallades del nostre site per culpa de l’actualització. En escriure la URL del nostre site de Drupal, per exemple , ens apareixerà el següent missatge:

For more detailed information, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

  1. Back up your database. This process will change your database values and in case of emergency you may need to revert to a backup.
  2. Back up your code. Hint: when backing up module code, do not leave that backup in the ‘modules’ or ‘sites/*/modules’ directories as this may confuse Drupal’s auto-discovery mechanism.
  3. Put your site into maintenance mode.
  4. Install your new files in the appropriate location, as described in the handbook.

When you have performed the steps above, you may proceed.

L’actualització pot fallar, per tant s’ha d’anar amb molt de compte en fer aquestes actualitzacions.

Drush: utilitat Drupal per a manteniments, actualitzacions, downloads de mòduls, …

Un cop tens instal·lat i funcionant un site amb Drupal, i no per ser menys important, hi ha eines que et faciliten la realització de tasques repetitives dins de Drupal. Una d’aquestes eines es diu Drush i serveix per a activar/desactivar un mòdul, descarregar mòduls, actualitzar mòduls, ….

En aqueta entrada, es recopila tota la informació útil de Drush. Per a la descàrrega, instal·lació i configuració es recomana mirar el link que hi ha a sota en negreta però la descarrega es pot realitzar directament així:

wget http://ftp.drupal.org/files/projects/drush-7.x-4.5.tar.gz

(Si es fa en el directori /var/www/html s’haurà d’utilitzar usuari root).

 

Links interessants:

Backup i restore de Drupal

Per fer el backup de Drupal es pot fer servir el següent script, que he extret de la pàgina oficial de Drupal, configurant l’apartat de connexió a la base de dades i el directori d’accés a on es troba instal·lat Drupal:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
#
# fullsitebackup.sh V1.1
#
# Full backup of website files and database content.
#
# A number of variables defining file location and database connection
# information must be set before this script will run.
# Files are tar'ed from the root directory of the website. All files are
# saved. The MySQL database tables are dumped without a database name and
# and with the option to drop and recreate the tables.
#
# ----------------------
# March 2007 Updates
#    - Updated script to resolve minor path bug
#    - Added mysql password variable (caution - this script file is now a security risk - protect it)
#    - Generates temp log file
#    - Updated backup and restore scripts have been tested on Ubunutu Edgy server w/Drupal 5.1
#
#    - Enjoy!  BristolGuy
#-----------------------
#
## Parameters:
#    tar_file_name (optional)
#
#
# Configuration
#
# Database connection information
dbname="drupal"     
# (e.g.: dbname=drupaldb) dbhost="localhost" dbuser=""        
# (e.g.: dbuser=drupaluser) dbpw=""
# (e.g.: dbuser password)

# Website Files
webrootdir="/var/www/drupal" 
# (e.g.: webrootdir=/home/user/public_html)

#
# Variables
#
# Default TAR Output File Base Name
tarnamebase=sitebackup
datestamp=`date +'%m-%d-%Y'`

# Execution directory (script start point)
startdir=`pwd` logfile=$startdir"/fullsite.log"

# file path and name of log file to use

# Temporary Directory tempdir=$datestamp

#
# Input Parameter Check
#
if test "$1" = ""
then
    tarname=$tarnamebase$datestamp.tgz
else
    tarname=$1
fi

#
# Begin logging
#
echo "Beginning drupal site backup using fullsitebackup.sh ..." > $logfile

#
# Create temporary working directory
#
echo "   Creating temp working dir ..." >> $logfile
mkdir $tempdir

#
# TAR website files
# echo "   TARing website files into $webrootdir ..." >> $logfile cd $webrootdir tar cf $startdir/$tempdir/filecontent.tar .
#
# sqldump database information
#
echo "   Dumping drupal database, using ..." >> $logfile
echo "      user:$dbuser; database:$dbname host:$dbhost " >> $logfile
cd $startdir/$tempdir
mysqldump --user=$dbuser --password=$dbpw --add-drop-table $dbname > dbcontent.sql

#
# Create final backup file
#
echo "   Creating final compressed (tgz) TAR file: $tarname ..." >> $logfile
tar czf $startdir/$tarname filecontent.tar dbcontent.sql

#
# Cleanup
#
echo "   Removing temp dir $tempdir ..." >> $logfile
cd $startdir
rm -r $tempdir

#
# Exit banner
#
endtime=`date`
echo "Backup completed $endtime, TAR file at $tarname. " >> $logfile

Link dins de Drupal: http://drupal.org/node/129202

El que fa aquest script és una còpia de la BBDD i del sistema de fitxers que haguem especificat en l’apartat de configuració.

Per recuperar el backup realitzat es recomana esborrar la base de dades i crear-la de nou.

 

IMPORTANT!!!!

En reestablir un site des d’una còpia de seguretat, pot ser que les urls no funcionin. Això pot ser culpa de les clean url. Per tant s’haurien de configurar com si no en tinguéssim:


1
2
UPDATE variable SET VALUE = 's:1:"0";' WHERE name = 'clean_url';
DELETE FROM cache;

Quan provem a tornar a entrar al nostre site de Drupal, és probable que surti un missatge dient-nos que el site no esta en funcionament i això pot ser degut a que les dades de configuració d’accés a la base de dades no són correctes. Es modifica el fitxer settings.php posant les dades que calguin i ha de funcionar.