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. 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. 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. 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. 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 adicionando127.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 comgedit /etc/hosts
.Podemos verificar que
myhost
aponta para o localhost executando no terminal o comandoping myhost
que deve gerar:
qgis@qgis:~$ 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 arquivomyhost.conf
no diretório/etc/apache2/sites-available
que tenha o mesmo conteúdo queqgis .demo.conf
, exceto a linhaServerName
que deve serServerName 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 comservice 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.