1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Inštalácia Drupal na Ubuntu 20.04 s LEMP

Inštalácia Drupal na Ubuntu 20.04 s LEMP

Ak na Virtuálnom serveri (VPS) máme nainštalovaný LEMP (Linux, Nginx, MySQL a PHP) a bezpečnostný certifikát, konečne sa môžeme pustiť do samotných webových stránok. Nie každý však dokáže vytvoriť web na zelenej lúke pomocou jazykov ako HTML, JavaScript alebo PHP, a tak tu máme systémy správy obsahu (anglická skratka CMS, čiže Content Management System).

Celosvetovo jeden z najpopulárnejších a najpoužívanejších CMS je rozhodne Drupal. Ide o systém správy obsahu, ktorý nám maximálne zjednoduší celý proces tvorby webových stránok. Web s unikátnym vzhľadom a obsahom dokážeme vytvoriť bez programovania, stačí iba klikať vo webovom prehliadači.

Nastavujeme webový server Nginx

Aby Drupal dokázal zobraziť články na trvalých odkazoch (permalinks) v peknom formáte (namiesto /index.php/ahoj-svet/ bude na konci URL /ahoj-svet/), musíme upraviť konfiguračný súbor webového servera Nginx:

sudo nano  /etc/nginx/sites-available/default

V konfiguračnom súbore si nájdeme riadok s obsahom server { s následným komentárom # SSL configuration a v časti location / { upravíme hodnotu direktívy try_files takto:

try_files $uri $uri/ /index.php?$query_string =404;

Pod direktívu ssl_dhparam ešte vložíme tieto riadky:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;

Konfiguračný súbor uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Reštartujeme webový server Nginx, aby sa zmena v konfiguračnom súbore prejavila:

sudo systemctl restart nginx

Podrobnejšie nastavenia webového servera Nginx pre potreby Drupalu nájdete v oficiálnej dokumentácii projektu Nginx na adrese https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/.

Nastavujeme PHP

V prvom rade je potrebné zabezpečiť aktuálnosť všetkých balíkov. Nainštalujeme teda všetok updatovaný softvér pomocou dvoch príkazov v jednej dávke:

sudo apt update && sudo apt upgrade

Ak systém nájde aktualizovateľné balíčky, takto sa opýta, či ich chcete začať inštalovať:

Do you want to continue? [Y/n]

Stlačte klávesu y ak chcete začať aktualizačný proces alebo tlačidlo n, ak aktualizovať nechcete. Následne stlačte klávesu Enter.

Aby Drupal fungoval správne ako celok, potrebuje moduly, ktoré po bežnej inštalácii jazyka PHP nie sú k dispozícii. Týmto príkazom ich teda nainštalujeme:

sudo apt install php-curl php-gd php-imagick php-mbstring php-xml php-zip

Systém sa takto opýta, či moduly chcete začať inštalovať:

Do you want to continue? [Y/n]

Stlačte klávesu y ak chcete začať inštalačný proces alebo tlačidlo n, ak aktualizovať nechcete. Následne stlačte klávesu Enter.

Zistíme si verziu PHP, ktorú máme nainštalovanú:

php -v

aby sme v správnom konfiguračnom súbore php.ini

sudo nano /etc/php/7.4/fpm/php.ini

mohli nastaviť tieto riadky:

short_open_tag = On
cgi.fix_pathinfo = 0
max_execution_time = 600
max_input_time = 600
default_socket_timeout = 600
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
date.timezone = Europe/Bratislava

Konfiguračný súbor uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Reštartujeme zistenú verziu PHP, aby sa prejavili zmeny zapísané do konfiguračného súboru:

sudo systemctl restart php7.4-fpm

Vytvárame používateľa a databázu v MySQL

Drupal textové údaje ako články alebo komentáre ukladá do databázy. Aby Drupal mohol s databázovým serverom MySQL bezpečne komunikovať, musíme vytvoriť nového používateľa s obmedzenými právami (nepoužijeme používateľa root). Spustíme teda komunikáciu s databázovým serverom MySQL:

sudo mysql

vytvoríme používateľa (tu tibor), ktorému priradíme dostatočne silné heslo (tu Toto.Hes1o.je:silne). V hesle použijeme minimálne 8 znakov – malé a veľké písmená, čísla a špeciálne znaky ako bodka, čiarka, dvojbodka, zavináč, otáznik, výkričník

create user 'tibor'@'localhost' identified by 'Toto.Hes1o.je:silne';

vytvoríme databázu s názvom drupal:

create database drupal;

a používateľovi tibor udelíme všetky práva na prácu s databázou drupal takto:

grant all privileges on drupal.* to 'tibor'@'localhost';
flush privileges;

Ukončíme prácu s MySQL serverom:

exit

Inštalujeme Drupal

Pred samotnou inštaláciou Drupalu vymažeme všetok obsah priečinka html:

sudo rm -rf /var/www/html/*

Premiestnime sa do priečinka html, kde budeme inštalovať Drupal:

cd /var/www/html

Stiahneme (prvý riadok), rozbalíme (druhý riadok) a premiestnime (tretí riadok) potrebné súbory a priečinky aktuálnej verzie Drupalu.

Znaky x.x.x sú iba zástupné a je potrebné ich nahradiť verziou, ktorú zistíme z názvu rozbaleného priečinka (tu 9.0.1).

sudo wget https://www.drupal.org/download-latest/tar.gz
sudo tar -zxvf tar.gz
sudo mv drupal-x.x.x/* ./

Vymažeme zbytočné priečinky a súbory (prvý riadok) a následne určíme vlastníctvo a oprávnenie súborov a priečinkov (posledné 2 riadky):

sudo rm -rf drupal-9.0.1 tar.gz
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Ostatné nastavenia zvládneme cez webový prehliadač na adrese servera (tu vps.websupport.tech) podľa týchto krokov:

  1. Choose language > Slovenčina > Save and continue
  2. Výber profilu > Štandardný > Uložiť a pokračovať
  3. Nastavenie databázy > Meno databázy: drupal
  4. Nastavenie databázy > Prihlasovacie meno: tibor
  5. Nastavenie databázy > Heslo: Toto.Hes1o.je:silne
  6. Nastavenie databázy > Uložiť a pokračovať
  7. Nastavenie webu > Názov web stránky: Drupal
  8. Nastavenie webu > Site email address: meno.priezvisko@domena.sk
  9. Nastavenie webu > Používateľské meno: tibor
  10. Nastavenie webu > Heslo a potvrdenie hesla: Toto.Hes1o.je:silne
  11. Nastavenie webu > Predvolená krajina: Slovensko
  12. Nastavenie webu > Receive email notifications: odznačíme
  13. Nastavenie webu > Uložiť a pokračovať

Po úspešnej inštalácií sa zobrazí úvodná stránka s nadpisom „Vitajte na Drupal“ takto:

Zhrnutie

Nastavili sme webový server Nginx, nainštalovali chýbajúce moduly jazyka PHP, nastavili sme niektoré premenné PHP a vytvorili sme nového používateľa databázového servera MySQL, aby sme následne mohli nainštalovať CMS Drupal. Časť inštalačného procesu prebehol v príkazovom riadku (linuxový shell bash) a časť inštalácie vo webovom prehliadači. Všetky ostatné vlastnosti Drupalu je možné nastaviť v grafickom prostredí webového prehliadača. Rovnako cez webový prehliadač zrealizujeme inštalácie, aktualizácie a pridanie nového obsahu.

Aktualizované 9. júla 2020

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu