Detta är en uppdatering av ett tidigare inlägg där jag försökte skapa ett ”komplett” system för att hantera geografisk information och kartor för GIS och webb.
Den här gången så går jag inte in på detaljer när det gäller installationen utan använder mitt skript för installation på Ubuntu Server 12.04 LTS, så vill du testa så är det där du skall börja. Jag installerar en virtuell server med Oracle VM VirtualBox på en Windows 7 klient (64-bit), men det går precis lika bra att installera på en fysisk dator om så önskas.
Jag har valt Windows på klienten för att det blir lite enklare att hantera filer i nätverk med QGIS för användarna, och det är ju klart vanligast med Windows som klient i de flesta nätverk.
När servern är grundinstallerad (defaultinställningar för det mesta och eget val för datornamn och användare) så kör jag mitt skript:
sudo su
wget http://geosupport.kvarnarp.eksjo.com/files/geosupport.sh
sh opengeo.sh
När skriptet kör så väljer jag defaultvärden för OpenGeo Suite samt att installera PostGIS. Jag lägger även till Drupal (CMS) och QGIS-Server, men inte Nuxeo (DMS).
Skriv ner information om datornamn, IP-adress, extra instruktioner och liknande medan skriptet kör. När det står viktig information på skärmen så pausar skriptet och väntar på att du skall göra något så var inte orolig för att texten rullar på för fort. Det som måste fixas är lösenord för postgres-användaren och din användare för Samba fildelning i nätverket. Instruktioner för hur detta går till får man i skriptet. Det sista som jag gör efter installationen är att starta om servern (för säkerhets skull):
reboot
Konfigurera Drupal
Använd en webbläsare och skriv in IP-adressen till servern. Då skall du få upp ett webbgränssnitt för att konfigurera klart din webbserver.
Det är nu du skall använda det lösenord som du skapat för postgres användaren i PostgreSQL (databas: drupal, användare: postgres, lösenord: *******). När detta är klart så skall du bara ändra tillbaka rättigheterna till konfigurationsfilerna på servern:
chmod a-w /var/www/sites/default/
chmod a-w /var/www/sites/default/settings.php
Skapa karta (Steg 1)
I QGIS på klienten så skapar jag min karta som jag vill att den skall se ut. Data måste vara tillgängligt från servern så i mitt exempel använder jag PostGis data från Medford exemplet som följer med GeoServer. Projektfilen från QGIS sparar jag på den delade resursen ”QGIS” på servern.
Nu går det att komma åt kartan via WMS på adressen: http://Server-IP/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities. Om du skriver in adressen i en webbläsare så skall du få upp dit QGIS-projekt som ett lager i XML-texten. Om detta fungerar så är nu ”tjänsten” publicerad.
In i systemet (Steg 2)
Det går redan nu att använda den skapade tjänsten med OpenLayers, men då blir det till att skriva lite kod själv. Jag går i stället igenom det ”lata” alternativet.
I Geoserver (http://Server-IP:8080/geoserver) så skapas ett nytt workspace, jag döper mitt till ”Geosupport”. Därefter läggs en ny ”Store” till som pekar på QGIS-Server (WMS adressen från steg 1). Det finns flera lager i tjänsten (ett för varje lager i QGIS och ett för hela projektet), men jag väljer det för hela projektet att publisera. På så sätt så kan jag faktiskt lägga till mer data i fler lager och få dessa publiserade i tjänsten utan att behöva upprepa detta och nästa steg. Det räcker att projektfilen från steg 1 ovan redigeras.
Skapa webbkartan (Steg 3)
I GeoExplorer (http://Server-IP:8080/geoexplorer) så skapar jag en karta med de bakgrundskartor jag vill ha med, samt lägger till den i steg 2 skapade ”Geosupport” tjänsten från den lokala Geoservern. Sedan är det bara att Exportera kartan och kopiera den rad med HTML kod som visas.
Koden klistras sedan in i en ny sida i Drupal och sim-sala-bim så har man sin karta på hemsidan.
Problem på vägen
Det är många tjänster som körs samtidigt så det är mycket som kan gå fel. En dedikerad server är nog bättre än en virtuell.
WMS tjänsten på Geoserver cachar lagerna, vilket i sig kan ta lite tid, men som även kan göra att uppdateringar i QGIS projektet kan ta lite tid innan de slår igenom, men det är inga större problem.
Projekt skapade med QGIS-1.8 fungerar inte… Men om man använder 1.9 (utvecklingsversionen) så fungerar det bra.