Drupal 8

Vyšlo také v tištěné verzi

Objednat můžete na
www.computerpress.cz

www.albatrosmedia.cz

Jan Polzer

Drupal 8 – e-kniha

Copyright © Albatros Media a. s., 2016

Všechna práva vyhrazena.

Žádná část této publikace nesmí být rozšiřována

bez písemného souhlasu majitelů práv.

Úvod

Když jsem okolo roku 1998 začal tvořit webové stránky, vůbec mě nenapadlo, do jakých rozměrů tento obor naroste. Již tehdy existovala celá řada momentálně používaných technologií, jiné byly v plenkách, a některé ještě neexistovaly vůbec. Pro udržení struktury stránky se v zápisu HTML používala tabulka, hojně se sázelo na vnořené rámce (iframe) a zkoumaly se různé skriptovací jazyky.

Mě uchvátilo PHP. Jednak kvůli své jednoduchosti, jednak proto, že bylo relativně snadné dostat se k serveru, na kterém bylo možné skripty PHP spouštět. A tehdy se začala psát moje dráha tvůrce webových aplikací a webových stránek. Záměrně nepoužívám slovo webdesignér, protože můj grafický cit není zrovna ten pravý a vizuální návrh webu přenechávám odborníkům, se kterými spolupracuji.

Začal jsem nesmělými pokusy s online aplikacemi pro převod morseovky a pak přešel k jakémusi blogu (tehdy jsem to slovo ještě neznal) s články a sekcí s novinkami, kde jsem každý týden psal o tom, že jsem právě změnil design webu k lepšímu. Můj jednoduchý web byl samozřejmě vybaven řadou blikajících bannerů nejrůznějších webových katalogů a nepřehlédnutelným počitadlem návštěvnosti.

Postupem doby přibývaly nejrůznější webové technologie a někdy okolo roku 2004 jsem se začal zajímat o webové aplikace, kterým se souhrnně říká redakční systémy nebo systémy pro správu obsahu (CMS). Skončil jsem u Drupalu, tehdy byla aktuální jeho čtyřková řada. Čím mě zaujal? Umožnil mi totiž velmi rychle postavit webové stránky s administrací a správou uživatelů, aniž bych musel napsat jediný řádek kódu. Navíc na rozdíl od konkurenčních řešení pro něj tehdy existoval český překlad. No řekněte sami, co chtít více?

Samozřejmě, Drupal urazil za tu dobu kus cesty, stejně tak já. Stal se mým primárním pomocníkem při tvorbě nových webů jak pro mé vlastní projekty, tak pro webové prezentace mých klientů.

Tak trochu závidím všem, kdo se dnes rozhodují, že se budou zabývat tvorbou webů. Do jisté míry mají vše ulehčeno. Zprovoznění blogu, firemní prezentace, miniwebu a dokonce i eshopu, to vše je otázkou několika kliknutí myší. Za hodinku dnes máte web, který se může během pár dnů objevit na dobrých pozicích ve výsledcích hledání. Před patnácti lety bych se něčeho takového nenadál.

Pokud chcete proniknout trochu hlouběji do tvorby webů, samozřejmě vám nestačí schopnost číst instrukce na obrazovce, vyplňovat formuláře a klikat myší. Abyste byli úspěšní, potřebujete zvládnout znalosti několika webových technologií. Na Drupalu je fajn, že jde zde beze zbytku využijete. Se znalostí PHP lze tvořit doplňkové moduly nebo nová pokročilá témata vzhledu. S pomocí zabudovaného jQuery můžete uživatelům svých webů nabídnout příjemnější uživatelské rozhraní. Díky HTML5 a CSS3 bude tvorba vizuální stránky vašeho webu rychlejší a pohodlnější. A tak bych mohl pokračovat.

Tato v pořadí již má čtvrtá kniha věnovaná speciálně redakčnímu systému Drupal vám nenabídne pohled na celou šíři problematiky tvorby webových stránek. Nenaučí vás základy HTML, neřekne vám, co je to databáze, PHP nebo jak se instaluje webserver do stroje na internetu. Na následujících stránkách udělám maximum pro to, abych vám, kdo již máte nějaké základy webových technologií, ukázal, jak instalovat, spravovat a vytvářet weby postavené na redakčním systému Drupal 8. Nezávisle na operačním systému.

Drupal patří dlouhodobě k nejpopulárnějším řešením pro tvorbu webů, stejně jako jeho konkurenti WordPress a Joomla. V knize vám ukáži, jak rychle a pohodlně můžete pomocí něho vytvořit například firemní web členěný na několik kategorií, s blogem, fotogalerií či diskuzemi. Postupně probereme všechny základní funkce a vlastnosti Drupalu 8 a následně k nim přidáme různé doplňkové moduly. Z tisícovek dostupných rozšíření jsem vybral takové, po kterých byste měli v praxi sáhnout nejčastěji.

V knize jsem použil stejný koncept jako v předchozí publikaci o Drupalu 7. Podle ohlasů ostatních čtenářů se způsob, kdy nejprve sestavíme jednoduchý web, následně probereme základní funkcionalitu Drupalu a poté budeme vzorový web postupně vylepšovat, velmi osvědčil. Věřím, že se bude líbit i vám v této nové knize. Změn v Drupalu 8 je oproti předchozí generaci celá řada a tato kniha vás naučí je využívat k rychlejší práci s webem.

Poděkování autora

Děkuji všem dosavadním čtenářům knih o Drupalu za podporu vyjádřenou v e-mailech i diskuzích na mém webu maxiorel.cz. Děkuji rovněž členům komunity vývojářů sdružených okolo Drupalu. Bez nich bychom neměli tak skvělý systém pohánějící webové stránky. Nemalý dík patří i lokalizátorům Drupalu do češtiny, bez nich by tento systém, a to si přiznejme, neměl při sebelepší kvalitě šanci se u českých tvůrců webu prosadit.

Děkuji svým nejbližším za morální podporu při tvorbě této knihy.

Zpětná vazba od čtenářů

Nakladatelství a vydavatelství Computer Press, které pro vás tuto knihu připravilo, stojí o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy:

Computer Press
Albatros Media a.s., pobočka Brno
IBC
Příkop 4
602 00 Brno

nebo

sefredaktor.pc@albatrosmedia.cz

Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pokud budete mít dotaz k programu, obraťte se prosím na jeho tvůrce.

Zdrojové kódy ke knize

Z adresy http://knihy.cpress.cz/K2119 si po klepnutí na odkaz Soubory ke stažení můžete přímo stáhnout archiv s ukázkovými kódy.

Errata

Přestože jsme udělali maximum pro to, abychom zajistili přesnost a správnost obsahu, chybám se úplně vyhnout nelze. Pokud v některé z našich knih nějakou najdete, ať už v textu nebo v kódu, budeme rádi, pokud nám ji oznámíte.

Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/K2119 po klepnutí na odkaz Soubory ke stažení. (Nejsou-li žádná errata zatím k dispozici, není odkaz Soubory ke stažení dostupný.)

Kapitola 1

Představení Drupalu

V této kapitole:

• Historie a novinky v Drupalu 8

• Budoucnost Drupalu

• Nejen správce článků, ale i platforma pro vývojáře

• Požadavky na webhosting nebo server

Historie a novinky v Drupalu 8

Za řadou úspěšných projektů na webu stáli a stojí studenti. Při vzniku Drupalu tomu nebylo jinak. Někdy v roce 2000 belgický student Dries Buytaert dostal nápad na jednoduchý web, který by umožňoval studentům sdílet poznámky na univerzitě. Vznikla jednoduchá webová nástěnka, kde uživatelé webu mohli nechávat vzkazy ostatním.

Dries později přenesl tuto malou aplikaci na veřejný internet s tím, aby si skupina bývalých spolužáků stále mohla vyměňovat různé informace ze života (mimochodem, Facebook vznikl až v roce 2004). Při registraci domény však udělal chybu a místo nizozemského výrazu pro vesnici dorp zaregistroval doménu drop.org. Komunita okolo webu se postupně rozrůstala a v lednu 2001 se Dries Buytaert rozhodl uvolnit software pohánějící drop.org pod názvem Drupal. Více viz drupal.org/about/history.

Redakční systém, o kterém je tato kniha, je tak přes 12 let starý a neustále se vyvíjí. První verze umožňovaly pouze základní správu obsahu, jako jsou články, stránky a příspěvky v diskuzním fóru. Díky otevřenému zdrojovému kódu a komunitnímu způsobu vývoje však velmi rychle přibyly doplňkové moduly, které funkcionalitu základního jádra posunuly a posouvají daleko dopředu.

Modularita Drupalu

Když někomu představuji redakční systém Drupal, obvykle používám slova jako skládačka nebo Linux. Drupal, stejně jako tento populární operační systém, je totiž skutečně taková skládačka, která v základní podobě nemusí každého ohromit. A dlouho to ani neměla v úmyslu.

Na PHP postavený redakční systém totiž můžete díky modulární koncepci upravit podle svých potřeb do podoby webu, který bude svým způsobem jedinečný. Nemá totiž smysl, aby na firemním webu byla ve skriptech zabudována například podpora diskuzního fóra, když se tam žádné nebude využívat. Je zbytečné mít v základu eshop, když to je téměř aplikace sama pro sebe. Stejně tak je zbytečné mít v jádře systému zabudovánu nějakou konkrétní fotogalerii, když si každý pod tímto pojmem představí něco jiného.

Právě z toho důvodu jsou jednotlivé funkce, a to i v základní instalaci Drupalu, rozděleny do modulů, které můžete podle potřeby zapínat nebo vypínat. Na to nikdy při tvorbě svých webů nezapomínejte a moduly, jejichž funkce na webu nevyužijete, vypněte. Web nebude potřebovat tolik systémových prostředků na serveru a ve výsledku bude i rychlejší.

Nepřeberné množství modulů nabízí přímo domovské stránky Drupalu drupal.org, kde si můžete moduly zobrazit podle kategorií i podle kompatibility s jednotlivými řadami Drupalu.

Témata vzhledu

Silnou stránkou Drupalu je i podpora témat vzhledu a vzhledových šablon. Ty jsou zcela odděleny od programové logiky, a tak mnohdy stačí jen instalace nějakého tématu vzhledu a web může zcela proměnit svou tvář, aniž by se to nějak projevilo na jeho funkcionalitě.

Poznámka: V praxi jde mnohdy funkcionalita ruku v ruce se vzhledem a výměnou tématu se o některé funkční prvky na webu připravíte. Každopádně řešení vzhledové části Drupalu je v porovnání s některými konkurenty na mnohem lepší úrovni.

Co se týče dostupnosti neplacených témat vzhledu, dříve jsem zmiňoval, že v neplacené sféře Drupal v tomto směru trošku zaostává. Nyní už se ale nebojím tvrdit, že pro Drupal existuje spousta kvalitních zdarma dostupných témat vzhledu, a to jak na jeho stránkách, tak na webech třetích stran. O placených tématech vzhledu ani nemluvě. Můžete si vybrat mezi základní grafikou i dokonale univerzálními tématy vzhledu s responsivním chováním, a tedy vhodnými i pro weby cílící na mobilní uživatele.

S čím přichází Drupal 8?

Někteří lidé Drupalu často vytýkali, že v porovnání například s WordPressem zaostává v uživatelské přívětivosti. Já jsem jiného názoru – vždy jsem oceňoval, že v Drupalu je možné na míru sestavit uživatelské prostředí tak, aby odpovídalo požadavkům a potřebám toho kterého webu. Drupal 7 přinesl řadu modulů známých z dřívějška a nyní zabudovaných jako novou součást funkcionality svého jádra. Nejvýznamnější změnou byla možnost definovat k vlastním typům obsahu i políčka, která se u něj budou v editačním formuláři vyplňovat.

Vizuální editor

Přesto však z pohledu řady lidí Drupalu něco zásadního chybělo k tomu, aby byl hned po instalaci plnohodnotným nástrojem pro správu webového obsahu – vizuální editor. Málokomu se totiž líbí, když má formátovaný text pro webovou stránku psát ručně s použitím prvků kódu HTML. Drupal 8 nově přichází s vizuálním editorem CKEditor, zabudovaným přímo v základní instalaci. Ten byl zvolen po několika pokusech s jinými editory, jako byl například Aloha Editor.

Mimochodem, něco z Aloha Editoru se v Drupalu 8 rovněž objevuje – možnost upravit části textu přímo poklepáním do právě zobrazené stránky bez toho, že by se musel načítat znovu editační formulář. Drupal 8 tak svým zabudovaným editorem nejenom po letech dohnal konkurenci, ale také ji částečně předehnal právě v pohodlí, jak můžeme text na webu editovat.

Poznámka: V Drupalu 7 a starších samozřejmě editory byly, a to hned celá řada. Jen bylo nutné je doplnit pomocí dodatečných modulů, které jsou i pro Drupal 8. Není tedy problém mít v Drupalu 8 například nějaký nevizuální editor s podporou syntaxe markdown (jako je skvělý BUEditor, drupal.org/project/bueditor).

Podpora mobilních zařízení

Důraz na koncepci „mobile first“ se projeví i v Drupalu 8. Současný trend velí přizpůsobovat weby mobilním zařízením tak, aby jejich obsah byl snadno zpracovatelný na displejích s nejrůznějším rozlišením. Responsivní design, kdy se vzhled a rozmístění prvků na stránce přizpůsobují velikosti displeje, je stále oblíbenější. Celý Drupal 8 je založen na technologii HTML5 a jeho administrační prostředí dostalo takový grafický kabátek, aby se vám pohodlně ovládalo prsty i na dotykové obrazovce.

Tip: Web postavený na Drupalu tak už nemusí být určen jen ke konzumaci mobilními zařízeními, ale můžete jej tam i pohodlně spravovat.

Změny v administraci

Kromě vestavěného editoru a podpory mobilních zařízení na vás v administraci Drupalu 8 čeká i jedna velká novinka – je zde zabudovaný doposud samostatný modul Views. Pomocí něho můžete vyvářet pohledy na nejrůznější data v Drupalu – na uživatele, obsah, logy… Tyto pohledy mohou mít formu stránek nebo bloků rozmístěných někde v layoutu webu. Jestliže v Drupalu 7 přibyla práce s políčky u vlastních typů obsahu, je logické, že Drupal 8 vám umožní tato data vystavit do nejrůznějších forem zobrazení.

Tip: Zobrazení dat v Drupalu 8 nemusí být nastavené napevno. Návštěvníkům stránek můžete nabídnout, aby si sami nastavili různé filtrování. Vytvořené pohledy můžete navíc exportovat do různých formátů, v čele s XML a CSV.

Vylepšení se dočkal i nápovědný systém. Formulář pro vkládání obsahu je přeskládán, aby byl intuitivnější. Přibyly rovněž nové typy políček.

Vylepšené API a lahůdky pro vývojáře

Změny se samozřejmě dotkly i API, tedy aplikačního rozhraní Drupalu 8. Jelikož Drupal 8 využívá komponenty z frameworku Symfony, znamená to, že řadu stávajících modulů bude nutné předělat. V první řadě tu je nový routovací systém, adresy stránek poskytovaných modulem jsou nově definovány v souboru YML se syntaxí YAML.

Drupal 8 nově umožňuje export a import konfigurace a z toho důvodu přestávají fungovat funkce pro práci s proměnnými (variable_get() a variablet_set()). Moduly ukládání systémových dat řeší přes nové systémové API. Změny se dočkaly i funkce pro práci s políčky u Entity Field API.

Kvůli rychlejšímu načítání stránek a cacheování jsou odstraněny funkce jako drupal_set_title() nebo drupal_set_breadcrumb(), opět existuje jiná alternativa, jak jejich funkcionality docílit (například zápisem do souborů YML). Podobné změny se týkají napojování JavaScriptu a CSS. Jinak je nutné přistupovat i k informacím o právě přihlášeném uživateli.

Tip: Vřele doporučuji prostudovat aktuální API na adrese api.drupal.org, případně se podívat na změny na stránce drupal.org/list-changes/drupal.

Podpora Composeru a dalších nástrojů

Jako aplikace postavená s využitím komponent frameworku Symfony nyní Drupal 8 nově podporuje i konzolový nástroj Composer pro instalaci jednotlivých komponent. Zůstává samozřejmě podpora oblíbeného konzolového správce Drush a objevuje se nový projekt Drupal Console (drupalconsole.com), přidávající celou řadu užitečných příkazů od mazání cache až po zobrazení ladicích informací pro vývojáře nebo generování částí kódu. Asi nepřekvapí, že je postaven na konzoli ze Symfony.

Budoucnost Drupalu

Když se začínáme učit novou technologii, zajímá nás, jak dlouho může být podporována. Ten, kdo kdysi vsadil na jazyk C++, má zřejmě dodnes dostatek práce. Často se mě klienti ptají, jak dlouho bude Drupal existovat a jak to ovlivní jejich weby. Pravda je taková, že momentálně nic nenasvědčuje tomu, že by se Drupal potýkal s existenčními problémy.

Komunita okolo Drupalu je velmi činorodá, a to i v České republice, kde se pravidelně pořádají srazy příznivců. Rovněž se tu konala i velká konference DrupalCon. V době přípravy této knihy nebyly známy podrobnosti o další řadě Drupalu, nicméně to, že přijde, je zcela jisté.

Jestliže má dnes nějaký produkt uspět na trhu, potřebuje komerční podporu. A to i přes to, že v základu je k dispozici zdarma a na jeho vývoji se podílí tisíce dobrovolníků. Drupal takový komerční základ má. Je jím společnost Acquia (www.acquia.com), kterou založil tvůrce Drupalu Dries Buytaert. V krátké době se mu povedlo získat nemalé finanční prostředky pro další vývoj Drupalu a společnost Acquia sama jako taková zajišťuje financování vývoje větších celků Drupalu pomocí nabízených služeb.

Ty zahrnují cloudový hosting specializovaný právě na Drupal, nejrůznější analýzy výkonu a placené poradenství především pro velké a korporátní zákazníky. Acquia Network nabízí monitorování webu, Acquia Cloud zmíněný specializovaný hosting. Můžete vyzkoušet i zdarma dostupnou službu Acquia Instant Insight, která vám zodpoví, v jaké kondici je váš web.

Jednou z možných budoucností Drupalu mohou být i distribuce. Jedná se o balíčky s instalačním profilem, který web hned po instalaci nastaví do podoby vhodné například pro provoz eshopu nebo naopak pro komunitní síť. Nemusíte tak instalovat zvlášť základní jádro Drupalu a následně několik doplňkových modulů a provádět jejich nastavení. Vše, včetně naplnění vzorovým obsahem a zapnutí vhodného tématu vzhledu, provede právě instalátor takové distribuce.

Tip: Distribucí Drupalu je celá řada, najdete je mimo jiné i přímo na webu drupal.org. Příkladem povedených distribucí budiž Drupal Commons (drupal.org/project/commons), Thunder (drupal.org/thunder) nebo Commerce Kickstart (drupal.org/project/commerce_kickstart).

Nejen správce článků, ale i platforma pro vývojáře

Jestliže u předchozích verzí Drupalu platilo, že se na něj nemusíme dívat jen jako na redakční systém, ale jako na celou vývojovou platformu, pro Drupal 8 to platí dvojnásob. Na kurzech vývoje modulů pro Drupal, které vedu, to rád opakuji. Kolik času strávíte tím, že v PHP naprogramujete například přihlašování uživatelů? Kolik času si ušetříte použitím nějakého oblíbeného PHP frameworku, kde ale stejně budete muset dořešit vizuální stránku správy uživatelů? Odpovězte si sami. Vězte ale, že v Drupalu toto řešit nemusíte – stačí vám jej nainstalovat.

Podobně bych se mohl ptát u správy obsahu. Řekněme, že používáte nějaký svůj oblíbený framework pro rychlejší tvorbu webových aplikací. Jak rychle v něm vytvoříte kostru aplikace, která bude zajišťovat manipulaci s obsahem a zároveň bude ověřovat přístupová práva uživatelů? Dosti pravděpodobně na to má váš framework nějaké funkce připraveny, ale co vizuální stránka? Budete muset dát dohromady obsluhu formulářů pro registraci uživatelů, vkládání obsahu a pro jejich úpravy.

Všechno toto a mnoho dalšího přitom v Drupalu již existuje. Nemusíte řešit uživatele, nemusíte řešit obsah, základní formuláře lze bleskurychle naklikat a pro další zpracování dat si můžete napsat vlastní modul. Dostanete-li tedy úkol sestavit nějakou webovou aplikaci, kterou není možné v Drupalu vytvořit tím, že „jen“ vhodně nastavíte různé moduly a jejich funkce, pustíte se sice do programování, ale máte ušetřenu podstatnou část práce.

Poznámka: Zlé jazyky tvrdí, že velký web na Drupalu je vlastně jenom sada poskládaných modulů, kterou zvládne dát dohromady cvičená opice. Na jednu stranu to můžeme chápat jako ocenění kvalit Drupalu a toho, co je v něm možné dosáhnout bez větší námahy. To se přece cení! Na druhou stranu to neberte jako něco dehonestujícího vaši osobu coby tvůrce webu. U velkých projektů se k programování stejně dostanete a u těch menších… Proč si neušetřit práci, když s výsledkem budete spokojeni vy i zadavatel?

Mimochodem, výrazem „redakční systém“ spojovaným s Drupalem se nenechejte zmást. Neznamená to, že je Drupal použitelný pouze pro weby článkového charakteru. Stejně dobře se hodí pro firemní prezentace, seznamovací portál, inzertní web, aukci, eshop nebo třeba jako aplikace agregující data z jiných webů. Záleží jen na tom, jak jej využijete. Jeho univerzální modulární struktura i způsob, jakým pracuje s obsahem, vše toto umožní.

Technologie, které využijete při vývoji pro Drupal

Nejčastějším případem, kdy budete psát nějaký, byť jednoduchý kód, je tvorba témat vzhledu pro Drupal. Zde určitě zužitkujete znalost moderního HTML5 a CSS3. Tvorba šablon pro téma vzhledu není příliš složitá, pokud se seznámíte se základy problematiky a pokud – a to především – jste schopni nakódovat běžnou HTML stránku s využitím kaskádových stylů. Bohužel právě práce s CSS je tím, s čím má většina začínajících drupalistů problém a na čem se při tvorbě vzhledu pro svůj nový web zasekne.

Tip: Při tvorbě témat vzhledu můžete začít s tématy odvozenými z jiných, již existujících. Obvykle doporučuji začít změnami barev, písma a dalších prvků, abyste si tvorbu témat „osahali“.

Novinkou v Drupalu 8 je využití šablonovacího systému Twig. Zatímco doposud byly šablony vzhledu jednotlivých komponent na stránce (články, blok, layout…) tvořeny soubory PHP s kousky kódu PHP vloženého do struktury HTML, nyní se používá speciální syntaxe Twig, která vás od použití PHP v šablonách oprostí. A pokud jste byli na PHP zvyklí, nevěšte hlavu. Zápis Twig je velmi podobný, včetně názvu proměnných.

Určitě zužitkujete také znalost jQuery. Drupal 8 obsahuje dvojkovou řadu jQuery, včetně vizuálních komponent jQuery 1.10.x. S využitím této JavaScriptové knihovny je tvorba uživatelsky přívětivého rozhraní jak v uživatelské části, tak v administraci hračkou.

Z dalších JavaScripových knihoven, které jsou obsaženy v jádře Drupalu, jsou to například Backbone.js nebo Underscore.js. Nic vám samozřejmě nebrání v tom, abyste v rámci svého modulu nebo tématu vzhledu napojili do webu další JavaScriptové knihovny, pluginy pro jQuery a jakýkoli jiný kód.

Z pohledu tvorby modulů je zde zásadní jedna věc: bez PHP se neobejdete a znalost frameworku Symfony pro vás bude značnou výhodou. Samozřejmě platí obdoba toho, co u témat vzhledu. I v rámci modulů můžete přidávat další JavaScript, který se načte všude nebo jen na vybraných stránkách. Můžete přidávat další knihovny v PHP. API Drupalu vám dovolí pověsit vlastní „háky“ (hooks) na nejrůznější systémové funkce, takže bez problémů můžete ovlivnit podobu a složení výchozích formulářů i těch, které přidávají jiné doplňkové moduly. Stejně tak programově změníte výpisy obsahu.

Tip: Drupal má velmi propracovanou online dokumentaci ke svému API na adrese api.drupal.org.

Požadavky na webhosting nebo server

Jakožto webová aplikace napsaná s využitím skriptovacího jazyka PHP je Drupal teoreticky provozuschopný na většině webhostingů. Má to jednu podmínku: Nesmí jít o hosting, který má záměrně sníženy některé parametry, aby se na něj vešlo více webů, než je zdrávo. Drupal, stejně jako jiné redakční systémy, je poněkud náročnější aplikace než jen sada nějakých jednoduchých skriptů.

Data, která budete do Drupalu zadávat (s výjimkou souborů), jsou ukládána do databáze. Drupal si nejlépe rozumí s MySQL, což je také asi nejčastější kombinace, ve které budete web s tímto systémem provozovat. Ale jak uvidíte dále, využijete i propojení na další typy databází.

Často se také ptáte na velikost diskového prostoru pro provoz webu s Drupalem. Jádro Drupalu zabírá prostor okolo 50 MB, což je hluboko pod limitem snad všech momentálně nabízených webhostingových tarifů. Samozřejmě poté záleží na tom, kolik dat budete do Drupalu nahrávat a jak velký objem textu bude databáze obsahovat. Pomineme-li totiž obrázky na disku, je třeba počítat i s tím, že texty uložené v databázi rovněž něco zabírají. Čím více textů, tím větší bude index pro fulltextové vyhledávání. Hodně prostoru může zabírat i logování nejrůznějších událostí v Drupalu – podle toho, jak daleko do historie jej budete chtít uchovávat.

Webový server

Webové projekty postavené na PHP budete nejčastěji provozovat v kombinaci s webovým serverem Apache. Drupal 8 vám bez problému poběží na Apache 2.x. Lhostejno přitom, zda to bude v prostředí operačního systému Linux nebo na serveru s Windows, či snad dokonce s Apple OS X.

Webový server Apache by měl být nakonfigurován tak, aby podporoval rozšíření mod_rewrite. Jen tak vám budou v Drupalu fungovat tzv. čisté URL, bez otazníků a jiných speciálních znaků v adresách stránek. Konfigurace Apache by měla podporovat direktivu AllowOverride All, aby bylo možné použít soubor .htaccess, nacházející se v kořenové složce Drupalu, a nedocházelo přitom k různým chybovým hlášením.

Apache ovšem není jediný webový server, na kterém vám Drupal 8 poběží. Bez problémů funguje i na webovém serveru Microsoft IIS ve verzích 5, 6 a 7. Máte-li tu možnost, použijte aktuální Microsoft IIS 7 nebo vyšší. V této verzi již bez problémů podporuje čistá URL pomocí svého modulu Microsoft URL Rewrite Module, u starších verzí IIS musíte sáhnout po řešeních třetích stran. V případě, že použijete IIS 7, je nutné jej provozovat na Windows Serveru 2008 SP2 s podporu FastCGI.

Kromě asi nejznámějších Apache a IIS můžete Drupal provozovat i na odlehčeném webovém serveru Ngnix nabízejícím vysoký výkon a nízkou paměťovou náročnost.

Poznámka k operačnímu systému: V případě webového serveru IIS jej budete provozovat pouze na platformě Windows, Apache ale běží ve všech běžných operačních systémech. Drupalu je jedno, na jaké platformě běží, u některých modulů však můžete zaznamenat odlišné chování v prostředí linuxového a Windows hostingu.

Tip: Chcete-li si Drupal vyzkoušet na lokálním počítači, ale nechcete bádat nad nastavením webového serveru, databáze nebo podpory PHP ve vašem počítači, sáhněte po balíčcích, které ve srozumitelném průvodci připraví vše potřebné. Pro Windows a OS X je k dispozici Acquia Dev Desktop (acquia.com/downloads) pracující s kombinací Apache, MySQL a PHP. Ve Windows můžete vyzkoušet projekt WebMatrix (www.microsoft.com/web/webmatrix), který v systému vytvoří prostředí pro běh Drupalu na serveru IIS 7.

Databáze

U podpory databází na hostingu zpravidla nebývá problém. Drupal 8 vyžaduje MySQL 5.5.3 nebo novější, případně její obdoby MariaDB či Percona Server. Abyste se při práci s Drupalem nedostali do problémů, je nutné zajistit, aby oprávnění pro uživatelský účet k databázi, který vám přidělí váš poskytovatel hostingu nebo správce serveru, bylo nakonfigurováno s následujícími oprávněními:

• SELECT

• INSERT

• UPDATE

• DELETE

• CREATE

• DROP

• INDEX

• ALTER

• CREATE TEMPORARY TABLES

• LOCK TABLES

Jestliže někdy dochází k problémům s konfigurací databáze, je to především kvůli posledním dvěma zapomenutým oprávněním. Tato dvojice oprávnění Drupalu, respektive jeho modulům, umožňuje vytvářet si dočasné tabulky a tabulky uzamykat.

Dalším problémem, zejména u extrémně levných webhostingů, je omezená velikost dat, která mohou v požadavku směřovat na databázi. Ověřte si u svého poskytovatele, zda je jeho databázový server nakonfigurován s následujícím nastavením na 16 MB nebo více:

• max_allowed_packet = 16M

Drupal 8 podporuje v MySQL tabulky InnoDB jako primární, neboť mu to zaručí vyšší výkon.

Drupal můžete provozovat i v kombinacích s dalšími databázovými servery. Nejčastější alternativou k MySQL asi bude PostgreSQL, přičemž Drupal 8 vyžaduje PostgreSQL 9.1.2 nebo novější. Od doby Drupalu 7 je podporován také databázový stroj SQLite 3.6.8 a novější.

Pomocí doplňkových modulů je možné realizovat podporu databází Microsoft SQL Server a Oracle.

Upozornění: Poměrně široká podpora databází v Drupalu 8 vyžaduje, aby PHP na serveru bylo nastaveno s podporou databázového rozšíření PDO – PHP Data Objects.

PHP

Pro bezproblémové fungování Drupalu 8 je na serveru/hostingu nutné mít PHP 5.5.9 nebo novější. V době, kdy se vám tato kniha dostane do ruky, by už nově zřizované hostingové účty neměly mít starší verzi PHP než PHP 5.6 či PHP 7.

PHP musí být na serveru nastaveno s určitou konfigurací:

Velikost paměti pro běh PHP skriptů – jádro Drupalu 8 vyžaduje nastavení hodnoty memory_limit minimálně na 64 MB. U většího webu je ideální mít tuto hodnotu nastavenu na 128 MB nebo 256 MB, abyste se vyhnuli problémům. K čemu tak velké číslo? Například pro automatické zpracování nahrávaných obrázků.

Připojení k databázi – nastavení PHP na vašem hostingu musí samozřejmě podporovat připojení ke zvolenému typu databázového serveru, Drupal 8 dále vyžaduje rozšíření PHP s názvem PDO.

Rozšíření PHP XML – většina hostingů by neměla mít problém s podporou XML v PHP, neboť toto nastavení je standardně zapnuto. Opět pozor u levných hostingů, které tuto volbu vypínají, aby ušetřily zdroje na svých serverech.

Podpora práce s obrázky – PHP musí být na serveru zkompilováno s podporou knihovny PHP GD. Jinak Drupal nebude moci pracovat s obrázky – zmenšovat je, otáčet nebo provádět jejich složitější úpravy. K dispozici jsou i moduly využívající knihovnu ImageMagick dosahující někdy lepší kvality upravených obrázků. Server však musí umožnit volání binárních souborů této knihovny z PHP kódu. PHP GD je přesto nezbytné – řada modulů si bez něj neví rady.

Délka zpracování PHP skriptů – vyhněte se problémům se zpracováním déle trvajících úloh a vyžadujte hosting s nastavením doby zpracování PHP skriptů (max_execution_time) minimálně na 30 s.

Další nezbytná nastavení – konfigurace PHP na zvoleném serveru by měla zahrnovat následující:

• register_globals = off;

• session.auto_start = 0

• expose_php = off

• allow_url_fopen = off

• magic_quotes_gpc = off

• display_errors = Off

• error_reporting = E_ALL & ~E_NOTICE;

• safe_mode = off;

• session.cache_limiter = nocache;

Tip: V běžícím Drupalu zjistíte velikost paměti přidělené PHP skriptům z nabídky Logy −› Hlášení stavu. Spotřebovanou paměť můžete nechat spočítat po zapnutí modulu Devel – informace se vám zobrazí pod obsahem stránky.

Tip: Nedostatek paměti pro běh PHP skriptů se projeví tím, že Drupal nemůže zpracovat všechen kód nutný k vygenerování stránky a výsledkem je jen prázdná bílá plocha zobrazená ve webovém prohlížeči.

Pro běh Drupalu je ideální, pokud je použita distribuce PHP tak, jako je k dispozici na oficiálních stránkách php.net. Některé jiné distribuce mohou mít mírně odlišné výchozí nastavení, což pak znamená, že se budete poměrně dlouho dohadovat se správcem serveru na potřebném nastavení. Navíc, nemáte-li dostatek zkušeností, abyste poznali, co je v nastavení PHP špatně, můžete si pak kvůli takovému problému udělat na Drupal zbytečně negativní názor – na nevhodné konfiguraci hostingu jej nerozběhnete, což ovšem není chyba Drupalu.

Další nastavení na serveru

V některých případech si webový server nerozumí s nastaveními v souboru .htaccess, který se nachází v kořenové složce Drupalu. Nejčastějším problémem je špatná interpretace kódu pro obsluhu čistých URL na tomto řádku:

RewriteRule ^ index.php [L]

Většinou jej stačí přepsat do následující podoby, tedy přidat lomítko. Platí to zejména u webů běžících jako subdomény.

RewriteRule ^ /index.php [L]

Kapitola 2

Instalace Drupalu

V této kapitole:

• Instalátor Drupalu 8 a jeho souborová struktura

• Nastavení na serveru, vytvoření nové databáze

• Spuštění a průběh instalace

• Možné úpravy konfiguračního souboru settings.php

• Proč je někdy třeba editovat soubor .htaccess

• K čemu slouží cron a jak jej spouštět

• Instalace na lokální počítač s Windows a OS X

• Multidoménová instalace

• Sdílená databáze

Instalátor Drupalu 8 a jeho souborová struktura

Drupal si můžete stáhnout z jeho domovských stránek drupal.org. Na titulní straně se přepněte na Download & Extend, případně zadejte přímo adresu drupal.org/project/drupal. Dostanete se na projektovou stránku, jejíž struktura je shodná se strukturou stránek doplňkových modulů a témat vzhledu. Po úvodním povídání o daném projektu následuje tabulka s různými verzemi ke stažení. Zeleně jsou podbarveny stabilní verze daného softwaru, červeně ty vývojové, v jejichž čísle verze je ještě slůvko dev. Odkazy na aktuální verze Drupalu jsou zde zviditelněny také modrým podbarvením.

Drupal 8 si můžete stáhnout ve dvou variantách: buď jako balíček tar.gz, nebo jako archiv zip. Vyberte si takový, který dovedete na svém počítači rozbalit. Poté, co tak učiníte, měly by se vám objevit složky core, modules, profiles, sites, themes a řada souborů. Před sebou tak máte souborovou strukturu Drupalu, kterou budete kopírovat do adresáře na internetu, odkud se bude načítat váš web.

Upozornění: Při rozbalování balíčků s Drupalem dejte pozor na to, abyste archiv rozbalili včetně složek v něm umístěných. Některé komprimační programy strukturu složek nezachovávají, rozbalí všechny soubory do jedné složky a takto rozbalený archiv vám samozřejmě nebude fungovat.

Soubory v kořenové složce

Hned po rozbalení archivu s Drupalem 8 uvidíte kromě několika složek i řadu souborů. K tomu, aby vám Drupal bez problémů fungoval, je potřeba na web zkopírovat úplně vše, snad jen s výjimkou dvojice textových souborů LICENSE.txt a README.txt. Rozhodně nic dalšího nemažte.

Pro Drupal jsou životně důležité především soubory index.php, autoload.php, .htaccess a web.config. První z této čtveřice obsahuje spouštěč Drupalu, který se inicializuje při načtení webu, druhý slouží k načítání jednotlivých modulů a funkcí, třetí obsahuje různé instrukce pro webový server Apache a čtvrtý něco podobného pro webový server IIS.

Za pozornost stojí ještě soubor robots.txt, ve kterém jsou uvedena různá pravidla pro roboty internetových vyhledávačů. Je zde specifikováno, které složky na webu nemají indexovat. Soubor můžete samozřejmě při SEO úpravách na webu libovolně editovat a doplňovat.

Další soubory obsahují například instrukce pro programovací editory a různé verzovací systémy. Je zde také konfigurační soubor pro nástroj Composer.

Upozornění: Některé programy pro kopírování souborů přes FTP mají standardně vypnuto zobrazování skrytých souborů. Na webu jsou to ty s tečkou na začátku. Pokud takové při rozbalení nebo později po překopírování Drupalu na internet nevidíte, zapněte si ve svém klientovi FTP zobrazení skrytých souborů. Ujistěte se, že se vám na web opravdu zkopírovaly, především soubor .htaccess. Bez něj se může místo webu zobrazovat jen prázdná stránka.

Upozornění: Při kopírování pomocí klienta FTP dejte rovněž pozor na to, abyste nezapnuli funkci přejmenovávající všechny názvy souborů na malá písmena. Drupal 8 a jednotlivé komponenty frameworku Symfony jsou na toto citlivé a taková změna názvů souborů by způsobila, že Drupal 8 nebude fungovat.

Tip: Jak možná časem zjistíte, existuje modul RobotsTxt (drupal.org/project/robotstxt), který umožňuje editaci souboru záznamu pro vyhledávače přímo z administrace Drupalu. Pokud jej použijete, můžete soubor robots.txt z kořenové složky smazat, dokonce musíte.

Složka s jádrem Drupalu

V porovnání s předchozí verzí se souborová struktura Drupalu 8 významně změnila. Všechny soubory a složky, které se týkají jeho jádra, jsou v kořenovém umístění vloženy do složky core. Pokud znáte ze starších verzí Drupalu složky includes, misc, modules, themes a další obsahující jádro Drupalu, najdete je právě tady. Některé další položky zde přibyly, ale stále platí: Do ničeho umístěného ve složce core byste neměli nijak zasahovat. Budete-li chtít změnit chování Drupalu v nějakém směru, použijte na to existující nebo svůj nově napsaný modul. Kam jej nakopírujete, o tom o něco dále.

Složka profilů

Zajímavostí Drupalu je existence tzv. profilů. Pracují s nimi tzv. distribuce Drupalu, které kromě základního jádra nabízejí ještě řadu dalších doplňkových modulů. Při instalaci Drupalu je to v praxi tak, že se vám objeví výběr mezi standardní instalací a instalací nějakého profilu, který právě zapne dodatečné moduly a provede nějaké nastavení navíc.

V základní instalaci Drupalu je složka profiles prázdná. Nemusíte ani řešit kopírování souborů s překladem Drupalu do této složky, jako tomu bylo u předchozí verze. Češtinu si instalátor Drupalu 8 stáhne automaticky.

Složky pro váš obsah, moduly a témata vzhledu

Odmyslíme-li si složky core a profiles, zbydou nám čtyři další: modules, sites, themes a vendor. Složka modules, umístěná v kořenovém adresáři, slouží k nakopírování vašich vlastních nebo stažených doplňkových modulů pro Drupal. Podobně do složky themes budete kopírovat témata vzhledu, pokud si nevystačíte se základní nabídkou v jádře Drupalu.

Smysl složky sites zůstává stejný jako v Drupalu 7 a 6. Uvnitř najdete soubor example.sites.php a po instalaci také settings.php, obsahující mimo jiné informace o připojení Drupalu k databázi. Je tu umístěna také složka default; v ní obvykle vytvoříte složku files, do které se budou ukládat veškeré soubory nahrávané přes administraci Drupalu.

Ve složce vendor se objevují nejrůznější doplňkové knihovny open source, se kterými Drupal pracuje. Aby byl zachován pořádek a podpora nástroje Composer, jsou vyčleněny právě do samostatné složky, nikoli do složky s jádrem Drupalu jako takového.

Upozornění: Soubory a složky nejsou vším, co tvoří váš web. Veškeré údaje, jako je nastavení, obsah, uživatelé a další, jsou uloženy v databázi. Budete-li Drupal zálohovat, nestačí tedy jen zkopírovat soubory z FTP. Jde o častou chybu, které se dopouštějí začátečníci. Naopak v databázi nejsou soubory, jsou v ní jen umístěny informace o tom, ve které složce se nacházejí.

Poznámka: Zatímco v předchozích verzích Drupalu platilo, že moduly a témata nekopírujete do složek modules a themes v kořenové složce, ale do stejně nazvaných adresářů ve složce sites/all, nyní je tomu v Drupalu 8 přesně naopak. Složky modules a themes v kořenovém adresáři použijete.

Nastavení na serveru, vytvoření nové databáze

Než budete moci spustit instalaci Drupalu, je třeba mít splněny nezbytné požadavky pro jeho fungování, které jsem uvedl v předchozí kapitole.

Nakopírování souborů

Pomocí FTP klienta nakopírujte obsah rozbalené složky s Drupalem na internet. Ujistěte se, že žádný soubor nechybí, zejména ty s tečkou na začátku jejich názvu. Pokud později při instalaci nastane nějaký problém nebo uvidíte jen prázdnou bílou stránku, může to být právě tím, že vám chybí některé soubory, případně jste změnili velikost písmen v názvech souborů v Drupalu.

Některé hostingy po připojení přes FTP nabízejí více složek. Zjistěte si tedy, kam máte nakopírovat soubory, které mají být dostupné z internetu. Obvykle je to složka www, public_html, html atd.

Tip: Některé hostingy mohou mít problém s výchozí podobou pravidel v souboru .htaccess. V takovém případě rovněž uvidíte místo instalátoru jen bílou obrazovku nebo chybové hlášení. Víc se dozvíte v jedné z následujících podkapitol.

Nastavení práv pro zápis

Mnohé webové servery jsou záměrně kvůli bezpečnosti nastaveny restriktivněji než jiné. Drupal v takovém případě není schopen správně vytvářet pracovní složky nebo stahovat doplňkové moduly a témata vzhledu přímo ze své administrace. Ujistěte se proto, že máte nastavena oprávnění pro zápis Drupalem do složek modules a themes v kořenovém adresáři. Stejně tak by měl být povolen zápis do složky sites/all/files, kterou si Drupal vytvoří.

Úprava souboru php.ini

Některé webhostingy deklarují podporu všech parametrů, které Drupal vyžaduje, ale nechávají na vás, abyste si ji aktivovali. V takovém případě máte po připojení k souborům někde na webu soubor php.ini (nebo jej můžete vytvořit). Do něj pak můžete vložit pravidla a nastavení popsaná v předchozí kapitole.

Příprava databáze

Po nakopírování souborů na internet si připravte údaje pro připojení k databázi. Většina hostingů vám v závěrečné zprávě po registraci pošle kromě údajů pro připojení přes FTP i název databáze a jméno a heslo pro připojení k ní. Budete také potřebovat znát adresu databázového serveru, byť je to obvykle jednoduše localhost.

U některých poskytovatelů hostingu však budete muset databázi vytvořit ručně. Přesný postup záleží na dané službě, obvykle pro tento účel nabízí nějakého srozumitelného průvodce, kde si vyberete název databáze a uživatelské jméno s heslem vám bude přiděleno.

Jestliže hosting vygeneruje dvojici přístupových údajů, které jsou označeny jako pro běžné čtení a pro administraci databáze s plným přístupovým oprávněním, použijte ten druhý, administrátorský účet. Drupal totiž potřebuje mít kompletní kontrolu nad svou databází, což by s omezeným uživatelským účtem nebyl schopen realizovat a velmi rychle by vám začal zobrazovat různá chybová hlášení.

Jestliže máte pro vytvoření nové databáze a přístupových údajů k ní k dispozici pouze nástroj phpMyAdmin (typicky na vlastním serveru bez ovládacího panelu nebo při instalaci na lokální počítač v prostředí MAMP či WAMP), postupujte následovně:

1. Po načtení domovské stránky phpMyAdmina klepněte na tlačítko Oprávnění.

2. Pokračujte odkazem Přidat nového uživatele.

3. Vytvořte přihlašovací jméno uživatele, do pole Počítač zadejte localhost, vymyslete pro uživatele nějaké heslo a dvakrát jej zadejte ve stejné podobě.

4. V sekci Databáze pro uživatele vyberte volbu Vytvořit databázi stejného jména a přidělit všechna oprávnění.

5. Klepněte na tlačítko Proveď, nechejte phpMyAdmin provést zadaný úkol a jste hotovi.

Máte-li pohromadě jméno, heslo, název databáze a adresu databázového serveru a nakopírovány soubory Drupalu na internet, můžete se pustit do jeho instalace.

Poznámka: V některých nestandardních případech budete potřebovat znát ještě číslo databázového portu, které budete při instalaci zadávat. Obvykle jej ale nemusíte měnit.

Tip: Jestliže máte na hostingu k dispozici jenom jednu databázi pro více různých projektů, Drupalu může své tabulky pojmenovat s prefixem v názvu pro odlišení. Tuto praxi ale nedoporučuji, v databázi vám pak vznikne zbytečný chaos.

Spuštění a průběh instalace

Po přípravě nezbytných nastavení na serveru či hostingu, kde chcete Drupal provozovat, a po nakopírování celé jeho adresářové struktury se můžete pustit do instalace. Ta není o nic složitější než spuštění webového prohlížeče a načtení adresy, na které se vaše stránka, kde Drupal poběží, nachází.

Výběr jazyka

Hned po prvním načtení vašeho webu s Drupalem se objeví ukazatel jednotlivých kroků instalace a nabídne se vám výběr jazyka pro instalaci Drupalu. Lokalizaci můžete sice do Drupalu přidat i kdykoli později, ale jestliže jej chcete mít od počátku v češtině, vyberte si ji v nabídce. Instalátor pak automaticky zapne příslušné moduly a zároveň stáhne český překlad z webu localise.drupal.org. Na další krok se přesunete kliknutím na tlačítko Save and continue.

Obrázek 2.1 Výběr jazyka při instalaci Drupalu

Poznámka: Majitelé webů se starší verzí Drupalu si možná vzpomenou, jak museli češtinu do instalace ručně kopírovat, aby měli vše přeložené už od samého počátku. To nyní v Drupalu 8 odpadá.

Výběr instalačního profilu

Ve druhém kroku vám Drupal nabízí výběr instalačního profilu. Pokud jste nepoužili tzv. distribuci Drupalu, ale jen jeho základní verzi staženou z drupal.org/project/drupal, nabídnou se vám dva profily: standardní (předvolený) a minimální. Pro běžné potřeby ponechejte standardní profil a pokračujte dalším krokem instalace. Minimální profil nezapne skoro žádné moduly z jádra a je vhodný jen pro speciální typy webů.

Kontrola požadavků pro instalaci

Jestliže máte na serveru/hostingu splněny všechny požadavky, které Drupal vyžaduje, pak si tohoto kroku pravděpodobně ani nevšimnete. Proběhne velice rychle a přesune vás na další část instalace.

Obrázek 2.2 V drtivé většině případů použijete výchozí instalační profil Standard

Jestliže ale nastane nějaký problém s konfigurací, instalace se v této části zastaví a problém se vám objeví v přehledové tabulce. Až jej vyřešíte, budete moci kliknout na odkaz pro opětovnou kontrolu a pokračování v instalaci.

V některých případech nemusí dojít k problému znemožňujícímu instalaci, ale třeba jen k nevhodné konfiguraci z hlediska výkonu PHP. I na takové případy vás instalátor Drupalu 8 upozorní. Ty je pak možné buď vyřešit a nechat znovu zkontrolovat, nebo prostě přeskočit. K obojímu slouží odkazy pod přehledovým hlášením.

Nastavení databáze

V tuto chvíli se dostáváte do té části instalace, se kterou mají začátečníci největší problém (pomineme-li splnění požadavků pro provoz Drupalu na hostingu). Ideálně by se vám zde měla nabídnout instalace do databáze MySQL a případně výběr databáze SQLite. Můžete-li, instalujte do MySQL nebo jejího ekvivalentu.

Poznámka: Pokud vám instalátor využití MySQL nenabídne, znamená to, že na serveru či hostingu není správně nastavena podpora MySQL ve skriptech PHP.

Do políček ve formuláři vložte název databáze, uživatelské jméno pro připojení k databázi a k němu odpovídající heslo. Jestliže vám poskytovatel hostingu sdělil ještě adresu databázového serveru, která není localhost či 127.0.0.1, rozklikněte si Pokročilé volby a adresu serveru specifikujte do políčka Hostitel. Zde také můžete uvést číslo portu, případně prefix názvů databázových tabulek Drupalu. Neznáte-li je, nic tu neměňte.

Obrázek 2.3 V tomto případě lze nedostatek v podobě absence cacheování OPcode přeskočit odkazem Continue anyway

Instalace webu

Pokud zadáte údaje pro připojení k databázi v pořádku, proběhne instalace vybraného instalačního profilu. To v praxi znamená, že instalátor zobrazí ukazatel průběhu, u kterého se budou střídat názvy různých modulů jádra Drupalu. Pro ně instalátor vytváří v databázi příslušné tabulky a přidává do nich případně základní nastavení těchto modulů. Po dokončení se automaticky spustí další část instalace.

Obrázek 2.4 V Pokročilých volbách je možné upřesnit adresu hostitele, na kterém běží databáze

Upozornění: V této fázi už instalaci Drupalu rozhodně nepřerušujte. Pokud se tak stane nebo pokud dojde k nějaké chybě, budete muset předtím, než instalaci opětovně spustíte, odstranit veškeré tabulky, které v databázi instalátor Drupalu stihl vytvořit.

Nastavení překladu

Tato část instalace patří k těm, které – pokud je vše v pořádku – proběhnou bez vašeho přičinění. Drupal si v této části instalace stahuje překlady pro vybraný jazyk, který jste si zvolili na samém počátku instalace. Poté vás opět přepne do dalšího kroku instalace.

Nastavení webu

Nyní se dostáváte do části, kde budete vyplňovat základní informace o instalovaném webu. Pokud jste na začátku zvolili češtinu, bude s vámi Drupal od této chvíli již také komunikovat česky.

Vyplňte Název webu. Stejně jako další informace půjde později samozřejmě změnit. Název webu se objeví ve většině témat vzhledu někde v hlavičce, figuruje také v titulku prohlížeče. Poté zadejte E-mailovou adresu webu. Ta je použita coby odesilatel e-mailů s potvrzením o registraci uživatelů, při různých systémových upozorněních nebo třeba jako výchozí pro eshop, který můžete do Drupalu doplnit. Nemusí přitom jít o existující adresu, klidně to může být neodpovidat@vasedomena.tld.

Účet webové služby

V sekci Účet webové služby vyplňte přihlašovací jméno, e-mailovou adresu a heslo hlavního administrátora webu. Použijte samozřejmě existující e-mailovou adresu. Tento uživatel s pořadovým číslem 1 má v Drupalu výsadní postavení a neomezené pravomoci. Přestože později můžete přidat další uživatelské účty a nastavit je jako administrátory webu, přístupy prvního zde vytvořeného uživatele si dobře zapamatujte.

Všimněte si ukazatele síly hesla. To rozhodně nepodceňujte. Drupal je vcelku dobře zabezpečený systém, ale pokud použijete slabé heslo, někdo jej může odhalit.

Poznámka: V Drupalu funguje automatická ochrana před opakovanými pokusy o přihlášení pro zjištění hesla. To ale také znamená, že pokud se vám několikrát za sebou nepodaří se správně přihlásit, systém vám další pokusy o přihlašování na nějakou dobu zablokuje, i kdybyste pak už použili správné přihlašovací údaje.

Místní nastavení a Upozornění na aktualizace

Ve spodní části této instalační obrazovky vyberte Výchozí zemi, ze které budou čtenáři webu, a časové pásmo. Toto nastavení bude mít vliv na to, zda se vám budou správně ukazovat hodiny a případně datum u vloženého obsahu. Pro český web byste tedy měli vyplnit Česká republika a Europe/Prague.

Nemáte-li k tomu nějaký zvláštní důvod, ponechejte zapnuté upozorňování na aktualizace a zasílání zpráv o těchto aktualizacích na e-mail hlavního administrátora webu (ten, který jste zadali výše). Bezpečnostní nebo vylepšující aktualizace pro Drupal čas od času vycházejí, stejně tak pro doplňkové moduly nebo témata vzhledu. Jejich instalaci byste neměli podceňovat. Jak na ni, to se dozvíte v jiné části knihy.

Obrázek 2.5 Jako název webu můžete v případě firemní prezentace použít název své společnosti

Dokončení překladů a překlad konfigurace

Když v předchozí části instalace kliknete na tlačítko Uložit a pokračovat, proběhne ještě překlad konfigurace Drupalu, do kterého nemusíte nijak zasahovat.

Dokončení instalace

V závěrečné části instalace – tedy za předpokladu, že vše proběhlo bez problémů – se dozvíte, že jste úspěšně nainstalovali Drupal, a automaticky jste přesměrováni na titulní stranu svého čerstvého webu, tak jak vypadá po provedené instalaci.

Obrázek 2.6 Pohled na právě nainstalovaný Drupal 8 s výchozím tématem vzhledu a bez obsahu

Možné úpravy konfiguračního souboru settings.php

Po instalaci Drupalu vám v jeho souborové struktuře vznikne jedna velmi důležitá položka – soubor settings.php. V něm jsou uvedeny údaje pro připojení k databázi, které jste jste zadali do instalačního formuláře. Pokud budete Drupal kopírovat na jiný webhosting (nebo třeba z lokálního serveru ve svém počítači na internet), bude potřeba, abyste tyto údaje změnili. Kromě informací o databázi se v něm ale nachází i celá řada dalších nastavení.

Soubor najdete ve složce sites/default, případně v některé jiné podsložce v rámci složky sites.

Nastavení informace o databázi

Aby byl Drupal schopen ukládat data do databáze, musí vědět, jak se s ní spojit. V souboru settings.php vyhledejte pole $databases[‚default‘][ ‚default‘]. Bude na konci souboru. Obsahuje klíče s hodnotami obsahujícími název databáze, uživatelské jméno, heslo, adresu databázového serveru, číslo portu, na kterém databáze naslouchá, ovladač databáze a případně prefix názvů tabulek. Pokud budete Drupal kopírovat na jiný server, musíte po přenesení databáze a překopírování souborů tyto údaje v souboru settings.php přepsat.

Tip: Soubor settings.php je standardně určen jen pro čtení. Pokud nezměníte (například přes klienta FTP) jeho atributy, můžete mít problém s uložením jeho upravené podoby.

Poznámka: Všechna nastavení v souboru settings.php využívají syntaxi PHP. Pokud něčemu nerozumíte, dopředu si zálohujte původní podobu souboru, lehce byste mohli svůj web dočasně rozbít.