Hosting GeoServer + Openlayers aplikacja do mapowania w Internecie? [Zamknięte]

12

Stworzyłem prototyp aplikacji do mapowania sieci za pomocą GeoServer (działającego na Tomcat jako serwlet), Openlayers i PostGIS. Ponieważ był to prototyp, w tym czasie nie zawracałem sobie głowy jego aspektami hostingowymi. Działa dobrze na moim (laptop) localhost: 8080.

Teraz w ramach mojej pracy jestem proszony o opracowanie podobnej aplikacji, ale tym razem musi ona przejść do sieci, aby osoba x mogła uzyskać do niej dostęp za pośrednictwem strony www. Agencja, w której pracuję, ma działającą stronę internetową, ale chcą, aby była to osobna odrębna strona, hostowana niezależnie od strony internetowej.

Oto moje pytania:

  1. jakie kroki / opcje należy wykonać, aby hostować aplikację do mapowania w sieci, tak aby ktoś spoza intranetu agencji lub np. w moim przypadku ktoś inny niż host lokalny również mógł uzyskać do niej dostęp? (Biorąc pod uwagę, że mam taki, który działa i jest dostępny tylko przez localhost, a teraz chcę, aby ktoś inny miał do niego dostęp również na ich komputerze).
  2. Jeśli tak, jak mogę to zaimplementować? W przypadku, gdy agencja postanowi w przyszłości mieć to jako część swojej strony internetowej.

Przeczytałem tutaj kilka postów i odpowiedzi, które są w jakiś sposób powiązane, jednak jestem zdezorientowany, więc mam nadzieję, że ktoś może pomóc odpowiedzieć na moje konkretne zapytanie.

Barbara
źródło
Masz kilka odpowiedzi, ale lepiej jest zapytać o to na serverfault.com - stronie SE dla administratorów systemu. W tym pytaniu nie ma nic specyficznego dla GIS; tamtejsi ludzie mogliby lepiej ci pomóc.
GIS-Jonathan
Jonathan, zrobię to, co zasugerowałeś.
Barbara
Rozwiązaniem pozapasmowym, które pozostawiam komuś innemu, a potem przedstawicielowi, byłoby wyeksportowanie mapy GeoServer do „statycznej” mapy openlayers, która mogłaby być obsługiwana z ogólnego wspólnego hostingu.
matt wilkie
@Barbara, czy byłeś w stanie hostować mapę internetową? jeśli tak to jak?
ziggy

Odpowiedzi:

5

Używam WebFaction do hostowania GeoServera wraz z PostGreSQL / PostGIS. Uważaj, instalowanie i poprawianie GeoServer na serwerze nie jest dla osób o słabym sercu.

Początkowo, aby uruchomić aplikację, przekonwertowałem geometrię na pliki geojson i umieściłem je w strukturze plików aplikacji. Korzystałem z OpenLayers, ale przerzuciłem się na Leaflet ze względu na małą powierzchnię, bardzo ładne wtyczki i dokumenty. Społeczność wsparcia jest również niesamowita.

Jeśli rozmiary plików geometrii są duże i spowalniają aplikację, możesz rozważyć ich konwersję do topojson . Właśnie zacząłem się z tym bawić i wydaje się, że działa dobrze.

geomajor56
źródło
Hej geomajor56, więc WebFaction jest usługą hostingową GIS? Jaka jest procedura (obsługa aplikacji / plików danych / folderów), jeśli musisz korzystać z usługi hostingowej GIS do hostowania aplikacji?
Barbara
To nie jest usługa hostingowa GIS, ale dostarcza PostGreSQL, PostGIS i wszystkie niezbędne biblioteki. Musisz samodzielnie zainstalować GeoServer jako aplikację niestandardową. Zainstalowałem go w Tomcat
geomajor56
Czy Twoja aplikacja pozwoli na edycję geometrii i atrybutów?
geomajor56
Geomajor, networking i hosting są poza mną, więc muszę zapytać: w jaki sposób twoja aplikacja jest dostępna przez Internet? W rzeczywistości pobieram odpowiednią dokumentację dla WebFaction, aby uzyskać wgląd w nią, ale byłbym wdzięczny, jeśli możesz podzielić się swoimi praktycznymi doświadczeniami z jej obsługą. Na początek aplikacja nie pozwala na edycję geometrii i atrybutów.
Barbara
Kiedy dostanę zadanie hostingu w porządku i dobrze udokumentowane do wdrożenia, nie będę musiał zaczynać pracy od umożliwienia edycji geometrii i atrybutów, ale tylko przez wybranych użytkowników.
Barbara
3

Zwykle sami hostujemy aplikacje. Jeśli planujesz to zrobić, wykonaj następujące czynności:

  1. Upewnij się, że localhostw kodzie JavaScript nie ma odniesienia do konkretnej nazwy hosta. Najlepiej jest użyć ścieżki względnej, aby działała bezproblemowo zarówno w sieci, jak i poza nią.
  2. Moje aplikacje zwykle mają niektóre skrypty php. Z tego powodu hostuję aplikację w Apache, działającą na porcie 80.
  3. Mój Geoserver działa w Tomcat lub Jetty na porcie 8080
  4. Moje aplikacje wykonują również połączenia do WFS i GetFeatureInfo WMS. Zamiast używać proxy.cgi, używam Apache ProxyPass i ProxyPassReverse do proxy do GeoServer. Ta odpowiedź powie Ci, jak skonfigurować w tym celu Apache.
  5. Administrator sieci konfiguruje sieć, tak aby otworzyć tylko port 80 z Internetu do tego systemu.
  6. Ponadto administrator sieci zwykle konfiguruje nazwę domeny, aby wskazywała adres IP tego urządzenia, aby użytkownicy nie musieli wprowadzać adresu IP. Na przykład, jeśli nazwa domeny mojej firmy to:, big-corp.comAdministrator zwykle kieruje subdomenę, webgis.big-corp.comaby wskazywała na ten serwer. jeśli zamiast tego chcesz trasować big-corp.com\webgis\do tego serwera, to też można zorganizować, odpowiednio konfigurując główny serwer big-corp.com.

Po wykonaniu tej czynności aplikacja staje się dostępna zarówno z zewnątrz sieci (tj. Internetu), jak i wewnętrznej sieci LAN

Devdatta Tengshe
źródło
2

Widzę następujące opcje dla Twojej agencji:

a) Aby znaleźć hosta GeoServer dla swojej aplikacji: patrz Czy są jakieś firmy hostingowe, które oferują Geoserver?

Zaczniesz od wybrania planu hostingowego, zgodnie z przestrzenią wymaganą przez informacje geograficzne i oczekiwanym miesięcznym ruchem. (Lepiej jest wybrać podstawowy plan hostingowy i w razie potrzeby przejść później na wyższy poziom)

Ponadto zarejestrujesz nową domenę, aby zapewnić odwiedzającym dostęp do Twojej aplikacji, np . Geoagency.com . Otrzymasz dostęp do ogólnego panelu administracyjnego znajdującego się na stronie geoagency.com/adminpanel lub czegoś podobnego. Wybierając hosta, musisz upewnić się, że zapewnia on w panelu administracyjnym wszystkie niezbędne narzędzia:

  • Interfejs zarządzania Tomcat do zarządzania serwletami
  • Interfejs zarządzania GeoServer
  • Dostęp do bazy danych PostgreSQL (zwykle wykonywany przez phpPgAdmin)
  • Narzędzie GUI shp2pgsql
  • Automatyczne narzędzie do tworzenia kopii zapasowych PostgreSQL

Plusy: Nie ingerujesz w stronę agencji. Nie potrzebujesz dodatkowego sprzętu ani instalacji / aktualizacji oprogramowania trudnych czynności. Korzystasz również z pomocy technicznej; pamiętasz tylko, aby okresowo pobierać kopie zapasowe.

Minusy: jeśli przechowujesz więcej danych i masz duży miesięczny ruch, koszty hostingu mogą stać się dość wysokie.

b) Drugą opcją byłoby hostowanie Twojej aplikacji na komputerze w agencji. Tak, można uzyskać dostęp do aplikacji za pośrednictwem łącza takiego jak www.agency.com/geo lub geo.agency.com . Niektóre szczegóły implementacji można znaleźć na stronie http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Dobry administrator sieci będzie w stanie postępować zgodnie z objaśnieniami. Konieczny jest także dostęp do rekordów DNS i routera agencji, aby ukończyć cały proces.

Plusy: Nie masz ograniczeń dotyczących przechowywania ani ograniczeń ruchu i nie musisz płacić firmie hostingowej. Jeśli masz już administratora sieci i komputer dedykowany dla swojego GeoServera, jest to odpowiedni sposób.

Wady: jeśli nie masz administratora sieci, musisz go zatrudnić, przynajmniej do procesu wdrażania, a następnie do zadań konserwacyjnych i do nieuniknionego rozwiązywania incydentów. Musisz wydać pieniądze na dedykowany komputer. Jeśli masz udaną aplikację, z dużą liczbą odwiedzających, być może będziesz musiał wydać ponownie, aby zwiększyć prędkość Internetu szerokopasmowego.

Sorin Călinică
źródło
Agencja ma administratora sieci, który wznowi obowiązki w lutym lub marcu. Na tym etapie szukam odpowiednich informacji, sugestii i wskazówek, dzięki czemu mogę ponownie poinformować kierownictwo na drugim spotkaniu o dostępnych opcjach, krytycznych względach (technicznych, finansowych i administracyjnych), zaletach i wadach oraz kosztach itp. Opcja (a) wygląda praktyczne, ponieważ rozmiar danych jest mniejszy niż 1 GB, a nawet 500 MB, mniej pracy itp. Jednak postanowiłem również zbadać wykonalność opcji (b). WRT link w opcji (b), szczegóły są specyficzne dla Linuksa. Gdzie mogę uzyskać szczegółowe informacje na ten temat w systemie Windows?
Barbara
Opcja (a) i usługi podobne do tych oferowanych przez WebFaction byłyby dobrą alternatywą. Koniecznością zbadania opcji b jest jednak uzasadnienie dla wybranego podejścia. Sorin, jeśli będę miał dalsze pytania, skomentuję je ponownie.
Barbara
Nie martw się o obecność Linuksa pod linkiem opcja (b); jeśli przyjrzysz się bliżej, zobaczysz, że wszystkie niezbędne ustawienia są powiązane z serwerem Apache i GeoServer, niezależnie od systemu operacyjnego. Te ustawienia należy wprowadzić w plikach httpd.conf i proxy.cgi (które znajdują się w folderze instalacyjnym Apache). Ponadto nie ma potrzeby edytowania pliku users.properties (znajduje się w folderze instalacyjnym GeoServer), jeśli zmieniono już domyślne hasło GeoServer.
Sorin Călinică
Jednak ustawienia pokazane w tym artykule są ważne, gdy cała aplikacja GIS i serwer internetowy agencji są zainstalowane na tym samym komputerze. Ale nie zawsze jest tak samo dla wszystkich firm. Teraz nie wiem, co jest w twoim przypadku, ale jeśli serwer agencji znajduje się na jego własnym komputerze, a aplikacja GIS agencji jest zainstalowana na innym, ale oba komputery znajdują się w sieci LAN agencji, w Apache ProxyPass i ProxyPassReverse dyrektywy zastąpisz localhost wewnętrznym adresem IP komputera GIS.
Sorin Călinică
Z drugiej strony, jeśli serwer sieciowy jest obsługiwany przez zewnętrznego dostawcę, a maszyna GIS znajduje się w twojej sieci LAN, to zastąpisz localhost swoim publicznym adresem IP (przypisanym przez twojego dostawcę usług internetowych); musisz także zalogować się do routera i przekierować port 8080 na komputer GIS. Jeśli ty (lub administrator) kiedykolwiek wykonasz tę instalację, możesz poprosić o szczegółowe informacje.
Sorin Călinică
1

Wystarczy wskazać kilka rzeczy, które mogą ci pomóc:

  1. Możesz pozwolić laptopowi / komputerowi włączać się na zawsze, aby ludzie mogli uzyskać dostęp do Twojej aplikacji, kiedy tylko chcą (powinieneś mieć odpowiednio skonfigurowany adres IP / host / itp. Itp.). Nie jest to ogólnie „zalecane”, ale robi to wiele osób. Oto link na ten temat: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Kup hosta z funkcjami gis. Istnieje kilka, znam ten (choć uważam, że jest drogi): http://www.hostgis.com/home/ . Wypróbuj „usługi hostingowe gis” w Google, a znajdziesz więcej opcji.
Gery
źródło
Cześć Gery, źle nurkuję w opcji nr 2. Zakładam, że agencja powinna mieć na to dość ciasta.
Barbara
@Barbara na pewno powinni = D. Proszę o aktualizację tego postu, gdy znajdziesz dobrą odpowiedź, aby ludzie mogli się do niej odwoływać w przyszłości.
Gery
1
Gery, na pewno zrobi to po poszukiwaniu duszy. Nie tylko to, ale również podzielę się tym, co faktycznie zostało zrobione.
Barbara