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 till 127.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 med gedit /etc/hosts.

  • Vi kan kontrollera att myhost pekar på det lokala värddjuret genom att köra kommandot ping 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 en myhost.conf-fil i /etc/apache2/sites-available-katalogen som har samma innehåll som qgis.demo.conf förutom för ServerName-raden som ska vara ServerName 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 med service 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.