Konfigurace serveru pro Nette

Datum vydání: 2014-02-17 20:24:55; aktualizováno: 2014-02-20 19:34:46

Začínáme s frameworkem Nette

Většinu důležitých věcí se dozvíme pro začátek v dokumentaci QuickStart.

Framework si stáhneme a nahrajeme soubory do patřičného adresáře. Vzorová aplikace je umístěna v adresáři sandbox, takže pokud nás zajímá rovnou náš nový projekt, tak stačí obsah tohoto adresáře nahrát na web a začít ho upravovat. Obsahem adresáře sandbox je i Nette. Spouštěcí soubor index.php je umístěn v adresáři www. Pokud mají být stránky přístupné přímo pod doménovým jménem, je zapotřebí nastavit adresář www jako root webu.

Kontrola požadavků frameworku Nette

Zda framework bude běžet na serveru v pořádku, můžeme otestovat pomocí nástroje Requirements Checker, který je umístěný v NetteFramework-2.1.1\tools\Requirements-Checker\checker.php. Pro jeho spuštění je vhodné mít nahraný i adresář assets. (Můžeme případně nahrát na server celý framework NetteFramework-2.1.1 a skript spustit). Následně se doporučuje adresář ze serveru smazat, aby někdo cizí nemohl zjišťovat nastavení serveru.

Register globals = off

Pokud narazíme na zapnuté globální proměnné register_globals = on, lze toto nastavení pro daný adresář obvykle změnit direktivou ve skrytém souboru .htaccess. Zapnuté globální proměnné jsou bezpečnostní zlo. Pokud adresář webu neobsahuje tento soubor, tak to založíme a přidáme text

php_flag register_globals off

. Nastavení v souboru .htaccess je platné i pro podadresáře. Nette (sandbox aplikace) sice funguje i v případě povolených globálních proměnných, ale je vhodné nemít globální proměnné povoleny. Nastavení promenných lze také ověřit v php kódem a spuštěním skriptu s php kódem funkce phpinfo:

<?php
phpinfo();
?>

Databáze

Pro MySQL je vhodné používat úložiště InnoDB. Zda je nainstalováno, lze poznat např. v rozhraní PHPMyAdmin na hlavní stránce pod položkou Úložiště. Bez něho by byly nefunkční některé způsoby přístupu k databázovým tabulkám (např. automatické propojení tabulek pomocí cizích klíčů). Standardní databázové dotazy by asi měly fungovat i bez tohoto úložiště, ale funkčnost některých vymožeností přístupu Nette k databázi bude omezena. Při vytváření tabulek je pak třeba dbát na správné pojmenování id a cizích klíčů. SQL dotazy s propojením tabulek by mělo jít tvořit i standardní cestou přes metodu query, kde si propojení tabulek zajistíme sami přes JOIN či WHERE. Při příkazu pro vytvoření tabulky CREATE TABLE by mělo být nastaveno ENGINE=InnoDB.

Práva zápisu

Adresáře log/ a temp/ by měly mít nastavena práva pro zápis (chmod 0777).

Další informace