Drupal site installeren met Drush Make

Ingediend door Donny op di, 30/08/2011 - 07:21

Een tijdje geleden schreef ik een blogpost over Drush (Drupal's Swiss Army Knife) en hoe je hier snel Drupal installaties mee kan uitbreiden/updaten. Vandaag gaan we dat gedeelte een stukje uitbreiden met "Drush Make".

Drush Make is een uitbreiding op Drush en levert ons weer verschillende mooie extra features. Download de module van Drupal.org en plaats de map drush_make bij in de map commands die je terug vindt in je bestaande Drush map, het path naar de nieuwe bestanden wordt dus als volgt: drush/commands/drush_make.

Drush konden we vooral gebruiken bij het snel installeren van extra modules en het doorvoeren van updates of andere wijzigingen op de website. Drush Make zal het ons toelaten om snel nieuwe Drupal sites op te zetten met daar onmiddelijk al onze gewenste modules, templates en andere libraries bij.

Alvorens er gebruik van te kunnen maken dienen we eerst een script aan te maken dat door Drush Make zal ingelezen worden. In dit script kunnen we aan Drush laten weten welke modules (versies), templates er gedownload dienen te worden.

Niet enkel modules en templates kunnen opgegeven worden maar dus ook installatie profielen, patches (+ laten uitvoeren) en externe libraries, denk hiervoor bv aan jQuery, CK Editor, ...

Hieronder vind je een voorbeeld van een Drush Make script

core = 7.x
api = 2
projects[drupal][type] = core
projects[drupal][version]=7.7
projects[devel][version] = 1.2
projects[devel][type] = "module"
projects[devel][subdir] = "contrib"
projects[features][version] = 1.0-beta3
projects[features][type] = "module"
projects[features][subdir] = "contrib"
projects[imce][version] = 1.4
projects[imce][type] = "module"
projects[imce][subdir] = "contrib"
projects[rules][version] = 2.0-beta3
projects[rules][type] = "module"
projects[rules][subdir] = "contrib"
projects[ckeditor][version] = 1.2
projects[ckeditor][type] = "module"
projects[ckeditor][subdir] = "contrib"
projects[ctools][version] = 1.0-rc1
projects[ctools][type] = "module"
projects[ctools][subdir] = "contrib"
projects[views][version] = 3.0-rc1
projects[views][type] = "module"
projects[views][subdir] = "contrib"
projects[views_bulk_operations][version] = 3.0-beta1
projects[views_bulk_operations][type] = "module"
projects[views_bulk_operations][subdir] = "contrib"
projects[xmlsitemap][version] = 2.0-beta3
projects[xmlsitemap][type] = "module"
projects[xmlsitemap][subdir] = "contrib"
projects[] = kanji
libraries[ckeditor][type] = "libraries"
libraries[ckeditor][download][type] = "file"
libraries[ckeditor][download][url] = "http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.1/ckedito…"

Als we het script even overlopen zien we dat we eerst de 'Core' voor Drupal opgeven en daarna de API versie voor Drush Make (Op dit moment 2). Daarachter volgende modules, templates en libraries. Zoals je kan zien geef ik onder API ook het volgende mee: projects[drupal][version] = 7. Dit is om de Drupal Core mee te downloaden.

Je ziet ook dat ik bij alle modules een submap heb opgegeven 'contrib', alle modules worden verplaatst naar sites/all/modules maar zelf maak ik graag nog een onderscheid tussen modules die afkomstig zijn van Drupal.org en zelfgeschreven modules.

Om dit script te kunnen gebruiken dienen we het op te slaan met de extensie .make, dus bv drupal7.make

Je hoeft natuurlijk niet dit hele script zelf te schrijven, op drushmake.me kan je dit eenvoudig via een generator laten samen stellen.

Indien we nu een nieuwe Drupal installatie wensen op te starten en ook in 1 keer al deze modules te downloaden geven we het volgende bv in via de Command Line:

drush make drupal7.make drupal

Met drupal7.make geven we aan waar het bestand zich bevindt, indien je dit dus niet in de root hebt staan dien je ook het pad naar het bestand op te geven, op het einde van bovenstaande commando geven we met drupal aan in welke map de installatie dient klaar gezet te worden.

Indien we de installatie bv willen klaar zetten in de root en het .make bestand bevindt zich enkele mappen verder geven we het volgende op:

drush make drush/drush_make_profiles/drupal7.make

Indien we ook graag alle Nederlandse vertalingsbestanden voor Drupal Core en de modules willen downloaden kunnen we het volgende toevoegen: --translations=nl

drush make drush/drush_make_profiles/drupal7.make --translations=nl

Hierop zullen de Drupal Core en alle modules, templates en externe libraries die opgegeven zitten in het .make bestand worden gedownload en uitgepakt. Het enige wat ons hierna nog rest is de Drupal installatie op te starten. Let wel de modules worden gedownload en niet tijdens de installatie ingeschakeld, dit dien je zelf achteraf te doen.

In onderstaand filmpje start ik een Drupal installatie op met Drush Make en het bestand dat ik hierboven heb gebruikt. Je kan deze best bekijken op Vimeo zelf in HD kwaliteit.

Video