# Konfiguráció A rendszer konfigurációja viszonylag könnyen gyorsan és fájdalommentesen megoldhatód, a ##### `phlex px:configure` cli paranccsal. Ez a parancs, a lent említett fájlokat generálja majd neked (local.conf, config.php, .htaccess). ## Apache ### config/local.conf A rendszer által generált vhost file az alábbiak szerint néz ki. Ami különlegessége van, hogy minden egyes hostot, amit a rendszered szolgál ki, egyetlen egy darab VirtualHost-ban definiálsz, tipikusan az alábbiak szerint. ```apacheconf ServerName phlexproject.dev ServerAlias *.phlexproject.dev DocumentRoot "/htdocs/phlex-project/public/" ErrorLog /htdocs/phlex-project/var/log/error.log # You sholud allow overrides in this directory, or put content of .htaccess file here AllowOverride All ``` ### public/.htaccess Ennek a fájlnak a tartalmát természetesen - amennyiben módodban áll - beleteheted a vhost állományba is. ```apacheconf php_flag session.cookie_httponly on php_flag log_errors on php_flag display_errors off php_value error_reporting 2147483647 php_value error_log /htdocs/phlex-project/var/log/app.log Options -Indexes Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/?(\!?(files|img|css|js))/?(.*) RewriteRule . /index.php [L]a ``` Néhány php direktíván kívül beállításra kerül egy URL Rewriter is, ami minden egyes kérést - amihez nem tartozik a public mappán belül file - átirányít az index.php-re - azzal a kitétellel, hogyha a nem talált url file, img, css, js kulcsszavakkal kezdődik, akkor ott az apache-ra bízza a hibakezelést. ### public/files/.htaccess Ez egy nagyon egyszerű file, alapesetben meggátolja, hogy az itt levő .php fileokat a php értelmező értelmezze, ugyanis ide kerülnek a felhasználók által felöltött állományok. ```apacheconf php_flag engine off ``` Ugyanitt beállíthatod azt is, hogy a files mappa tartalma ne kerüljön kiszolgálásra, hanem a hívás mindenképpen fusson át a routeren és adott esetben jogosultságellenőrzést fűzhetsz a feltöltött fájlok eléréséhez. (Ehhez módosítanod kell a fenti url rewrite szekciót is kicsit!) ## config/config.php A phlex direkt nem bőven konfigurálható rendszer, hanem programozható, de egy minimális konfigurációt azért meg kell ejteni - már csak azért is, hogy a projekt hordozható legyen akár csak a development és a production környezetek között. A config.php-ben az alábbi kevés beállítás található: ```php return [ 'domain' => 'phlexproject.dev', // domain, ami alatt az alkalmazás elérhető 'dev-mode' => true, // development mód bekapcsolása 'color-log' => true, // a loggernek a színezés engedélyezése 'database' => 'mysql://root:root@127.0.0.1:3306/phlex?charset=utf8', // alap mysql kapcsolat url 'thumbnailCrc32Salt' => "b4d9af8714a75b481fe20543aa322e76" // a thumbnail generátor hash generátorának "sója" ]; ```