Hospedando o aplicativo de mapeamento da web GeoServer + Openlayers na internet? [fechadas]

12

Criei um protótipo de aplicativo de mapeamento da web usando o GeoServer (executando no Tomcat como servlet), Openlayers e PostGIS. Como era um protótipo, na época, eu não me preocupava com os aspectos de hospedagem. Estava funcionando bem no meu host local (laptop): 8080.

Agora, como parte do meu trabalho, sou solicitado a desenvolver um aplicativo semelhante, mas desta vez ele precisa ir para a web, para que a pessoa x possa acessá-lo via www. A agência em que trabalho tem um site em execução, no entanto, ele deseja que seja uma coisa separada, hospedada separadamente do site.

Estas são as minhas perguntas:

  1. Quais são as etapas / opções a serem seguidas para hospedar um aplicativo de mapeamento na Web, de forma que alguém fora da intranet da agência ou, por exemplo, no meu caso, alguém que não seja o host local também possa acessá-lo? (Considerando que eu tenho um que está funcionando e acessível apenas via localhost, e agora quero que outra pessoa acesse também em sua máquina).
  2. Se sim, como posso implementar isso? Caso a agência decida tê-lo como parte de seu site no futuro.

Li aqui algumas postagens e respostas que, de alguma forma, estão relacionadas, no entanto, estou ficando confuso e espero que alguém possa ajudar a responder à minha consulta específica.

Barbara
fonte
Você teve várias respostas, mas é melhor perguntar isso em serverfault.com - a página SE para informações sobre administração do sistema. Não há nada específico para o GIS nesta questão; o pessoal lá seria mais capaz de ajudá-lo.
GIS-Jonathan
Jonathan, farei o que você sugeriu.
Barbara Barbara
Uma solução fora da banda, que eu deixo para outra pessoa entender e angariar representante, seria exportar o mapa do GeoServer para um mapa de openlayers "estáticos", que poderiam ser servidos a partir de hospedagem compartilhada genérica.
Matt Wilkie
@Barbara você conseguiu hospedar o mapa da web? se sim, como?
Ziggy

Respostas:

5

Eu tenho usado o WebFaction para hospedar o GeoServer junto com o PostGreSQL / PostGIS. Cuidado, instalar e ajustar o GeoServer em um servidor não é para os fracos de coração.

Inicialmente, para colocar meu aplicativo em funcionamento, converti minha geometria em arquivos geojson e os coloquei na estrutura de arquivos do aplicativo. Eu usei o OpenLayers, mas mudei para o Leaflet devido ao tamanho reduzido, plugins e documentos muito bons. A comunidade de suporte também é incrível.

Se os tamanhos dos arquivos de geometria forem grandes e desacelerarem o aplicativo, convém convertê-los para topojson . Eu apenas comecei a brincar com isso e parece funcionar bem.

geomajor56
fonte
Ei, geomajor56, o WebFaction é um serviço de hospedagem GIS? Como é o procedimento (aplicativo / arquivos de dados / manipulação de pastas) se você precisar usar um serviço de hospedagem GIS para hospedar seu aplicativo?
Barbara
Não é um serviço de hospedagem na web GIS, mas fornece PostGreSQL, PostGIS e todas as bibliotecas necessárias. Você precisará instalar o GeoServer como um aplicativo personalizado. Eu instalei-o dentro do Tomcat
geomajor56
Seu aplicativo permitirá a edição de geometria e atributos?
geomajor56
Geomajor, redes e hospedagem estão além de mim, então vou ter que perguntar o seguinte: como o seu aplicativo é acessível via web? Na verdade, estou baixando a documentação relevante para o WebFaction para obter algumas informações, mas agradeceria se você pudesse compartilhar sua experiência prática com seu serviço. Para começar, o aplicativo não permitirá a edição de geometrias e atributos.
Barbara
Depois de obter a tarefa de hospedagem em ordem e bem documentada para a implementação, terei que começar a trabalhar por permitir que as geometrias e os atributos sejam editáveis, mas apenas por usuários selecionados.
Barbara
3

Normalmente, nós hospedamos os Aplicativos por nós mesmos. Se você planeja fazer isso, estas são as etapas que você deve seguir:

  1. Certifique-se de não se referir a localhostou a um nome de host específico no seu código JavaScript. É melhor você usar um caminho relativo, para que ele funcione perfeitamente dentro e fora da rede.
  2. Meus aplicativos geralmente tendem a ter alguns scripts Php. Devido a isso, eu hospedo o aplicativo no Apache, executando na porta 80.
  3. Meu Geoserver é executado no Tomcat ou Jetty na porta 8080
  4. Meus aplicativos também fazem chamadas para o WFS e o GetFeatureInfo do WMS. Em vez de usar um proxy.cgi, uso o ProxyPass e o ProxyPassReverse do Apache para fazer proxy do GeoServer. Esta resposta mostrará como você pode configurar o Apache para isso.
  5. O administrador da rede configura a rede, de modo a abrir apenas a porta 80 da Internet para este sistema.
  6. Além disso, o administrador da rede geralmente configura um nome de domínio para apontar para o endereço IP desta máquina, para que os usuários não precisem digitar um endereço IP. Por exemplo, se o nome de domínio da minha empresa for:, big-corp.como administrador normalmente roteará o subdomínio webgis.big-corp.compara apontar para esse servidor. se, em vez disso, você desejar rotear big-corp.com\webgis\para este servidor, isso também poderá ser organizado, configurando o servidor principal de forma big-corp.comadequada.

Depois de fazer isso, o Aplicativo se torna acessível tanto fora da rede (por exemplo, Internet) quanto dentro da LAN interna

Devdatta Tengshe
fonte
2

Vejo as seguintes opções para sua agência:

a) Para encontrar um host GeoServer para seu aplicativo: consulte Existem empresas de hospedagem que oferecem Geoserver?

Você começará escolhendo seu plano de hospedagem, de acordo com o espaço exigido por suas informações geográficas e com o tráfego mensal esperado. (É melhor você escolher um plano básico de hospedagem e mudar posteriormente, se necessário, para um nível superior)

Além disso, você registrará um novo domínio, para garantir que os visitantes possam acessar seu aplicativo, por exemplo, geoagency.com . Você terá acesso a um painel de administração geral localizado em geoagency.com/adminpanel ou algo assim. Ao escolher um host, você deve garantir que eles forneçam no adminpanel todas as ferramentas necessárias:

  • Interface de gerenciamento Tomcat para gerenciar seus servlets
  • Interface de gerenciamento GeoServer
  • Acesso ao banco de dados PostgreSQL (geralmente feito por phpPgAdmin)
  • Ferramenta GUI shp2pgsql
  • Ferramenta de backup automático para PostgreSQL

Prós: você não interfere no site da agência. Você não precisa de equipamentos ou instalação de software / atualização de atividades difíceis adicionais. Você também beneficia de suporte técnico; lembre-se de baixar periodicamente os backups.

Contras: se você armazenar mais dados e se tiver um tráfego mensal alto, os custos de hospedagem podem ficar bastante altos.

b) A segunda opção seria hospedar seu aplicativo em um computador dentro da agência. Sim, é possível acessar o aplicativo através de um link como www.agency.com/geo ou geo.agency.com . Alguns detalhes da implementação podem ser encontrados em http://www.gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html . Um bom administrador de rede poderá seguir as explicações. Além disso, é necessário ter acesso aos registros DNS e ao roteador da agência para concluir todo o processo.

Prós: você não tem restrições de armazenamento ou restrições de tráfego e não precisa pagar a uma empresa de hospedagem. Se você já possui um administrador de rede e um computador dedicado para o seu GeoServer, este é o caminho a seguir.

Contras: Se você não possui um administrador de rede, precisa contratar um, pelo menos para o processo de implementação e, depois disso, para tarefas de manutenção e para a inevitável solução de incidentes. Você deve gastar dinheiro com o computador dedicado. Se você tem um aplicativo bem-sucedido, com muitos visitantes, pode ser necessário gastar novamente para aumentar a velocidade da banda larga da Internet.

Sorin Călinică
fonte
A agência possui um administrador de rede que retoma as funções em fevereiro ou março. Nesta fase, estou buscando informações, sugestões e dicas relevantes para poder informar novamente a gerência em nossa segunda reunião sobre opções disponíveis, considerações críticas (técnicas, financeiras e administrativas), prós e contras, custos etc. A opção (a) parece prático, como tamanho de dados inferior a 1 GB ou até 500 MB, menos trabalho etc. No entanto, eu também tentei explorar a viabilidade da opção (b). WRT o link na opção (b), os detalhes são específicos do Linux. Onde posso obter os detalhes específicos sobre o Windows?
Barbara
A opção (a) e serviços semelhantes aos fornecidos pelo WebFaction seriam boas alternativas. A necessidade de explorar a opção b é ter justificativa para a abordagem selecionada. Sorin, se eu tiver outras dúvidas, voltarei a comentar.
Barbara em
Não se preocupe com a presença do Linux na opção (b) link; se você olhar mais de perto, verá que todas as configurações necessárias estão relacionadas ao servidor Apache e ao GeoServer, independentemente do sistema operacional. Essas configurações devem ser feitas nos arquivos httpd.conf e proxy.cgi (que estão localizados na pasta de instalação do Apache). Além disso, não há necessidade de editar users.properties (ele está localizado na pasta de instalação do GeoServer) se você já tiver alterado a senha padrão do GeoServer.
Sorin Călinică
No entanto, as configurações mostradas no artigo são válidas quando o aplicativo GIS inteiro e o servidor da web da agência estão instalados na mesma máquina. Mas nem sempre é o mesmo para todas as empresas. Agora, não sei o que há no seu caso, mas se o servidor Web da agência estiver localizado no próprio computador e o Aplicativo GIS da agência estiver instalado em outro, mas ambas as máquinas estiverem localizadas na LAN da agência, no Apache ProxyPass e ProxyPassReverse diretivas, você substituirá o host local pelo IP interno do computador GIS.
Sorin Călinică
Por outro lado, se o servidor da Web estiver hospedado em um provedor externo e a máquina GIS estiver na sua LAN, você substituirá o host local pelo seu IP público (atribuído pelo seu ISP); Além disso, você precisa fazer login no roteador e encaminhar a porta 8080 para o seu computador GIS. Se você (ou seu administrador) fará essa instalação, poderá solicitar detalhes específicos.
Sorin Călinică
1

Apenas para apontar algumas coisas que podem ajudá-lo:

  1. Você pode deixar seu laptop / PC ligado para sempre, para que as pessoas possam acessar seu aplicativo sempre que quiserem (você deve ter seu ip / host / etc, etc, etc, bem configurado para isso). Isso não é "recomendado" em termos gerais, mas muitas pessoas fazem isso. Aqui está um link sobre o assunto: http://www.techsupportalert.com/how-to-set-up-your-own-web-server.htm
  2. Compre um host com recursos gis. Existem vários, eu conheço este (acho caro): http://www.hostgis.com/home/ . Experimente "gis hosting services" no google e você encontrará mais opções.
Gery
fonte
Oi Gery, vou mergulhar na opção 2. Suponho que a agência deva ter dinheiro suficiente para isso.
Barbara
@ Barbara com certeza eles devem = D, por favor, mantenha este post atualizado assim que encontrar uma boa resposta para que as pessoas possam consultá-la no futuro.
Gery
1
Gery, com certeza fará isso depois de procurar a alma. Além disso, também vou compartilhar o que realmente foi feito.
Barbara