Hogyan lehet a Drush-t munkára fogni MacOSX alatt MAMP-ot használva

Robert Petras képe

Nemrég került a DHU hírei közé "zionduc" nagyszerű "Bevezétés a Drush használatába" c. videósorozata. A teljes anyagot és egy másik angol nyelven elkészített oktatóanyag megtekintése kapcsán gondoltam arra, hogy jó lenne a DHU-n a kézikönyvbe publikálni a néhol örömteli, néhol pedig kínkeserves úton szerzett tapasztalataimat azért, hogy segíthessek olyanokon, akik nem igazán vérprofi Drupal fejlesztők, ám mégsem idegenkednek a kódolástól és Mac-en szeretnének fejleszteni.

Windows és Linux alá léteznek szépen kidolgozott oldalak a DHU-n, Mac-re viszont csak az Acquia által nyújtott Dev app régi címe van megadva, ami ráadásul pillanatnyilag broken...
Nem tudom, hogy ki, hogy van vele, de én a MAMP-et használom, mert nem csak Drupal weboldalakat készítek és jó egy helyen a Sites mappában látni az ott futó munkákat.

  • Az oldalak elsődleges célja, hogy megmutassa MacOSX Lion és Mountain Lion alatt miképp lehet egy Drupal fejlesztői környezetet létrehozni.
  • MAMP 2.x használata Drupal fejlesztéshez (itt történt néhány változás a korábbi kiadások óta)
  • Drush és a MySQL beállítása a Drushban történő Drupal telepítéshez

Összesen 3 dedikált oldalt szeretnék létrehozni + a hozzátartozó rövid videófilmek elkészítéről lenne még szó:

  1. MAMP telepítése + az ingyenes verzió trükkös beállítása a php 64MB-es memóriakorlátot illetően és hogyan lehet ezt felhúzni
  2. Drupal telepítése a böngészőben a grafikus felületen keresztül
  3. Drupal telepítése Drush segítségével

Szóval erre gondoltam és két dologra kérlek meg benneteket:

  1. Megmondaná valaki azt, hogy miképp lehet publikálni a DHU-n? Erre vonatkozóan nem találtam konkrét útmutatót, de arra gondoltam, hogy létrehozok új oldalakat DHU kézikönyvében és írok egy levelet az Adminokat megkérve, hogy nézzék át és lektorálják a jóváhagyás és publikálás előtt azokat.
  2. Megtennék a jelenleg is MAMP-ot használó tapasztaltabb fejlesztők, hogy a lenti kivonatos tutorial vázlat helyességét leellenőrizik?
    Nálam működött a rendszer, de egy-két órámba telt mire megtaláltam a kérdéseimre a választ a MAMP-Drush-MySQL hibával kapcsolatban.

MacOSX + MAMP 2.x + Drush fejlesztői környezet beállítása és használata

1. Lokális szerver aktiválása MacOSX alatt (Lion és Mountain Lion)

// Ez azért szükséges, mert az újabb MacOSX kiadásokban a lokális szerver
// alapértelmezett beállítása már nem a bekapcsolt állapot

Sytem Prefrences » Sharing » Web Sharing » On » Open personal folder

// Ellenőrzés: Nyisd meg a böngészőben a http://localhost/ címet.
// Eredmény: It works! felirat megjelenése
// Cél: A rendszer létrehozott egy "Sites" elnevezésű mappát a felhasználói
// fiókod neve alatt, ahol majd ezentúl a Drupal fejlesztéseket végezzük.

2. MAMP letöltése és telepítése

Cím: http://mamp.info/en/index.html
Beállítás: MAMP » Preferences » Reset MAMP Ports

// Ezzel elértjük, hogy megfelelő porton legyen beállítva a localhost és az
// adatbázis port útvonala. Apache Port = 8888 » MySQL Port = 8889
// Ellenőrzés: a http://localhost:8888/ útvonalnak működnie kell és a
// Users/Teneved/Sites mappában lévő oldalak elérhetőek lesznek a böngészőben
// Az alapértelmezett fejlesztői környezet könyvtára ezentúl a "Sites" mappa lesz
// Ezután már csak a Terminál alkalmazást fogjuk használni

3. Drush letöltése DO oldalról Terminál segítségével

3.1. Nyissuk meg a Terminált és gépeljük be. Ezzel lépünk be a Sites mappába

cd Sites

3.2. Listázzuk ki a mappába tartalmát (elképzelhető hogy még üres)

ls -al

3.3. Töltsük le a Drush-t a Sites mappába
// A DO Drush projekt oldaláról másoljuk ki az ajánlott kiadás URL címét a
// vágólapunkra és adjuk ki a letöltés parancsot a címmel együtt

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

3.4. Csomagoljuk ki az előbb letöltött tömörített csomagot

tar -xvzf drush-7.x-5.7.tar.gz

// Eredmény a Sites/drush mappa kerül létrehozásra
// Törüljük ki a csomagolt fájlt (opcionális): rm -r drush-7.x-5.7.tar.gz

3.5 Futtathatóvá tesszük a Drush-t

sudo chmod u+x drush

// Ellenőrzés: lépjünk be a drush mappába (Sites/drush/) és adjuk ki a parancsot
// látnunk kell, hogy a Drush lefuttatja az elérhető parancsokat a számunkra

cd drush
./drush

3.6. El kell érnünk, hogy ne csak a drush könyvtárban, hanem mindenhol elérhető
// legyen a drush parancssor anélkül, hogy állandóan meg kellene adnunk a Drush
// parancs teljes elérési útvonalát ami jelenleg Sites/drush/drush
// Ennek érdekében vagy egy szimbolikus linket (symlink) kell létrehoznunk
// vagy a .bash_profile fájlt kell létrehoznunk és ott a $PATH változót szerkeszteni.

// Symlink megadása után a rendszer tudni fogja, hogy hol találja a drush parancsot

sudo ln -s /Users/Teneved/sites/drush/drush /usr/local/bin/drush

// Ellenőrzés: ha most begépeljük a Terminálban a "drush" parancsot, akkor
// korábbiak szerint megjelenik majd az elérhető Drush parancsok felsorolása.
// ls -l /usr/local/bin/drush begépelésével akár kinyomtathatjuk az új címet.

4. Drupal letöltése a Drush segítségével a Terminálban
// Ellenőrizzük, hogy a jelenlegi útvonalunk címét: pwd
// Legyünk a Sites mappában: cd Sites/
// Letöltjük a legfrissebb Drupal verziót és egy "drupal7" mappába csomagoljuk ki

drush dl --drupal-project-rename=drupal7

5. Drupal telepítése kísérletképpen

5.1.
// Lépjünk be az új Drupal mappánkba
cd drush7

// Ellenőrzésképp kérjük le a jelenlegi útvonalunk címét
// Eredmény: /Users/teneved/sites/drupal7
pwd

5.2 Telepítsük a Drupalt
// A telepítés alatt a Drush megpróbál egy általunk megadott "drupal_seven"
// adatbázist létrehozni a megadott adatbázis felhasználói névvel és jelszóval

drush site-install --db-url=mysql://root:root@localhost:8889/drupal_seven

// Eredmény: hibaüzenetet kapunk, mert a Drush nem találja az adatbázisunkat

// Megoldás:
// A MAMP jelenlegi kiadása megkívánja, hogy bizonyos változtatások eszközöljünk
// azért, hogy a Drush megfelelően működjön. Mivel most már a MAMP ingyenes
// kiadási is lehetővé teszi a számunkra, hogy válasszunk a PHP kiadások közül
// ezért érdemes kézileg informálni a Drush arról, hogy melyik változatot
// használjuk. A lenti megoldásban a PHP 5.2.17-es verzió lett beállítva a MAMP
// beállításoknál és most erről informáljuk a rendszert.
// Ezen kívül a szükséges MySQL szimbolikus linkeket is megadjuk miután
// létrehozunk egy MySQL ideiglenes mappát amit a Drush kér tőlünk a telepítéshez.

sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php

sudo mkdir /var/mysql

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

5.3. Ismételt Drupal telepítési kísérlet

drush site-install --db-url=mysql://root:root@localhost:8889/drupal_seven --account-pass=admin

// Eredmény: sikeresen lefut a Drupal 7 telepítése és az adatbázis létrehozása
// A Drush pedig informál minket erről. Adminisztrátor neve=admin, jelszó=admin

// Kiegészítés: csak megemlítettem a .bash_profile használatát, de egy két kiegészítő tipp is helyet kaphatna ennek szerkesztésével

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
pp képe

„Megmondaná valaki azt, hogy miképp lehet publikálni a DHU-n? Erre vonatkozóan nem találtam konkrét útmutatót, de arra gondoltam, hogy létrehozok új oldalakat DHU kézikönyvében és írok egy levelet az Adminokat megkérve, hogy nézzék át és lektorálják a jóváhagyás és publikálás előtt azokat.”

Pont így kell. Hajrá!

pp

2
0