11.1. Lesson: QGISサーバーをインストールする

The goal for this lesson: To learn how to install QGIS Server on Debian Stretch. With negligible variations you can also follow it for any Debian based distribution like Ubuntu and its derivatives.

注釈

In Ubuntu you can use your regular user, prepending sudo to commands requiring admin permissions. In Debian you can work as admin (root), without using sudo.

11.1.1. moderate Follow Along: パッケージからインストールする

In this lesson we're going to do only the install from packages as shown here .

QGISサーバーを以下でインストールします:

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

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

QGIS Server should be used in production without QGIS Desktop (with the accompanying X Server) installed on the same machine.

11.1.2. moderate Follow Along: QGISサーバー実行可能ファイル

QGISサーバー実行可能ファイルは、 qgis_mapserv.fcgi です。 /usr/lib/cgi-bin/qgis_mapserv.fcgi のような何かを出力する find / -name 'qgis_mapserv.fcgi' を実行して、どこにインストールされたかを確認できます。

この時点では、コマンドラインのテストを行いたい場合は、オプションで /usr/lib/cgi-bin/qgis_mapserv.fcgi コマンドを実行できます、出力は何かこのようなはずである:

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>

これは良いことです、私たちがサポートされているサービスを求めていないことをサーバーが言っているので、私たちが正しい軌道にいると告げています。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.

注釈

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: 別の仮想ホストを作成

QGISサーバーを指す別のApacheの仮想ホストを作成してみましょう。好きな名前を選択できます( coco.bangosuper.duper.trainingexample.com、など)が、単純化のために myhost を使用するつもりです。

  • Let's set up the myhost name to point to the localhost IP by adding 127.0.0.1 x to the /etc/hosts with the following command: sh -c "echo '127.0.0.1 myhost' >> /etc/hosts" or by manually editing the file with gedit /etc/hosts.

  • ターミナルで ping myhost コマンドを実行することによって、 myhost がlocalhostを指していることを確認できます。

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
  • curl http://myhost/cgi-bin/qgis_mapserv.fcgi したり、DebianのボックスブラウザからURLにアクセスすることによって、 myhost サイトからQGISサーバーにアクセスできるかどうか試してみましょう。おそらく得られるのは:

<!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>
  • Apache doesn't know that he's supposed to answer requests pointing to the server named myhost. In order to setup the virtual host the simplest way would be to make a myhost.conf file in the /etc/apache2/sites-available directory that has the same content as qgis.demo.conf except for the ServerName line that should be ServerName myhost. You could also change where the logs go as otherwise the logs for the two virtual hosts would be shared but this is optional.

  • Let's now enable the virtual host with a2ensite myhost.conf and then reload the Apache service with service apache2 reload.

  • 再度 http://myhost/cgi-bin/qgis_mapserv.fcgi URLにアクセスするために試してみると、すべてが今稼働していることに気づくでしょう!

11.1.5. In Conclusion

DebianベースのLinuxディストリビューション上で、QGISサーバーでApacheを設定する方法を、パッケージから異なるQGISサーバーのバージョンをインストールする方法を学びました。

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.