[[install-dev-making]]

=== Fejlesztési célú webhelypéldány létrehozása

[role="summary"]
Így készíthetünk az éles webhelyünkről egy másolatot, amin szabadon kísérletezhetünk.

(((Fejlesztői webhelypéldány,létrehozása)))
(((Élesítésre kész webhelypéldány,létrehozása)))

==== Célkitűzés

Lemásoljuk a meglévő webhelyünket, hogy legyen belőle egy másik példányunk, amin szabadon, kockázat nélkül kísérletezhetünk új funkciók fejlesztésével, vagy ahol kipróbálhatjuk a frissítéseket.

==== Szükséges előismeretek

<<install-dev-sites>>

==== Webhely előfeltételei

* Talán szükségtelen mondani, hogy mindenképpen léteznie kell már a webhelyünknek legalább egy példányban, amit klónozni tervezünk.

* Ha úgy döntünk, hogy a Drusht használnánk az alábbi lépések valamelyikéhez, akkor annak már telepítve kell lennie. Ehhez további tudnivalót a <<install-tools>> szakaszban találunk.

==== Lépések

. A korábbi <<install-prepare>> részben leírt lépéseket követve már van rálátásunk a tárhelyünk működésére, így elő tudjuk készíteni a terepet az új webhelypéldány számára: a gyökérkönyvtárat a hozzá tartozó, külső internetről elérhető webcímmel, valamint az (egyelőre még üres) adatbázist a szintén hozzá tartozó adatbázis-felhasználóval együtt.

. Készítsünk másolatot az éles webhely adatbázisáról az alábbi két mód valamelyikét választva:
+
  * Ha MySQL-t használunk adatbázisnak, és a távoli kiszolgálón telepítve van a _phpMyAdmin_ nevű eszköz (nagy valószínűséggel, ugyanis elég népszerű), akkor keressük meg annak _Export_ fülét a felső eszközsoron. Válasszuk az _SQL_ formátumot és engedélyezzük a kimenet _gzip_ fájllá való tömörítését.

  * Ha az előbb említett grafikus felület nem elérhető számunkra, de van parancssori hozzáférésünk, akkor küldhetjük az utasítást közvetlenül a MySQL kiszolgálónak is (természetesen behelyettesítve a webhelyünk adatbázisának nevét, felhasználóját és annak jelszavát):
+
----
$ mysqldump -u USERNAME -p 'PASSWORD' DATABASENAME > BACKUPFILE.sql
----

  * Ha inkább Drusht használnánk, akkor ezt a parancsot futtassuk:
+
----
$ drush sql-dump > BACKUPFILE.sql
----

  * Használhatjuk a https://www.drupal.org/project/backup_migrate[Backup and Migrate] nevű közösségi modult is. A modulok webhelyünkre való feltelepítéséről a <<extend-module-install>> részben volt szó.
+
Így tehát megvan a webhely adatbázisa elmentve egy _BACKUPFILE.sql_ (hacsak más nevet nem adtunk neki) fájlban. Le is menthetjük a helyi számítógépünkre, de tárolhatjuk a távoli gépen is. Utóbbi esetén viszont fontos biztonsági óvintézkedés, hogy a kiszolgálónak csak olyan könyvtárában tartsuk, ami nem érhető el kívülről az internetről. (Tehát ne a Drupal gyökérkönyvtárában vagy az alatt!)

. Másoljunk át minden fájlt az éles webhely gyökérkönyvtárából a fejlesztési példányéba. Erre kiváló eszköz a Git verziókövető program: a <<extend-git>> részből megtudhatjuk, milyen egyszerű is ezt elvégezni vele.

. Nyissuk meg a fejlesztési példány _sites/default/settings.php_ konfigurációs fájlját egy egyszerű szövegszerkesztőben. Keressük meg benne az adatbáziskapcsolatot leíró beállításokat (lehet, hogy a végefelé találjuk). Ehhez hasonlóan festenek:
+
----
$databases['default']['default'] = array (
  'database' => 'live_site_database_name',
  'username' => 'live_site_database_username',
  'password' => 'live_site_database_password',
----
+
Ezeket írjuk át az éles webhely adatbázisa helyett az új, fejlesztési példány kapcsolódási adataira (pl. adatbázisfelhasználó neve, jelszava stb.).

. Ugyanebben a _settings.php_ fájlban ellenőrizzük, hogy az alábbi beállítás érvényben van-e (nincs-e kikommentelve?). Ha igen, akkor módosítsuk az értékét a fejlesztési példányunk webcímére:
+
----
$settings['trusted_host_patterns']
----

. Importáljuk be a korábban készített adatbázismentést a fejlesztési példány adatbázisába az alábbi módok egyikén:
+
  * Ha exportáláskor már használtuk a _PHPMyAdmin_ eszközt, akkor importáláshoz is használhatjuk ugyanúgy. Ennek _Import_ fülén tudjuk elindítani a folyamatot és ha nagy volt a mérete, akkor lehet, többször is el kell indítani ugyanannak a mentett fájlnak a beolvasását.

  * Ha viszont parancssoron keresztül exportáltuk fentebb, akkor az alábbi utasítást használhatjuk a MySQL kiszolgáló felé (a paramétereket ismét behelyettesítve persze):
+
----
$ mysql -u USERNAME -p PASSWORD  DATABASE_NAME < BACKUPFILE.sql
----
+
  * Drushsal is lehet importálni, mégpedig így:
+
----
$ drush sql-query --file=BACKUPFILE.sql
----

. Ahogy fentebb már tapasztaltuk, két példány – bár ugyanannak az egy webhelynek a másolatai – eltérő beállításokat használhat a szétválasztott működésük érdekében. Az előbb átírt adatbáziskapcsolatokon kívül azonban számos további beállításuk különbözhet, amit ugyanúgy a _settings.php_ fájljaikban tárolnak. Lehetőség van azonban felülírást megvalósítani közöttük a `$config` változó segítségével. Például az éles webhely neve továbbra is maradjon „Bárkifalva Termelői Piac”, de a fejlesztési példányon ez inkább figyelmeztessen azzal, hogy átírjuk „DEV! – Bárkifalva Termelői Piac” címre. Ezt úgy érhetjük el, hogy mindkettő adatbázisában továbbra is meghagyjuk az éles szövegváltozatot, de a fejlesztési példány _settings.php_ fájljában elhelyezzük az alábbi kiegészítő sort:
+
----
$config['system.site']['name'] = "DEV! – Bárkifalva Termelői Piac";
----

==== Az ismeretek elmélyítése

* Ellenőrizzük, hogy a fejlesztési példány jól működik-e – lehetőleg ugyanúgy (vagy jobban), mint az éles párja.

* Jelentkezzünk be a fejlesztési példányon is (adminisztrátori fiókunk megegyezik az élessel) és ürítsük ki a gyorsítótárat. Ehhez lásd a későbbi <<prevent-cache-clear>> részt.

* <<extend-deploy>>

//==== Kapcsolódó témák

==== Videó

// Video from Drupalize.Me.
video::https://www.youtube-nocookie.com/embed/FSBNm4oAkaA[title="Fejlesztési célú webhelypéldány létrehozása"]

==== Egyéb források

* https://www.drupal.org/docs/7/backing-up-and-migrating-a-site/backing-up-a-site[Backing up a site] (azaz „Biztonsági mentés egy webhelyről”) című közösségi dokumentáció a Drupal.org-on angol nyelven.
* https://www.drupal.org/docs/develop/local-server-setup/how-to-create-a-test-site[Create a Test Site] (azaz „Teszt webhely felállítása”) című közösségi dokumentáció a Drupal.org-on angol nyelven.

*Közreműködők*

Írta és szerkesztette: https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon], https://www.drupal.org/u/eojthebrave[Joe Shindelar] (https://drupalize.me[Drupalize.Me]) és https://www.drupal.org/u/jojyja[Jojy Alphonso] (http://redcrackle.com[Red Crackle]). Fordította: https://www.drupal.org/u/balu-ertl[Balu Ertl] (https://www.drupal.org/brainsum[Brainsum]).
