Drupal a oblíbený webhosting Wedos může být poněkud větší problém než se může zdát, zvláště pak verze Drupal 8. První rozběhnutí Drupalu 8 trvalo poněkud déle než u předchozí verze, proto jsem se rozhodl vše potřebné shrnout v samostatném článku.
Také vzhledem k velkému množství malých souborů v Drupal 8 doporučuji na hostingu Wedos používat nástroj WebFTP, který umožňuje přenos zazipované složky s Drupalem a její vzdálené rozbalení na serveru. Přenos po souborech FTP klientem je pouze pro opravdové flegmatiky, jelikož trvá věky.
1) Nastavení souboru .htaccess a jeho parametrů
Povolené a nepovolené naleznete na wiki Wedosu zde. Co se týká Drupalu, v souborech .htaccess je třeba odstranit nebo zakomentovat (znakem #) parametry SetHandler, php_flag, u Options je dovolena pouze hodnota -Indexes.
2) Nastavení settings.php
Je třeba správně nastavit cestu k databázi a parametry, zápis s doplnění Vašich parametrů stačí nakopírovat na konec souboru. Zápis je platný pro Drupal 8.
$databases['default']['default'] = array (
'database' => 'dxxxxxx_nazevdb',
'username' => 'axxxxxx_nazevdb',
'password' => 'heslokdb',
'prefix' => '',
'host' => 'wmxxx.wedos.net',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
);
3) Použití https
Pokud chcete na stránkách používat https (dnes minimálně u e-shopů nutnost) můžete si u Wedosu vybrat mezi certifikáty Wedos, vlastním certifikátem nebo velmi jednoduše na hostingu zprovoznitelným Let´s Encrypt. Potřebné informace naleznete ve wiki Wedos.
Jakmile je vše na hostingu nastaveno, je třeba upravit soubor .htaccess v kořenové složce webu. Stačí přidat na konec souboru následující tři řádky:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
4) Drupal 8 - ochrana proti HTTP HOST Header útokům
Drupal 8 implementuje ochranu proti útokům, kdy je nutné specifikovat odkud smí požadavky na web směřovat. Pokud nevyplníte, uvidíte chybové hlášení v hlášeních stavu. Nastavení je velmi jednoduché, stačí do souboru settings.php přidat řádku níže, kde místo adresa-webu vyplníte adresu vašeho webu, místo cz případně doplníme koncovku domény (např. pokud máme registrovánu com, eu).
$settings['trusted_host_patterns'] = array('^www\.adresa-webu\.cz$');