Úvod
Drupal je jedním z nejpreferovanějších redakčních systémů (CMS) pro provozování blogů a správu podnikového obsahu. Vývojáři a firmy jej preferují pro jeho robustnost a použitelnost. Je velmi přizpůsobitelný a lze jej rozšířit pro implementaci široké škály případů použití.
V tomto návodu si ukážeme, jak nainstalovat Drupal na Ubuntu 20.04 s Apache.
Požadavky
Jelikož budeme Drupal instalovat na Ubuntu, budeme muset mít nainstalovanou nejnovější verzi Ubuntu. Můžete postupovat podle našeho návodu na instalaci Ubuntu, pokud jej ještě nemáte. Budeme také potřebovat nainstalované a připravené PHP, MySQL, a Apache. Pokud je nainstalované nemáte, můžete se podívat na náš návod Nastavení LAMP Stacku – Linux Apache MySQL PHP.
Než začneme stahovat a nastavovat Drupal na našem stroji, musíme v systému provést několik úprav. S nainstalovanými PHP, MySQL a Apache začněme konfigurovat náš systém pro instalaci Drupalu.
Příprava uživatele a databáze MySQL
Drupal spoléhá na databázi MySQL pro ukládání dat a konfigurace. Nastavíme vyhrazeného uživatele a databázi, aby bylo naše prostředí Drupalu izolované. Pomůže nám to také zabezpečit naši aplikaci. Vytvoříme nového uživatele a databázi. Nejprve se přihlaste k serveru MySQL spuštěním níže uvedeného příkazu v terminálu:
|
1 |
mysql -u root -p |
Zadejte uživatelské jméno a heslo pro MySQL. Po ověření spusťte níže uvedený příkaz pro vytvoření nové databáze. Pojmenujme ji drupal:
|
1 |
CREATE DATABASE drupal; |
Dále budete muset vytvořit nového uživatele pro připojení k této databázi. Nazveme ho drupaluser. Jako heslo nezapomeňte zadat silné heslo. Spuštěním níže uvedeného příkazu vytvořte nového uživatele:
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Náš uživatel potřebuje oprávnění k provádění operací v této databázi. Poskytnutí všech oprávnění by však naši aplikaci vystavilo bezpečnostním rizikům. Zde proto poskytneme potřebná oprávnění spuštěním níže uvedeného příkazu:
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Jakmile udělíte oprávnění, můžeme se posunout dále. Spuštěním níže uvedeného příkazu vymažte mezipaměť oprávnění, aby se projevila okamžitě:
|
1 |
FLUSH PRIVILEGES; |
Poté ukončete MySQL spuštěním níže uvedeného příkazu:
|
1 |
exit |
Instalace a konfigurace PHP modulů
Drupal potřebuje ke svému fungování PHP moduly. Stáhneme je z oficiálního repozitáře Ubuntu. Aktualizujte místní mezipaměť balíčků spuštěním níže uvedeného příkazu:
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Dále provedeme několik úprav v PHP modulech podle doporučení Drupalu. Otevřete konfigurační soubor PHP pomocí níže uvedeného příkazu:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Vypněte obě proměnné expose_php a allow_url_fopen proměnné:
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Uložte a zavřete soubor. Nyní jste připraveni pokračovat.
Úprava souborů Htaccess v Apache
Drupal potřebuje upravovat URL adresy, aby dávaly uživatelům větší smysl. K tomu potřebuje přístup k přepisování URL. Modul mod_rewrite pro přepisování je v Apache naštěstí přítomen ve výchozím nastavení. Stačí jej pouze povolit. Spuštěním níže uvedeného příkazu tento modul povolíte:
|
1 |
sudo a2enmod rewrite |
Dále musíme aktualizovat nastavení virtuálního hostitele. Musíme to udělat proto, aby měl Drupal přístup k souboru .htaccess. Otevřete soubor virtualhost spuštěním níže uvedeného příkazu:
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
V rámci virtualhost nastavení přidejte složku, která ukazuje na náš webový kořen. Zde, AllowOverride na All. Pokud máte doménové jméno, můžete přidat ServerName direktivu a změnit ServerAdmin direktivu tak, aby odrážela platnou e-mailovou 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 zavřete soubor. Nyní máme vše připraveno. Pro projevení změn stačí restartovat Apache a PHP:
|
1 |
sudo service apache2 restart |
Instalace Drupalu
Zde budeme instalovat Drupal do webového kořene. Rozbalíme soubory Drupalu a vytvoříme kopii. Poté tyto zkopírované soubory zkopírujeme do určeného adresáře. To nám poskytne zálohu souborů pro případ, že by se něco pokazilo.
Chcete-li stáhnout Drupal, otevřete https://www.drupal.org/project/drupal. V sekci Recommended releases vyhledejte požadované vydání. Poté zkopírujte adresu souboru tar.gz. Na svém serveru můžete tento soubor stáhnout pomocí wget utility. Spuštěním níže uvedeného příkazu v terminálu získáte zkopírovanou adresu odkazu:
|
1 2 |
cd ~ wget <váš odkaz> |
Po stažení souboru rozbalte adresář aplikace zadáním:
|
1 |
tar xzvf drupal* |
Nyní se přesuňte do nově vytvořeného adresáře pomocí níže uvedeného příkazu:
|
1 |
cd drupal* |
Zkopírujte všechny soubory v tomto adresáři do webového kořene spuštěním níže uvedeného příkazu:
|
1 |
sudo rsync -avz . /var/www/html |
Po zkopírování souborů se přesuňte do webového kořene spuštěním níže uvedeného příkazu:
|
1 |
cd /var/www/html |
Zjednodušení instalace a zabezpečení souborů Drupalu
Pokud budeme Drupal instalovat pomocí webového instalačního skriptu, budeme muset provést úpravy v adresáři Drupalu. To nás bude nutit přepínat mezi prohlížečem a příkazovým řádkem. I když to takto lze také nainstalovat, lepší možností je provést drobné úpravy v našich souborech a tyto nepříjemnosti eliminovat.
Vytvořte nový adresář v podstromu sites/default s názvem files:
|
1 |
mkdir /var/www/html/sites/default/files |
Zkopírujte výchozí soubor nastavení do souboru, který Drupal používá pro aktivní konfiguraci:
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Pro dokončení instalace musíme aktivnímu souboru nastavení udělit více oprávnění. Později to vrátíme zpět. Spuštěním níže uvedeného příkazu udělte oprávnění k zápisu pro skupinového vlastníka:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Přiřaďte vlastnictví skupiny našich souborů webovému uživateli, kterým je v Ubuntu www-data. Celá naše instalace Drupalu vyžaduje tato vlastnická práva:
|
1 |
sudo chown -R :www-data /var/www/html/* |
Nyní můžeme pokročit dále.
Dokončení webové instalace
Od této chvíle budeme používat prohlížeč. Kroky budou snadné a rychlé. Do prohlížeče zadejte doménu/IP adresu serveru:
|
1 |
http://server_domain_or_ip/ |
Uvidíte uvítací stránku Drupalu:

Ve většině případů je výchozí možností Standard. Zvolte Manual, pokud to váš konkrétní případ vyžaduje. Po výběru možnosti Standard klikněte na Save and Continue. Zobrazí se další výzvy. Pokračujte klikáním na Next a přijímáním výchozích možností, dokud se nedostanete na stránku konfigurace databáze. Na této stránce budete požádáni o informace o databázi. Zadejte uživatele a heslo a databázi na této stránce, které jsme použili výše:

Klikněte na Save and Continue. Pokud budete přesměrováni na stejnou stránku konfigurace databáze, stačí stránku obnovit. Nastavení databáze se nakonfiguruje a profil se nainstaluje.
Budete požádáni o další informace o webu. V horní části se také zobrazí výzva, že je v pořádku změnit oprávnění souboru nastavení. Uděláme to jen na krátkou chvíli a poté změny vrátíme zpět. Nechceme ohrozit náš web. Zadejte požadované informace o webu:

Musíme kliknout na Save and Continue ještě jednou pro dokončení instalace. Otevřete svůj web zadáním své IP adresy/domény. Zobrazí se uvítací stránka:

Tímto je instalace Drupalu dokončena. Nyní vrátíme oprávnění pro naše nastavení zpět, abychom zabránili neoprávněnému použití. Omezte to spuštěním níže uvedeného příkazu v terminálu:
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Řešení problémů
Musíme se ujistit, že je instalace Drupalu dokončena. Pokud poslední krok není dokončen, spusťte níže uvedený příkaz:
|
1 |
sudo tail /var/log/apache2/error.log |
Tím se otevře soubor log. Poté zkontrolujte, zda v souboru najdete níže 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 |
Pokud jsou výše uvedené řádky přítomny, ukazuje to, že naše instalace nebyla úspěšná. K odstranění této chyby poskytl Drupal vodítko ve svém dokumentu zde: https://www.drupal.org/node/481758
Častým důvodem výše zmíněné chyby je max_execution_time. Chcete-li ji zvýšit, otevřete soubor php.ini pomocí níže uvedeného příkazu:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Dále vyhledejte max_execution_time a změňte jej následovně:
|
1 |
max_execution_time = 300 |
Vzhledem k tomu, že používáme vlastní databázi, budeme muset smazat výchozí databázi Drupalu a stávající soubor nastavení PHP /var/www/html/default/settings.php. Poté je nahraďte výchozími kopiemi a spusťte instalaci znovu. Jako preventivní opatření si nezapomeňte vytvořit zálohy.
Chcete-li odstranit stávající databázi Drupalu, přihlaste se do databáze MySQL a spusťte níže uvedený příkaz:
|
1 |
DROP DATABASE drupal; |
Poté vytvořte databázi a udělte oprávnění, jak je popsáno výše. Další možností je znovu spustit cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php pro nahrazení souboru nastavení. Ujistěte se, že také spustíte příkaz chmod 664 /var/www/html/sites/default/settings.php pro opětovné nastavení správných oprávnění. Nyní přejděte na svou IP adresu a pokuste se o instalaci znovu.
Závěr
V tomto návodu jsme se naučili, jak nastavit Drupal na vašem počítači se systémem Ubuntu. To vám poskytne solidní základ pro začátek s CMS Drupal. Nastavení Drupalu vám může pomoci provozovat váš web, který je vysoce přizpůsobitelný, aniž byste museli vše kódovat od nuly.
Chcete-li se dozvědět více o dalším užitečném CMS, WordPressu, můžete se podívat na následující návody:
- Jak nasadit WordPress pomocí kontejnerů Docker na Ubuntu 20.04
- Jak nainstalovat WordPress s LAMP na Ubuntu 20.04
- Proč byste měli pro svůj web zvolit cloudový hosting WordPress?
- Jak migrovat web z WordPressu na CloudSigma PaaS
Přejeme příjemnou práci s počítačem!
Komentáře
Zatím žádné komentáře. Buďte první.