Na Turrisu je možné jednoduše spustit webserver nginx s PHP 5 i podporou MySQL. V tomto návodu zjistíte, jak vše jednoduše nastavit.
Nejdříve si aktualizujte seznam balíčků
opkg update
a následně nainstalujte balíčky nutné pro samotný běh webserveru a PHP
opkg install nginx php5-fastcgi
Jelikož na routeru pravděpodobně běží ještě webserver lighttpd, přes který jsou přístupná rozhraní Foris a LuCi, porty 80 a 443 běžně používané pro weby jsou pravděpodobně obsazené. Je tak nutné pozměnit soubor /etc/lighttpd/lighttpd.conf
tak, aby byla tato rozhraní přístupná na jiném portu. Stačí pozměnit následující dva řádky tak, aby jejich obsah odpovídal kódu níže.
server.port = 81 $SERVER["socket"] == "[::]:81" { }
Nyní už stačí lighttpd restartovat, a Foris a LuCi budou dostupné na portu 81.
/etc/init.d/lighttpd restart
Port 80 tak máme uvolněný a můžeme přejít ke konfiguraci nginxu.
Výchozí adresář pro web je /www
, který je už použitý serverem lighttpd pro webová rozhraní routeru. Pokud vám nezáleží na tom, kde budete web ukládat, vytvořte si složku /usr/share/htdocs
, která je použita i v ukázkové konfiguraci níže. Pokud chcete mít web uložen například na externím disku, nezapomeňte cestu změnit v konfiguračním souboru.
Obsah konfiguračního souboru /etc/nginx/nginx.conf
upravíme následovně
user nobody nogroup; worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; index index.php index.html index.htm; default_type text/html; sendfile on; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; server { listen 80; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 32k; fastcgi_buffers 4 32k; fastcgi_busy_buffers_size 32k; fastcgi_temp_file_write_size 32k; client_body_timeout 10; client_header_timeout 10; send_timeout 60; output_buffers 1 32k; postpone_output 1460; root /usr/share/htdocs; # Složka, ve které se nachází web location ~ \.php$ { fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; if (-f $request_filename) { fastcgi_pass 127.0.0.1:1026; } } } }
Nyní přejdeme k souboru /etc/php.ini
, ve kterém najdeme a upravíme následující řádky
doc_root = "/usr/share/htdocs" ; Cestu případně nahraďte cestou, ve které máte uložen web cgi.force_redirect = 1 cgi.redirect_status_env = "yes"
Nyní stačí nginx restartovat a veškerý obsah v námi určené složce by měl být dostupný přes HTTP.
/etc/init.d/nginx restart