I denna avslutande återblick på hur man kan använda öppen källkod för att bygga en IT-lösning för geosupport så tänkte jag komplettera OpenGeo Suite installationen med QGIS Server.
Planen var att på samma server som tidigare lägga till nödvändiga komponenter för att enkelt (-ish) skapa snyggare kartor än vad som är möjligt med Boundless lösningar. Detta är dock lite problematiskt eftersom OpenGeo Suite använder en version av GDAL, skapad av Boundless, som inte är kompatibel med den vanliga GDAL som används av QGIS. Lösningen är att installera QGIS Server på en egen server i stället. Däremot så skall man kunna använda GeoServer, GeoExplorer, QGIS plug-in med mera för att hantera och skapa webbtjänster via den tidigare servern.
sudo su - apt-key adv --keyserver keyserver.ubuntu.com --recv-key 3FF5FFCAD71472C4 echo "deb http://qgis.org/debian trusty main" >> /etc/apt/sources.list.d/qgis.list echo "deb-src http://qgis.org/debian trusty main" >> /etc/apt/sources.list.d/qgis.list apt-get update apt-get install apache2 apt-get install libapache2-mod-fcgid apt-get install qgis-server python-qgis qgis-plugin-grass apt-get install libapache2-mod-wsgi python-psycopg2 python-webob a2enmod cgid service apache2 restart
För att testa så kan man skriva in nedanstående i en webbläsare (byt ut server mot din egen server).
http://server/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
Om allt fungerat så bör du få ett XML svar i webbläsaren som i sig inte säger så mycket, men är ett tecken på att det fungerat.
För att kunna rendera QGIS projekt och publicera dessa som WMS tjänster så måste servern också kunna läsa QGIS projektfiler. För att servern skall kunna det så behöver den kunna hänvisa till dessa projektfiler och det enklaste jag kommit på är att skapa en filserver på servern med samba och en utdelad katalog där man kan spara QGIS projekt.
apt-get install samba samba-common python-glade2 system-config-samba mkdir /qgis chmod 775 /qgis/
Koden 775 ovan innebär att ”gäster” kan läsa men inte skriva till katalogen. Om du har bråttom och inte skapar användare här så kan du tillfälligt använda 777 i stället. Detta öppnar dock upp för vem som helst att komma åt katalogen med fullständiga rättigheter.
Sedan skall den skapade katalogen konfigureras för utdelning och det görs i filen /etc/samba/smb.conf. Det enda som behöver stå i filen är:
#============= Globala Inställningar =========== [global] workgroup = WORKGROUP server string = Samba Server %v netbios name = qgisserver security = user unix password sync = yes map to guest = bad user dns proxy = no #============ Delade Kataloger =========== [qgis] path = /qgis browsable = yes writable = yes guest ok = yes read only = no
Observera att jag nu inte har varit särskilt restriktiv till vem som kan ansluta och komma åt denna utdelade katalog. Skall du använda denna lösning i en produktionsmiljö så måste du se över säkerheten i mera detalj.
Starta om samba servern med:
service samba restart
Projekt som innehåller data från tillgängliga källor på nätet kan nu anropas som WMS tjänst med url:
http://server/cgi-bin/qgis_mapserv.fcgi?VERSION=1.3.0&map=/qgis/projektnamn.qgs
Du får byta ut ”server” och ”projektnamn” mot något som stämmer för dig.
Det är lite klurigt att få denna WMS källa att fungera direkt med exempelvis GeoExplorer tidigare, men jag har inga problem att lägga till WMS-adresserna som ”Stores” i GeoServer (http://server:8080/geoserver), och sedan plocka upp dem i GeoExplorer.
Jag vet inte riktigt varför denna omväg fungerar och inte WMS direkt och jag har inte tid att titta närmare på det nu.
Sammanfattning
Då har jag i huvudsak installerat OpenGeo Suite från Boundless, vilket är en ganska komplett svit med applikationer för geosupport på kontor och webb. Lägger man till QGIS och de plugin som Boundless utvecklat så blir det riktigt bra.
Lägger man lite extra tid på att dessutom sätta upp en QGIS Server så blir det mycket enklare att skapa kartor med exakt det där utseendet man vill ha baserat på QGIS mycket kraftfulla stilhantering.
Allt detta baserat på samma data och med genomtänkta säkerhetsspärrar så kan såväl administratörer, normalanvändare, inhämtare och besökare komma åt samma data och ingen dubbellagring är nödvändig.
När jag får tid över så skall jag titta lite närmare på QGIS Server och Boundless när det gäller deras användning av GDAL.
Jag vill dessutom reda ut varför WMS från QGIS Server presenteras så olika beroende på vilken applikation som läser dessa data.
Kommer jag på lösningar så kanske jag återkommer på bloggen om det, och då kanske även ett uppdaterat installationsskript som löser allt arbete åt dig kan presenteras. Det han jag inte med den här gången.
Jämfört med tidigare så är det en del steg som ändrats. Exempelvis har installationen av PostGIS databasen blivit enklare. De gamla instruktionerna under ”Testa själv” är dock inte helt oanvändbara. Skall du sätta upp en egen server så tycker jag du kan titta igenom både dessa lite äldre versionerna och dessa nyare. Här har jag dessutom hoppat över en del som togs upp tidigare.
Lycka till