Site kopiëren (Drupal): verschil tussen versies
Regel 56: | Regel 56: | ||
|} | |} | ||
− | == Casus | + | == Casus - 2019 == |
+ | |||
+ | Dit betreft een Drupal 7-webwinkel die gekloond wordt van ''S4'' naar ''S3'', op dezelfde server. | ||
+ | |||
+ | === Actie === | ||
+ | |||
+ | * Bestanden gekopiëerd | ||
+ | * Database gekopiëerd | ||
+ | * <code>/sites/default/settings.php</code> aangepast: Gegevens nieuwe database ingevoerd. De URL van de site stond niet in dit bestand vermeld |
Versie van 16 okt 2019 09:11
Casus - 2010
Een site migreren, bijvoorbeeld van een ontwikkel- naar een productieomgeving, is vrij complex. Dat is omdat je niet zomaar in één keer de bestanden plus de database kunt overfietsen. Een paar scenario's:
- Bestanden migreren, op de nieuwe locatie de website starten: De website zal doorgaans een foutmelding geven dat hij de database niet kan vinden. Als je in settings.php de juiste gegevens invoert, krijg je vervolgens een foutmelding, omdat de site niet de verwachte tabellen vindt. Wiedes, want die database is nog leeg. Jammer dat de site niet in zo'n geval een nieuwe database initiëert;
- Bestanden migreren, database zelf migreren, website starten: In dit scenario wordt de database op de nieuwe locatie geactiveerd voordat de site gestart wordt, doorgaans middels PHPMyAdmin. Deze manier heb ik nog niet toegepast, maar het werkt waarschijnlijk wel. Het werk zit 'm in het im- en exporteren van de database: Dat is een secuur werkje;
- Bestanden migreren, database migreren middels Drupal-module: Dit is het scenario dat ik meestal toepas: (1) Op de bronlocatie maak ik met behulp van de backup_migrate-module een copie van de database; (2) op doellocatie maak ik een werkende Drupal-installatie aan, want het is noodzakelijk dat Drupal zelf een database initiëert; (3) Ik migreer alle bestanden van bron- naar doellocatie; (4) Op doellocatie activeer ik de backup_migreer-module, en ik importeer de database. Deze procedure wordt in dit artikel behandelt.
Procedure
Actie | Uitleg |
---|---|
Upgrade de bron-site | Waarschijnlijk is dit het handigste moment om de bron-site bij te werken naar de nieuwste versie van Drupal. Additioneel heeft dat het voordeel dat de versies op doel- en bronlocatie gelijk zullen zijn. Aan de andere kant: Als het niet kapot is, hoef je het ook niet te repareren |
Schakel CleanURLs uit op bronlocatie | Op http://drupal.org/node/5590 staat uitgelegd hoe je clean URLs kunt aanpassen als het kwaad al is geschied. |
Maak een backup van de database | Maak met behulp van de Backup and Migrate-module een backup van de database op de bronlocatie. Laat deze backup op de server staan |
Creëer een werkende Drupal-installatie op doellocatie | Zorg dat op de doellocatie een werkende Drupal-installatie is. Je hebt namelijk een functionerende Drupal-database nodig |
Backup settings.php | Maak een backup van het settings.php-bestand van doellocatie naar je locale computer |
Verwijder alle bestanden op de doellocatie? | In de volgende stap worden alle bestanden van bron- naar doellocatie gecopiëerd, en de ervaring leert dat dat vaak niet in één keer goed gaat. Daarom is het handig om alle bestanden te verwijderen: Dan kun je de voortgang bijhouden.
Aan de andere kant: Een client als FileZilla lijkt doorgaans probleemloos te copiëren. In dat geval kun je deze stap overslaan. |
Copiëer alle bestanden van bron- naar doellocatie | Met Nautilus kun je direct van bron- naar doellocatie copiëren. Probleem is echter dat Nautilus (of misschien de FTP-infrastructuur) nogal foutgevoelig is. Waarschijnlijk handig om bestanden steeds in delen te copiëren.
FileZilla is een veel betrouwbaardere client voor copiëren van bestanden. Ook al kun je vermoedelijk niet rechtstreeks van bron- naar doellocatie copiëren. |
Copiëer settings.php naar doellocatie | Nu heb je nog steeds je 'oude' doellocatie-site. Welliswaar zijn veel bestanden ge-upload, maar je gebruikt nog steeds de oude database |
Activeer de Backup and Migrate-module | |
Activeer de locaal opgeslagen database-copie | ... Nu heb je de nieuwe site |
Alternatief
Aan het begin van dit hoofdstuk was vermeld dat je niet zomaar de bestanden plus database kunt overfietsen. Toch zou het prettig zijn als het min-of-meer op die manier zou kunnen.
Casus - 2019
Dit betreft een Drupal 7-webwinkel die gekloond wordt van S4 naar S3, op dezelfde server.
Actie
- Bestanden gekopiëerd
- Database gekopiëerd
/sites/default/settings.php
aangepast: Gegevens nieuwe database ingevoerd. De URL van de site stond niet in dit bestand vermeld