Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
11.1. Lektion: Installera QGIS Server
Målet med den här lektionen: Att lära dig att installera QGIS Server på Debian Stretch. Med försumbara variationer kan du också följa den för alla Debian-baserade distributioner som Ubuntu och dess derivat.
Observera
I Ubuntu kan du använda din vanliga användare och lägga till sudo
till kommandon som kräver administratörsbehörighet. I Debian kan du arbeta som administratör (root
) utan att använda `sudo
.
11.1.1. ★★☆ Följ med: Installera från paket
I den här lektionen kommer vi bara att göra installationen från paket som visas här <https://qgis.org/resources/installation-guide/#linux>`_ .
Installera QGIS Server med:
apt install qgis-server --no-install-recommends --no-install-suggests
# if you want to install server plugins, also:
apt install python3-qgis
QGIS Server bör användas i produktion utan att QGIS Desktop (med tillhörande X Server) är installerat på samma maskin.
11.1.2. ★★☆ Följ med: QGIS Server körbar
Den körbara filen för QGIS Server är qgis_mapserv.fcgi
. Du kan kontrollera var den har installerats genom att köra find / -name 'qgis_mapserv.fcgi'
som bör ge ut något i stil med /usr/lib/cgi-bin/qgis_mapserv.fcgi
.
Om du vill göra ett kommandoradstest vid den här tidpunkten kan du köra kommandot /usr/lib/cgi-bin/qgis_mapserv.fcgi --version
som bör ge ut något liknande:
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
Vi kommer senare att se hur man gör WMS-förfrågningar.
11.1.3. ★★★★ Konfiguration av HTTP-server
För att få åtkomst till den installerade QGIS-servern från en webbläsare måste vi använda en HTTP-server. Installationsprocessen för Apache HTTP Server beskrivs i detalj i avsnittet Apache HTTP-server.
Observera
Om du installerade QGIS Server utan att köra en X-server (ingår i Linux Desktop) och om du också vill använda kommandot GetPrint
måste du installera en falsk X-server och säga till QGIS Server att använda den. Du kan göra det genom att följa :ref:``Xvfb installationsprocess <xvfb>`.
11.1.4. ★★☆ Följ med: Skapa en annan virtuell värd
Låt oss skapa en annan virtuell Apache-värd som pekar på QGIS Server. Du kan välja vilket namn du vill (coco.bango
, super.duper.training
, example.com
, etc.) men för enkelhetens skull kommer vi att använda myhost
.
Låt oss ställa in namnet
myhost
så att det pekar på IP:n för localhost genom att lägga till127.0.0.1 x
i :filen:`/etc/hosts` med följande kommando:sh -c "echo '127.0.0.1 myhost' >> /etc/hosts"
eller genom att manuellt redigera filen medgedit /etc/hosts
.Vi kan kontrollera att
myhost
pekar på det lokala värddjuret genom att köra kommandotping myhost
i terminalen, vilket bör ge utdata:
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
Låt oss prova om vi kan komma åt QGIS Server från
myhost
-webbplatsen genom att göra:curl http://myhost/cgi-bin/qgis_mapserv.fcgi
eller genom att komma åt webbadressen från din webbläsare i Debian-boxen. Du kommer förmodligen att få:
<!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 vet inte att han ska svara på förfrågningar som pekar på servern med namnet
myhost
. För att konfigurera den virtuella värden skulle det enklaste sättet vara att skapa enmyhost.conf
-fil i/etc/apache2/sites-available
-katalogen som har samma innehåll somqgis.demo.conf
förutom förServerName
-raden som ska varaServerName myhost
. Du kan också ändra var loggarna hamnar eftersom loggarna för de två virtuella värdarna annars skulle delas, men detta är valfritt.Låt oss nu aktivera den virtuella värden med
a2ensite myhost.conf
och sedan ladda om Apache-tjänsten medservice apache2 reload
.Om du försöker komma åt webbadressen http://myhost/cgi-bin/qgis_mapserv.fcgi igen kommer du att märka att allt fungerar nu!
11.1.5. Sammanfattningsvis
Du lärde dig hur man installerar olika QGIS Server-versioner från paket, hur man konfigurerar Apache med QGIS Server, på Debian-baserade Linux-distributioner.
11.1.6. Vad händer härnäst?
Nu när du har installerat QGIS Server och den är tillgänglig via HTTP-protokollet måste vi lära oss hur man får tillgång till några av de tjänster som den kan erbjuda. Ämnet för nästa lektion är att lära sig hur man kommer åt QGIS Server WMS-tjänster.