Úvod
Drupal je jedným z najpreferovanejších redakčných systémov (CMS) na prevádzkovanie blogov a správu podnikového obsahu. Vývojári a firmy ho uprednostňujú kvôli jeho robustnosti a použiteľnosti. Je veľmi prispôsobiteľný a dá sa rozšíriť na implementáciu širokej škály prípadov použitia.
V tomto návode si ukážeme, ako nainštalovať Drupal na Ubuntu 20.04 s Apache.
Požiadavky
Keďže budeme inštalovať Drupal na Ubuntu, budeme musieť mať nainštalovanú najnovšiu verziu Ubuntu. Môžete postupovať podľa nášho návodu na inštaláciu Ubuntu ak ho ešte nemáte. Budeme tiež potrebovať nainštalované a pripravené PHP, MySQL, a Apache. Ak ich nemáte nainštalované, môžete si pozrieť náš návod LAMP Stack setup – Linux Apache MySQL PHP.
Predtým, ako začneme sťahovať a nastavovať Drupal na našom stroji, musíme vykonať niekoľko úprav v našom systéme. Keď máme nainštalované PHP, MySQL a Apache, začnime s konfiguráciou nášho systému pre inštaláciu Drupalu.
Príprava používateľa a databázy MySQL
Drupal sa pri ukladaní dát a konfigurácie spolieha na databázu MySQL. Nastavíme vyhradeného používateľa a databázu, aby bolo naše prostredie Drupal izolované. Pomôže nám to tiež zabezpečiť našu aplikáciu. Vytvoríme nového používateľa a databázu. Najprv sa prihláste do MySQL servera spustením nižšie uvedeného príkazu v termináli:
|
1 |
mysql -u root -p |
Zadajte používateľské meno a heslo pre MySQL. Po overení spustite nižšie uvedený príkaz na vytvorenie novej databázy. Nazvime ju drupal:
|
1 |
CREATE DATABASE drupal; |
Ďalej budete musieť vytvoriť nového používateľa na pripojenie k tejto databáze. Nazveme ho drupaluser. Pre heslo sa uistite, že zadáte silné heslo. Spustením nižšie uvedeného príkazu vytvorte nového používateľa:
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Náš používateľ potrebuje oprávnenia na vykonávanie operácií v tejto databáze. Poskytnutie všetkých oprávnení by však vystavilo našu aplikáciu bezpečnostným rizikám. Preto tu poskytneme potrebné oprávnenia spustením nižšie uvedeného príkazu:
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Po udelení oprávnení sme pripravení pohnúť sa ďalej. Spustením nižšie uvedeného príkazu vymažte vyrovnávaciu pamäť oprávnení (flush), aby sa prejavili okamžite:
|
1 |
FLUSH PRIVILEGES; |
Potom ukončite MySQL spustením nižšie uvedeného príkazu:
|
1 |
exit |
Inštalácia a konfigurácia modulov PHP
Drupal potrebuje na svoje fungovanie moduly PHP. Stiahneme ich z oficiálneho repozitára Ubuntu. Aktualizujte svoju lokálnu vyrovnávaciu pamäť balíkov spustením príkazu nižšie:
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Ďalej vykonáme niekoľko úprav v moduloch PHP podľa odporúčania Drupalu. Otvorte konfiguračný súbor PHP pomocou príkazu nižšie:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Vypnite obe premenné expose_php a allow_url_fopen:
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Uložte a zatvorte súbor. Teraz ste pripravení pohnúť sa ďalej.
Úprava súborov Htaccess v Apache
Drupal potrebuje upravovať adresy URL, aby dávali používateľom väčší zmysel. Na to potrebuje prístup k prepisovaniu URL adries. Našťastie modul mod_rewrite na prepisovanie je v Apache predvolene prítomný. Stačí ho povoliť. Spustením nižšie uvedeného príkazu tento modul povolíte:
|
1 |
sudo a2enmod rewrite |
Ďalej musíme aktualizovať nastavenia virtuálneho hostiteľa. Musíme to urobiť, aby mal Drupal prístup k súboru .htaccess. Otvorte súbor virtualhost spustením príkazu nižšie:
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
V rámci virtualhost nastavenie, pridajte priečinok, ktorý ukazuje na náš webový koreň. Tu, AllowOverride na All. Ak máte názov domény, môžete pridať ServerName direktívu a zmeniť ServerAdmin direktívu tak, aby odrážala platnú e-mailovú adresu:
|
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All </Directory> . . . </VirtualHost> |
Uložte a zatvorte súbor. Teraz sme pripravení. Stačí reštartovať Apache a PHP, aby sa zmeny prejavili:
|
1 |
sudo service apache2 restart |
Inštalácia Drupalu
Tu budeme inštalovať Drupal do webového koreňového adresára. Rozbalíme súbory Drupalu a vytvoríme kópiu. Potom tieto skopírované súbory skopírujeme do určeného adresára. To nám poskytne zálohu súborov pre prípad, že by sa niečo pokazilo.
Ak chcete stiahnuť Drupal, otvorte https://www.drupal.org/project/drupal. V sekcii Recommended releases by ste mali nájsť požadované vydanie. Potom skopírujte adresu tar.gz súboru. Na vašom serveri môžete tento súbor stiahnuť pomocou wget nástroja. Spustením nižšie uvedeného príkazu v termináli stiahnete skopírovanú adresu odkazu:
|
1 2 |
cd ~ wget <váš odkaz> |
Po stiahnutí súboru rozbaľte adresár aplikácie zadaním:
|
1 |
tar xzvf drupal* |
Teraz prejdite do novovytvoreného adresára pomocou nižšie uvedeného príkazu:
|
1 |
cd drupal* |
Skopírujte všetky súbory v tomto adresári do webového koreňového adresára spustením nižšie uvedeného príkazu:
|
1 |
sudo rsync -avz . /var/www/html |
Po skopírovaní súborov prejdite do webového koreňového adresára spustením nižšie uvedeného príkazu:
|
1 |
cd /var/www/html |
Zjednodušenie inštalácie a zabezpečenie súborov Drupalu
Ak inštalujeme Drupal prostredníctvom webového inštalačného skriptu, budeme musieť vykonať úpravy v adresári Drupalu. To nás prinúti prepínať medzi prehliadačom a príkazovým riadkom. Hoci ho môžeme nainštalovať aj týmto spôsobom, lepšou možnosťou je vykonať úpravy v našich súboroch a eliminovať tieto nepríjemnosti.
Vytvorte nový adresár v podstrome sites/default s názvom files:
|
1 |
mkdir /var/www/html/sites/default/files |
Skopírujte predvolený súbor nastavení do názvu súboru, ktorý Drupal používa pre aktívnu konfiguráciu:
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Na dokončenie inštalácie musíme aktívnemu súboru nastavení udeliť viac oprávnení. Neskôr to vrátime späť. Spustením nižšie uvedeného príkazu udelíte oprávnenie na zápis pre skupinu vlastníka:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Priraďte skupinové vlastníctvo našich súborov webovému používateľovi, ktorým je v Ubuntu www-data. Celá naša inštalácia Drupalu vyžaduje tieto vlastnosti vlastníctva:
|
1 |
sudo chown -R :www-data /var/www/html/* |
Teraz môžeme pokročiť ďalej.
Dokončenie webovej inštalácie
Odteraz budeme používať prehliadač. Kroky budú jednoduché a rýchle. V prehliadači zadajte doménu/IP servera:
|
1 |
http://server_domain_or_ip/ |
Uvidíte uvítaciu stránku Drupalu:

Vo väčšine prípadov je predvolenou možnosťou Standard. Vyberte Manual, ak to váš prípad použitia vyžaduje. Po výbere možnosti Standard kliknite na Save and Continue. Zobrazia sa ďalšie výzvy. Klikajte na Next a akceptovaním predvolených možností, až kým sa nedostanete na stránku konfigurácie databázy. Na tejto stránke budete požiadaní o informácie o databáze. Zadajte používateľa a heslo a databázu na tejto stránke, ktoré sme použili vyššie:

Kliknite na Save and Continue. Ak budete presmerovaní na rovnakú stránku konfigurácie databázy, stačí stránku obnoviť. Nastavenia databázy sa nakonfigurujú a profil sa nainštaluje.
Budete požiadaní o ďalšie informácie o webovej stránke. V hornej časti sa tiež zobrazí výzva, že je v poriadku zmeniť oprávnenia súboru nastavení. Urobíme to len na krátky čas a potom zmeny vrátime späť. Nechceme ohroziť našu webovú stránku. Zadajte požadované informácie pre webovú stránku:

Musíme kliknúť na Save and Continue ešte raz, aby sme dokončili inštaláciu. Otvorte svoju stránku zadaním vašej IP adresy/domény. Uvidíte uvítaciu stránku:

Týmto je inštalácia systému Drupal dokončená. Teraz vrátime oprávnenia pre naše nastavenia, aby sme zabránili neoprávnenému použitiu. Obmedzte to spustením nižšie uvedeného príkazu v termináli:
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Riešenie problémov
Musíme sa uistiť, že inštalácia systému Drupal je dokončená. Ak posledný krok nie je dokončený, spustite nižšie uvedený príkaz:
|
1 |
sudo tail /var/log/apache2/error.log |
Týmto sa otvorí súbor log. Ďalej skontrolujte, či v súbore nájdete nižšie uvedený záznam:
|
1 2 |
PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en sh: 1: /usr/sbin/sendmail: not found |
Ak sú prítomné vyššie uvedené riadky, znamená to, že naša inštalácia nebola úspešná. Na odstránenie tejto chyby poskytol Drupal návod vo svojom dokumente tu: https://www.drupal.org/node/481758
Častým dôvodom vyššie uvedenej chyby je max_execution_time. Ak ho chcete zvýšiť, otvorte súbor php.ini pomocou nižšie uvedeného príkazu:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Ďalej vyhľadajte max_execution_time a zmeňte ho nasledovne:
|
1 |
max_execution_time = 300 |
Keďže používame vlastnú databázu, budeme musieť vymazať predvolenú databázu systému Drupal a existujúci súbor nastavení PHP /var/www/html/default/settings.php. Potom ich nahraďte predvolenými kópiami a spustite inštaláciu znova. Ako preventívne opatrenie si nezabudnite vytvoriť zálohy.
Ak chcete odstrániť existujúcu databázu Drupal, prihláste sa do databázy MySQL a spustite nižšie uvedený príkaz:
|
1 |
DROP DATABASE drupal; |
Potom vytvorte databázu a udeľte oprávnenia, ako je popísané vyššie. Ďalšou možnosťom je znova spustiť cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php na nahradenie súboru nastavení. Uistite sa, že ste spustili aj príkaz chmod 664 /var/www/html/sites/default/settings.php na opätovné nastavenie správnych oprávnení. Teraz prejdite na svoju IP adresu a pokúste sa o inštaláciu znova.
Záver
V tomto návode sme sa naučili, ako nastaviť Drupal na vašom počítači so systémom Ubuntu. To vám poskytne pevný základ pre začiatok s CMS Drupal. Nastavenie Drupalu vám môže pomôcť prevádzkovať vašu webovú stránku, ktorá je vysoko prispôsobiteľná bez toho, aby ste museli všetko kódovať od nuly.
Ak sa chcete dozvedieť viac o ďalšom užitočnom CMS, WordPress, môžete si pozrieť nasledujúce návody:
- Ako nasadiť WordPress pomocou Docker kontajnerov na Ubuntu 20.04
- Ako nainštalovať WordPress s LAMP na Ubuntu 20.04
- Prečo by ste mali prejsť na WordPress Cloud Hosting pre váš web?
- Ako migrovať webovú stránku z WordPress do CloudSigma PaaS
Príjemnú prácu s počítačom!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.