1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Instalace Drupal na Ubuntu 20.04 s LEMP

Instalace Drupal na Ubuntu 20.04 s LEMP

Pokud na Virtuálním serveru (VPS) máme nainstalovaný LEMP (Linux, Nginx, MySQL a PHP) a bezpečnostní certifikát, konečně se můžeme pustit do samotných webových stránek. Ne každý však dokáže vytvořit web na zelené louce pomocí jazyků jako HTML, JavaScript nebo PHP, a tak tu máme systémy správy obsahu (anglická zkratka CMS, čili Content Management System).

Celosvětově jeden z nejpopulárnějších a nejpoužívanějších CMS je rozhodně Drupal. Jde o systém správy obsahu, který nám maximálně zjednoduší celý proces tvorby webových stránek. Web s unikátním vzhledem a obsahem dokážeme vytvořit bez programování, stačí pouze klikat ve webovém prohlížeči.

Nastavujeme webový server Nginx

Aby Drupal dokázal zobrazit články na trvalých odkazech (permalinks) v pěkném formátu (namísto /index.php/ahoj-svete/ bude na konci URL /ahoj-svete/), musíme upravit konfigurační soubor webového serveru Nginx:

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

V konfiguračním souboru si najdeme řádek s obsahem server { s následným komentářem # SSL configuration a v části location / { upravíme hodnotu direktivy try_files takto:

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

Pod direktivu ssl_dhparam ještě vložíme tyto řádky:

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

Konfigurační soubor uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Restartujeme webový server Nginx, aby se změna v konfiguračním souboru projevila:

sudo systemctl restart nginx

Podrobnější nastavení webového serveru Nginx pro potřeby Drupalu najdete v oficiální dokumentaci projektu Nginx na adrese https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/.

Nastavujeme PHP

V první řadě je potřeba zabezpečit aktuálnost všech balíků. Nainstalujeme tedy všechen updatovaný software pomocí dvou příkazů v jedné dávce:

sudo apt update && sudo apt upgrade

Když systém najde aktualizovatelné balíčky, takto se zeptá, jestli je chcete začít instalovat:

Do you want to continue? [Y/n]

Stlačte klávesu y když chcete začít aktualizační proces nebo tlačítko n, když aktualizovat nechcete. Následně stlačte klávesu Enter.

Aby Drupal fungoval správně jako celek, potřebuje moduly, které po běžné instalaci jazyka PHP nejsou k dispozici. Tímto příkazem je tedy nainstalujeme:

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

Systém se takto zeptá, jestli moduly chcete začít instalovat:

Do you want to continue? [Y/n]

Stlačte klávesu y když chcete začít instalační proces nebo tlačítko n, když aktualizovat nechcete. Následně stlačte klávesu Enter.

Zjistíme si verzi PHP, kterou máme nainstalovanou:

php -v

abychom v správném konfiguračním souboru php.ini

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

mohli nastavit tyto řádky:

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í soubor uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Restartujeme zjištěnou verzi PHP, aby se projevily změny zapsané do konfiguračního souboru:

sudo systemctl restart php7.4-fpm

Vytváříme uživatele a databázi v MySQL

Drupal textové údaje jako články nebo komentáře ukládá do databáze. Aby Drupal mohl s databázovým serverem MySQL bezpečně komunikovat, musíme vytvořit nového uživatele s omezenými právy (nepoužijeme uživatele root). Spustíme tedy komunikaci s databázovým serverem MySQL:

sudo mysql

vytvoříme uživatele (zde tibor), kterému přiřadíme dostatečně silné heslo (zde Toto.Hes1o.je:silne). V hesle použijeme minimálně 8 znaků – malá a velká písmena, čísla a speciální znaky jako tečka, čárka, dvojtečka, zavináč, otazník, vykřičník

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

vytvoříme databázi s názvem drupal:

create database drupal;

a uživateli tibor udělíme všechny práva na práci s databází drupal takto:

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

Ukončíme práci s MySQL serverem:

exit

Instalujeme Drupal

Pred samotnou instalací Drupalu vymažeme všechen obsah složky html:

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

Přemístíme se do složky html, kde budeme instalovat Drupal:

cd /var/www/html

Stáhneme (první řádek), rozbalíme (druhý řádek) a přemístíme (třetí řádek) potřebné soubory a složky aktuální verze Drupalu.

Znaky x.x.x jsou pouze zástupné a je potřeba je nahradit verzí, kterou zjistíme z názvu rozbalené složky (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 zbytečné složky a soubory (první řádek) a následně určíme vlastnictví a oprávnění souborů a složek (poslední 2 řádky):

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í nastavení zvládneme přes webový prohlížeč na adrese serveru (zde vps.websupport.tech) podle těchto kroků:

  1. Choose language > Čeština > Save and continue
  2. Výběr profilu > Standardní > Uložit a pokračovat
  3. Nastavení databáze > Jméno databáze: drupal
  4. Nastavení databáze > Přihlašovací jméno: tibor
  5. Nastavení databáze > Heslo: Toto.Hes1o.je:silne
  6. Nastavení databáze > Uložit a pokračovat
  7. Nastavení webu > Název web stránky: Drupal
  8. Nastavení webu > Site email address: jmeno.prijmeni@domena.cz
  9. Nastavení webu > Uživatelské jméno: tibor
  10. Nastavení webu > Heslo a potvrzení hesla: Toto.Hes1o.je:silne
  11. Nastavení webu > Předvolená země: Česká republika
  12. Nastavení webu > Receive email notifications: odznačíme
  13. Nastavení webu > Uložit a pokračovat

Po úspěšné instalaci se zobrazí úvodní stránka s nadpisem „Vítejte na Drupal“ takto:

Shrnutí

Nastavili jsme webový server Nginx, nainstalovali chybějící moduly jazyka PHP, nastavili jsme některé proměnné PHP a vytvořili jsme nového uživatele databázového serveru MySQL, abychom následně mohli nainstalovat CMS Drupal. Část instalačního procesu proběhl v příkazovém řádku (linuxový shell bash) a část instalace ve webovém prohlížeči. Všechny ostatní vlastnosti Drupalu je možné nastavit v grafickém prostředí webového prohlížeče. Stejně tak přes webový prohlížeč zrealizujeme instalace, aktualizace a přidání nového obsahu.

Aktualizováno: 12 října, 2021

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU