11.1. Lesson: Installare 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. 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 python3-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. 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
.
Eventualmente, se vuoi eseguire un test da riga di comando in questo momento, puoi eseguire il comando /usr/lib/cgi-bin/qgis_mapserv.fcgi --version
, che dovrebbe restituire un risultato simile:
QGIS 3.21.0-Master 'Master' (1c70953f1e)
QGIS code revision 1c70953f1e
Qt version 5.15.2
Python version 3.9.5
GDAL/OGR version 3.2.2
PROJ version 7.2.1
EPSG Registry database version v10.008 (2020-12-16)
GEOS version 3.9.0-CAPI-1.16.2
SQLite version 3.34.1
OS Ubuntu 21.04
Vedremo più avanti come effettuare richieste WMS.
11.1.3. 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. 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 aggiungendo127.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 congedit /etc/hosts
.Puoi controllare che
myhost
punti a localhosteseguendo nel terminaleping 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 filemyhost.conf
nella cartella/etc/apache2/sites-available`
che ha lo stesso contenuto diqgis.demo.conf`
tranne per la lineaServerName
che dovrebbe essereServerName 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 conservice 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.