11.1. Lesson: Instalar o Servidor QGIS

O objetivo desta lição: Para aprender a instalar o Servidor QGIS no Debian Stretch. Com pequenas variações, você também pode segui-lo para qualquer distribuição baseada no Debian como o Ubuntu e seus derivados.

Nota

No Ubuntu, você pode usar seu usuário comum, acrescentando sudo aos comandos que requerem permissões de administrador. No Debian você pode trabalhar como administrador (root), sem usar sudo.

11.1.1. moderate Follow Along: Install from packages

Nesta lição, faremos apenas a instalação dos pacotes, como mostrado aqui.

Instale o Servidor QGIS com:

apt install qgis-server --no-install-recommends --no-install-suggests

# if you want to install server plugins, also:
apt install python-qgis

O Servidor QGIS deve ser usado na produção sem o QGIS Desktop (com o Servidor X que acompanha) instalado na mesma máquina.

11.1.2. moderate Follow Along: Servidor QGIS Executável

O executável do Servidor QGIS é qgis_mapserv.fcgi. Você pode verificar onde foi instalado executando find / -name 'qgis_mapserv.fcgi'', que deve gerar algo como ``/usr/lib/cgi-bin/qgis_mapserv.fcgi.

Opcionalmente, se você quiser fazer um teste de linha de comando no momento, poderá executar o comando /usr/lib/cgi-bin/qgis_mapserv.fcgi, que deve gerar algo como:

QFSFileEngine::open: No file name specified
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver ECW to unload from GDAL_SKIP environment variable.
Warning 1: Unable to find driver JP2ECW to unload from GDAL_SKIP environment variable.
Content-Length: 206
Content-Type: text/xml; charset=utf-8

<ServiceExceptionReport version="1.3.0" xmlns="https://www.opengis.net/ogc">
 <ServiceException code="Service configuration error">Service unknown or unsupported</ServiceException>
</ServiceExceptionReport>

Isso é bom, pois ele diz que estamos no caminho certo, pois o servidor está dizendo que não solicitamos um serviço suportado. Veremos mais adiante como fazer solicitações WMS.

11.1.3. hard HTTP Server Configuration

In order to access on the installed QGIS server from an Internet Browser we need to use an HTTP server. The Apache HTTP Server installation process is detailed in Apache HTTP Server section.

Nota

If you installed QGIS Server without running an X Server (included in Linux Desktop) and if you also want to use the GetPrint command then you should install a fake X Server and tell QGIS Server to use it. You can do that by following the Xvfb installation process.

11.1.4. moderate Follow Along: Create another virtual host

Vamos criar outro host virtual Apache apontando para o Servidor QGIS. Você pode escolher o nome que quiser (coco.bango, super.duper.training, example.com etc.), mas por uma questão de simplicidade, usaremos myhost.

  • Vamos configurar o nome myhost para apontar para o IP do host local adicionando 127.0.0.1 x ao /etc/hosts com o seguinte comando: sh -c "echo ' 127.0.0.1 myhost' >> /etc/hosts" ou editando manualmente o arquivo com gedit /etc/hosts.

  • Podemos verificar que myhost aponta para o localhost executando no terminal o comando ping myhost que deve gerar:

[email protected]:~$ ping myhost
PING myhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.029 ms
  • Vamos descobrir se podemos acessar o Servidor QGIS no site myhost fazendo: curl http://myhost/cgi-bin/qgis_mapserv.fcgi ou acessando a URL no navegador de caixa Debian. Você provavelmente uma resposta assim:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/qgis_mapserv.fcgi was not found on this server.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at myhost Port 80</address>
</body></html>
  • O Apache não sabe que ele deveria responder solicitações apontando para o servidor chamado myhost. Para configurar o host virtual, a maneira mais simples seria criar um arquivo myhost.conf no diretório /etc/apache2/sites-available que tenha o mesmo conteúdo que qgis .demo.conf, exceto a linha ServerName que deve ser ServerName myhost. Você também pode alterar para onde os logs vão, caso contrário, os logs dos dois hosts virtuais seriam compartilhados, mas isso é opcional.

  • Vamos agora ativar o host virtual com a2ensite myhost.conf e recarregar o serviço Apache com service apache2 reload.

  • Se você tentar acessar novamente o URL http://myhost/cgi-bin/qgis_mapserv.fcgi, notará que tudo está funcionando agora!

11.1.5. In Conclusion

Você aprendeu como instalar versões diferentes do Servidor QGIS a partir de pacotes, como configurar o Apache com o Servidor QGIS, nas distribuições Linux baseadas no Debian.

11.1.6. What’s Next?

Now that you’ve installed QGIS Server and it’s accessible through the HTTP protocol, we need to learn how to access some of the services it can offer. The topic of the next lesson is to learn how to access QGIS Server WMS services.