1.2.2. Het updaten van Drupal 8 zonder Drush en zonder Composer.
Als je Drupal hebt geïnstalleerd door het te downloaden van de officiële website drupal.org vanaf deze pagina:
https://www.drupal.org/project/drupal
Dan kun je problemen ondervinden bij het updaten van Drupal, omdat Drush en Composer deze versie niet op de gebruikelijke manier kunnen bijwerken. Daarom zul je Drupal moeten updaten door bestanden handmatig te vervangen, of de projectstructuur aanpassen zodat Composer het kan beheren. In dit artikel bekijken we de eerste optie — hoe je Drupal kunt updaten zonder Drush en Composer.
Voordat je Drupal bijwerkt, maak eerst een volledige back-up van je site. Kopieer alle bestanden en de database. Problemen komen zelden voor, maar het herstellen van een site kost tijd — het is dus beter om vooraf een back-up te maken.
Als je site al online staat en zelfs een korte onderbreking invloed kan hebben op de verkoop van jouw bedrijf of dat van je klant, maak dan eerst een kopie van de site. Probeer de update op de kopie uit te voeren en pas na een succesvolle update de veranderingen toe op de live-site, of vervang de productieversie door een lokaal bijgewerkte kopie.
Noteer tijdens het updaten alle stappen, fouten en meldingen — dat maakt het later makkelijker om de procedure te herhalen.
Probeer Drupal 8 niet te updaten via FTP op een externe server — dat duurt veel te lang. Als je SSH-toegang hebt, kun je de Drupal-bestanden via wget
downloaden, wat veel sneller is.
Nu je een back-up hebt, kunnen we doorgaan met de update.
1. Log in op de site als beheerder met rechten om update.php
uit te voeren en de site in onderhoudsmodus te zetten.
2. Zet de site in onderhoudsmodus:
/admin/config/development/maintenance
Configuratie → Onderhoudsmodus
Administration → Configuration → Development → Maintenance mode
3. Verwijder de mappen core
en vendor
uit de hoofdmap van de site.
Zodra je deze mappen verwijdert, zal de site niet meer werken en tijdelijk onbereikbaar zijn.
4. Als je bestanden zoals .htaccess
of robots.txt
hebt aangepast, bewaar dan de wijzigingen, want ook deze bestanden in de root moeten worden bijgewerkt.
Bewaar ook eventuele aanpassingen in composer.json
. Als je bibliotheken of modules via Composer hebt geïnstalleerd, moet je ze later opnieuw installeren. Als er veel wijzigingen zijn, overschrijf dan de bestanden composer.json
en composer.lock
liever niet.
5. Soms worden er wijzigingen aangebracht in default.settings.php
. Voeg die wijzigingen dan toe aan jouw settings.php
. Je kunt de lijst met wijzigingen vinden via de link “View all releases” op de Drupal-projectpagina:
https://www.drupal.org/project/drupal
Meestal is dit niet nodig als je slechts een kleine versie-update uitvoert (bijv. 8.5.x → 8.5.y).
6. Download de nieuwe versie van Drupal vanaf de projectpagina of via “View all releases”.
https://www.drupal.org/project/drupal
Kopieer uit de nieuwe versie de mappen core
en vendor
en alle bestanden uit de rootmap.
Plaats deze bestanden vervolgens in je website.
Je kunt op een externe server ook SSH gebruiken om de bestanden buiten de webroot te downloaden:
wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz tar -zxvf drupal-x.y.z.tar.gz
En kopieer daarna de bestanden naar je site binnen de server:
cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation
Als FTP je enige optie is, gebruik dan FileZilla en stel het aantal gelijktijdige verbindingen in op 10 om het proces te versnellen:
7. Herstel de wijzigingen in robots.txt
, .htaccess
, default.settings.php
, settings.php
en composer.json
.
8. Voer daarna het bestand update.php
uit om de database aan te passen aan de nieuwe Drupal-versie. Voeg hiervoor tijdelijk de volgende regel toe aan settings.php
:
$settings['update_free_access'] = TRUE;
Dit maakt het mogelijk om update.php
vanaf elke gebruiker uit te voeren.
Voer vervolgens het bestand /update.php
uit:
9. Controleer of Drupal succesvol is bijgewerkt. Ga naar de pagina Status Report:
/admin/reports/status
10. Zet de site terug in de normale modus:
/admin/config/development/maintenance
11. Vergeet niet na het uitvoeren van update.php
de waarde weer terug te zetten op FALSE:
$settings['update_free_access'] = FALSE;
Als je problemen of fouten tegenkomt, laat dan een reactie achter.