DRUPAL Actualización
Sumario
Introdución
- Cada certo tempo Drupal lanza actualizacións do seu Core (núcleo principal cos módulos necesarios para ter unha funcionalidade mínima) ou ben actualizacións de Módulos instalados por nos ou Temas.
- Como normas xerais, cando se fai unha actualización de Drupal recoméndase:
- Facer unha copia da Base de Datos Mysql onde está aloxado.
- Poñer o sitio web en Modo Mantemento.
- Para realizar unha actualización deberemos:
Informes de estado
- Neste apartado se nos informará sobre posibles problemas de seguridade debido a unha mala configuración dos arquivos de configuración de Drupal ou de versións non actualizadas.
- Tamén informa da versión do Apache, Base de datos,...
Informa da versión do Core instalada. Se houbera outra versión aparecería aquí. Tamén informa dun problema na configuración do Drupal. Isto xa o solucionamos durante a instalación....
Copia de seguridade completa
- NOTA: Esta sección está asociada á realización dun EXERCICIO.
- En calquera momento podemos facer unha copia de seguridade de todo o noso Drupal.
- Pódese facer ou ben usando un módulo previamente instalado (coma backup and migrate) ou ben manualmente. Imos facelo manualmente.
Manualmente
- Cambiamos Drupal a modo Mantemento.
- Limpamos a caché. O podemos facer graficamente como está indicado neste enlace, no que se fala como facer para ter atallos. Se indica onde está a opción para limpar a caché.
- Facemos unha copia física do cartafol Drupal, coa orde cp -rp /drupal /backupDrupal/, sendo /drupal o cartafol onde está instalado e /backupDrupal o cartafol onde queremos copiar o sitio web. A opción -p do comando cp preserva os permisos.
- Comprimimos o cartafol coa orde: tar czf drupalbackup.tgz /backupDrupal/drupal.
- Facemos o backup da base de datos Mysql asociada ao Drupal. `Lembrar que podemos facela graficamente utilizando a ferramenta PhpMyAdmin.
- É recomendable parar os traballos programado que teñamos no Cron mentres facemos o backup.
- Executaremos a orde: mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
- Sendo:
- Username e Password o usuario utilizado na instalación do Drupal. Lembrar que os datos os temos no arquivo de configuración /drupal/sites/default/installation.php.
- DATABASENAME: Nome da base de datos utilizado na instalación do Drupal. Tamén se atopa no arquivo installation.php
- Nota: Pode suceder que se estades nun aloxamento non dedicado vos dea un erro. Isto o solucionaredes utilizando o parámetro -h nome_do_host: mysqldump -h nome_host -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql. Sendo o nome do host un parámetro que vos ten que dar o voso provedor de aloxamento.
- Desactivamos o modo mantemento.
- Nota: Se non temos mysqldump instalado podemos instalalo coa orde: apt-get install mysql-client-5.6.
- * Se estamos a utilizar XAMPP debemos cambiar o arquivo de configuración /etc/mysql/my.cnf e cambiar as liñas:
- pid-file = /var/run/mysqld/mysqld.pid
- socket = /var/run/mysqld/mysqld.sock
- por (está en varias liñas)
- pid-file = /opt/lampp/var/mysql/mysqld.pid
- socket = /opt/lampp/var/mysql/mysql.sock
- O proceso para restaurar o sitio web completo debería ser:
- Descomprimir a copia de seguridade coa orde: tar -xvf archivo.tar
- Copiar de volta o cartafol có Drupal coa orde: cp -rp /backupDrupal/drupal /cartafol_a_restaurar/ sendo /cartafol_a_restaurar no caso de utilizar xampp é /opt/lampp/httdocs.
- Restaurar a base de datos coa orde: mysql -u {user} -p {database} < {backup.sql}.
- * Isto so serve cando restauramos a base de datos sobre un Mysql que xa a ten creada e cos permisos asinados ao usuario que utiliza drupal na súa configuración para acceder a dita base de datos. Se non teríamos que crear a base de datos, restaurala, crear o usuario e darlle permiso para acceder á base de datos como fixemos durante a instalación.
- IMPORTANTE: Se cando restaurades o DRUPAL vos aparece a páxina principal pero despois non podedes acceder a ningunha outra:
- Revisade o arquivo .htaccess do sitio web e comprobar a directiva RewriteBase como xa vimos na instalación. Esta directiva está relacionada coa configuración do servidor Apache (/etc/apache2/sites-available/000-default.conf).
- É importante que se o servidor Web orixinal ten activado o módulo mod_rewrite tamén o teñades no servidor web de destino. Xa vimos como activalo durante o punto da instalación.
- Lembrade que se facedes calquera cambio teredes que reiniciar o servizo: sudo service apache2 restart.
- Se segue sen funcionar ao mellor teredes que limpar a caché có comando drush e a orde drush cache-rebuild.
- Nota: Tamén podemos facer unha copia da base de datos utilizando o comando Drush.
Utilizando o módulo Backup and Migrate
- Nota: Para saber como instalar un módulo podedes consultar este punto da wiki.
- Actualización:
- A catro de Abril do 2017 infórmase que xa pode ser utilizado pola versión 8 de Drupal.
- Podemos descargar o módulo backup and migrate dende este enlace.
- Unha vez descargado teremos unha nova entrada na sección de Administrar => Configuración => Sección Desarrollo:
Actualización do Core de Drupal
- NOTA: Esta sección está asociada á realización dun EXERCICIO.
- Actualización Update: Consiste en actualizar a versión de Drupal dende un 8.x a un 8.y. Máis información neste enlace.
- Actualización Upgrade: Consiste en actualizar dende un Drupal 8.x a un 9.y, por exemplo. Máis información neste enlace.
- Imos facer de exemplo, unha actualización á versión 8.2.0-beta2 (no momento de escribir este manual). As versión beta son de proba e en desenvolvemento polo que non deben ser empregadas para un sitio web en produción.
Agora borramos os cartafoles /drupal/core e /drupal/vendor así como todo o contido do cartafol raíz onde está instalado Drupal. Teremos que gardar o cartafol .git se o temos instalado. Para facer o borrado dos arquivos (estando situados no cartafol de instalación de Drupal): rm -rf core vendor e rm *.* .* Se tivésemos algún cartafol creado por nos con contido deberemos facer unha copia previamente do mesmo. Tamén se fixemos modificacións nos arquivos .htaccess, composer.json ou robots.txt deberemos facer copia.
Nota: Algunhas actualizacións de Cores implican modificacións no arquivo de instalación settings.php que se atopa en /sites/default (isto ven indicado na información da propia actualización). Nestes casos, deberemos: Facer unha copia do settings.php; copiar o arquivo default.settings.php que ven coa nova versión Core e nomealo co nome settings.php; modificar o novo arquivo settings.php cos datos modificados (normalmente ven ser o nome do usuario, password e nome da base de datos coa que conectamos con Mysql.Descomprimimos o novo Core descargado coa orde: tar -zxvf drupal-x.y.z.tar.gz e o copiamos coa orden: cp -Rf drupal-x.y.z/* /path_instalación_drupal e cp drupal-x.y.z/.* /path_instalación_drupal . No noso caso o path sería: tar -zxvf drupal-8.2.0-beta3.tar.gz e cp -Rf drupal-8.2.0-beta3/* drupal-8.2.0-beta3/.* /opt/lampp/htdocs/drupal. Se tiñamos algunha modificación feita nos arquivos .htaccess, composer.json ou robots.txt a restauraremos.
Se estamos a utizar composer executaremos a orde 'composer update drupal/core --with-dependencies' (non é o noso caso). Nos executaremos o arquivo 'update.php' poñendo na URL do navegador a orde: http://localhost/drupal/update.php. Se tivésemos un dominio teriamos que poñer: http://midominio.es/update.php. Aparecerá un asistente no que se nos informa da necesidade da facer unha copia de seguridade do cartafol /sites/ e da base de datos Mysql.
- Nota: Lembrar actualizar os permisos como indicamos no punto Configurando os permisos nos cartafoles de Drupal.
- Máis información no seguinte enlace.
-- Ángel D. Fernández González -- (2016).