11.1. Lesson: Installa QGIS Server

L’obiettivo di questa lezione: Imparare come installare QGIS Server su Debian Stretch. Con variazioni trascurabili si può anche seguirla per qualsiasi distribuzione basata su Debian come Ubuntu e le sue derivate.

Nota

In Ubuntu puoi usare il tuo normale utente, aggiungendo sudo ai comandi che richiedono permessi di amministrazione. In Debian puoi lavorare come amministratore (root), senza usare sudo.

11.1.1. moderate Follow Along: Installa da pacchetti

In questa lezione faremo solo l’installazione da pacchetti come mostrato here .

Installa QGIS Server con:

apt install qgis-server --no-install-recommends --no-install-suggests

# if you want to install server plugins, also:
apt install python-qgis

QGIS Server dovrebbe essere usato in produzione senza che QGIS Desktop (con il relativo X Server) sia installato sulla stessa macchina.

11.1.2. moderate Follow Along: QGIS Server eseguibile

L’eseguibile di QGIS Server è qgis_mapserv.fcgi. Puoi verificare dove è stato installato con find / -name 'qgis_mapserv.fcgi' che dovrebbe rispondere qualcosa di simile /usr/lib/cgi-bin/qgis_mapserv.fcgi.

Se vuoi fare una prova da terminale puoi eseguire /usr/lib/cgi-bin/qgis_mapserv.fcgi` che dovrebbe rispondere qualcosa come:

QFSFileEngine::open: No file name specified
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Content-Length: 206
Content-Type: text/xml; charset=utf-8

<ServiceExceptionReport version="1.3.0" xmlns="https://www.opengis.net/ogc">
 <ServiceException code="Service configuration error">Service unknown or unsupported</ServiceException>
</ServiceExceptionReport>

Questa è una buona cosa, ti dice che sei sulla strada giusta mentre il server sta dicendo che non hai chiesto un servizio supportato. Vedrai in seguito come fare richieste WMS.

11.1.3. hard Configurazione HTTP del server

Per accedere al server QGIS installato da un browser Internet abbiamo bisogno di usare un server HTTP. Il processo di installazione del server HTTP Apache è dettagliato nella sezione Apache HTTP Server.

Nota

Se hai installato QGIS Server senza eseguire un X Server (incluso in Linux Desktop) e se vuoi usare anche il comando GetPrint, allora dovresti installare un fake X Server e dire a QGIS Server di usarlo. Puoi farlo seguendo il Xvfb installation process.

11.1.4. moderate Follow Along: Crea un altro virtual host

Crea un altro host virtuale Apache che punta a QGIS Server. Puoi scegliere il nome che preferisci (coco.bango, super.duper.training, example.com, etc.) ma per semplicità userai myhost.

  • Impostiamo il nome myhost per puntare all’IP localhost aggiungendo 127.0.0.1 x al /etc/hosts` con il seguente comando: sh -c "echo '127.0.0.1 myhost' >> /etc/hosts" o modificando manualmente il file con gedit /etc/hosts.

  • Puoi controllare che myhost punti a localhosteseguendo nel terminale ping myhost che dovrebbe produrre:

qgis@qgis:~$ ping myhost
PING myhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.029 ms
  • Puoi accedere a QGIS Server dal sito myhost eseguendo: curl http://myhost/cgi-bin/qgis_mapserv.fcgi accedendo all’URL dal tuo browser di Debian. Probabilmente otterrai:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/qgis_mapserv.fcgi was not found on this server.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at myhost Port 80</address>
</body></html>
  • Apache non sa che deve rispondere alle richieste che puntano al server chiamato myhost. Per configurare l’host virtuale il modo più semplice sarebbe fare un file myhost.conf nella cartella /etc/apache2/sites-available` che ha lo stesso contenuto di qgis.demo.conf` tranne per la linea ServerName che dovrebbe essere ServerName myhost. Potresti anche cambiare dove vanno i log perché altrimenti i log per i due host virtuali sarebbero condivisi, ma questo è opzionale.

  • Abilitiamo ora l’host virtuale con a2ensite myhost.conf e poi ricarichiamo il servizio Apache con service apache2 reload.

  • Se provi di nuovo ad accedere all’URL http: //myhost/cgi-bin/qgis_mapserv.fcgi noterai che tutto sta funzionando!

11.1.5. In Conclusion

Hai imparato come installare diverse versioni di QGIS Server dai pacchetti, come configurare Apache con QGIS Server, su distribuzioni Linux basate su Debian.

11.1.6. What’s Next?

Ora che hai installato QGIS Server ed è accessibile attraverso il protocollo HTTP, abbiamo bisogno di imparare come accedere ad alcuni dei servizi che può offrire. L’argomento della prossima lezione è imparare come accedere ai servizi WMS di QGIS Server.