Det var ett tag sedan, men nu tänkte jag testa igen, att installera QGIS Server. Är det enklare, mer användbart, eller…
Jag följer instruktionerna på https://docs.qgis.org/3.10/en/docs/training_manual/qgis_server/ så här beskriver jag inte detaljerna speciellt noga.
sudo apt install qgis-server
Är bara programbiblioteken uppdaterade så är installationen i grunden inte svårare än så… Nåja, lite till behöver man göra. Servern körs redan (kontrollera genom att köra /usr/lib/cgi-bin/qgis_mapserv.fcgi
), men för att kunna anropa via url och kanske en webbläsare, så behövs en HTTP Server.
sudo apt install apache2 libapache2-mod-fcgid
Med hjälp av instruktionerna skapas en ”virtual host” med en testkonfiguration. Kataloger för loggar och logindatabaser skapas och HTTP-servern startas om. Jag kör på en dator med skrivbordsmiljö, men om man inte gör det så finns det instruktioner för hur man lägger till en simulerad skrivbordsmiljö, vilket behövs om man exempelvis vill kunna generera utskrifter från QGIS Server.
Något att tänka på är att konfigurationsfilen pekar på en projektfil som du kanske inte har, och att denna har *.qgs som projektformat. Normalt när man sparar projekt i QGIS är *.qgz.
Även en webbläsare kan användas för att testa om man får rimligt svar från servern. Om man vill så kan man alltid peka servern på ett valfritt QGIS projekt sparat på datorn med ?map=/sökväg/till/projekt.qgs.qgz.
En liten påminnelse dock…
QGIS Server måste kunna komma åt sökvägen där såväl projektet är sparat, som de data som projektet pekar på. Om projektet inte kan kommas åt så blir svaret på url-frågan ”Project file error”, och om något lager har data som inte kan kommas åt så blir svaret ”Layer(s) not valid”.
För att slutligen testa att det fungerar så kan man ju alltid lägga till WMS servern i QGIS och lägga till det publicerade lagret i kartan.
Japp, det fungerar! Är det enkelt? Nja… Rent tekniskt så är det inte så svårt att komma så här långt. Men felsökning är ganska krånglig och det är mycket att tänka på för att det skall fungera. WMS servern är ju sedan just bara det, en WMS server. Vill man titta på dessa data så behöver man en klient. Det kan som i det här fallet vara QGIS, men skulle också kunna vara en webbkarta baserad på OpenLayers eller Leaflet (exempelvis). Är man sedan lite äventyrlig så kan man också installera QGIS WebClient, som ger ganska många möjligheter att hantera ett QGIS projekt i en webbkarta.
Vi är ganska långt ifrån ”högerklick, publicera”, men alla byggstenarna finns och det finns tjänster som gör just detta möjligt. Vill man bygga upp ett eget system för att publicera kartor på webben och är beredd att jobba lite så är QGIS Server däremot en möjlighet. Tänk efter lite först hur data och projekt skall hanteras. Sätt exempelvis upp dedikerade servrar för HTTP och PostGIS. Fundera till på användarbehörigheter och access. Sedan är det inte så avancerat att se till att man kan ha ett antal webbtjänster med kartor som man har full koll på och kan hålla uppdaterade via QGIS.
Jag skall nog kolla vidare på QGIS Server och det som finns runt omkring lite längre fram.
How can I do the same in windows? please I would like some idea. Thank you.
You can use the OSGeo4W installer for that. Please remember to install both client and server as one cannot for some reason install the server standalone without errors on windows.