Configurare nginx in modo che piGardenWeb venga servito in una sottodirectory

Recentemente “Marco Poet”, in un commento mi ha fatto la seguente richiesta:

Vorrei poter installare piGardenWEB in modo che risponda su un URI tipo http://192.168.1.1/piGardenWEB e non su /

Ho colto l’occasione per scrivere questo piccolo articolo dove conservare il file di configurazione di nginx che permette di servire piGardenWeb come sottodirectory e non direttamente sulla root.

Il file in questione è posto in /etc/nginx/sites-available/default e dovrà contenere quanto segue:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
 
        root /var/www/html;
 
        index index.php index.html index.htm index.nginx-debian.html;
 
        server_name _;
 
        location ^~ /piGardenWEB {
                alias /home/pi/piGardenWeb/public;
                try_files $uri $uri/ @laravel;
 
                location ~ \.php$ {
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    include fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME /home/pi/piGardenWeb/public/index.php;
                }
        }
 
        location @laravel {
                rewrite /piGardenWEB/(.*)$ /piGardenWEB/index.php?/$1 last;
        }
 
        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }
 
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Una volta salvato il file, riavviate nginx con il seguente comando

sudo systemctl restart nginx

A questo punto piGardenWeb sarà raggiungibile su http://indirizzo_ip_rapbery/piGardenWEB

2 pensieri su “Configurare nginx in modo che piGardenWeb venga servito in una sottodirectory

  1. Ho provato subito ma non funziona.

    Mi restituisce:
    root@pi001:/etc/nginx# curl http://127.0.0.1/piGardenWeb

    301 Moved Permanently

    301 Moved Permanently
    nginx/1.10.3

    root@pi001:/etc/nginx#

    ovviamente il tutto è installato su /home/pi/piGardenWeb/public

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.