
Ubuntu Server 22.04に、QGIS Serverをインストールします。
記事の目次
使用する環境を確認する!
使用する環境を確認します。
$ hostnamectl
Static hostname: vmsgis21
Icon name: computer-vm
Chassis: vm
Machine ID: e18a27fbe8ac4dbcb89641f30b005d2e
Boot ID: 68b9de348cf84f0ea516901b323f91b9
Virtualization: oracle
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.15.0-84-generic
Architecture: x86-64
Hardware Vendor: innotek GmbH
Hardware Model: VirtualBox
前提パッケージをインストールする!
今回使用するUbuntu Server 22.04では、前提となるパッケージはインストール済みでした。
$ sudo apt install gnupg software-properties-common Reading package lists... Done Building dependency tree... Done Reading state information... Done gnupg is already the newest version (2.2.27-3ubuntu2.1). gnupg set to manually installed. software-properties-common is already the newest version (0.99.22.7). software-properties-common set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
QGISのリポジトリを登録する!
QGISのキーリングをダウンロードします。
$ sudo wget -O /etc/apt/keyrings/qgis-archive-keyring.gpg https://download.qgis.org/downloads/qgis-archive-keyring.gpg --2024-01-06 08:07:01-- https://download.qgis.org/downloads/qgis-archive-keyring.gpg Resolving download.qgis.org (download.qgis.org)... 104.21.71.41, 172.67.143.23, 2606:4700:3035::ac43:8f17, ... Connecting to download.qgis.org (download.qgis.org)|104.21.71.41|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1969 (1.9K) Saving to: ‘/etc/apt/keyrings/qgis-archive-keyring.gpg’ /etc/apt/keyrings/qgis-archiv 100%[=================================================>] 1.92K --.-KB/s in 0.003s 2024-01-06 08:07:02 (726 KB/s) - ‘/etc/apt/keyrings/qgis-archive-keyring.gpg’ saved [1969/1969]
QGISのリポジトリを登録します。
$ sudo cat <<EOF | sudo tee /etc/apt/sources.list.d/qgis.sources Types: deb deb-src URIs: https://qgis.org/ubuntu Suites: jammy Architectures: amd64 Components: main Signed-By: /etc/apt/keyrings/qgis-archive-keyring.gpg EOF Types: deb deb-src URIs: https://qgis.org/ubuntu Suites: jammy Architectures: amd64 Components: main Signed-By: /etc/apt/keyrings/qgis-archive-keyring.gpg
リポジトリの情報を最新化します。
$ sudo apt update
QGIS Serverをインストールする!
$ sudo apt install qgis qgis-plugin-grass qgis-server
インストール状態を確認します。
$ /usr/lib/cgi-bin/qgis_mapserv.fcgi Application path not initialized Application path not initialized Application path not initialized Application path not initialized 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. "Loading native module /usr/lib/qgis/server/libdummy.so" "Loading native module /usr/lib/qgis/server/liblandingpage.so" "Loading native module /usr/lib/qgis/server/libwcs.so" "Loading native module /usr/lib/qgis/server/libwfs.so" "Loading native module /usr/lib/qgis/server/libwfs3.so" "Loading native module /usr/lib/qgis/server/libwms.so" "Loading native module /usr/lib/qgis/server/libwmts.so" Content-Length: 0 Location: http:/index.json Server: QGIS FCGI server - QGIS version 3.34.2-Prizren Status: 302
サンプルのQGISのプロジェクトを配置する!
動作確認のためサンプルのQGISのプロジェクトを配置します。
$ sudo apt install unzip $ sudo mkdir -p /home/qgis/projects/ $ cd /home/qgis/projects/ $ sudo wget https://github.com/qgis/QGIS-Training-Data/archive/release_3.22.zip $ sudo unzip release_3.22.zip $ sudo mv QGIS-Training-Data-release_3.22/exercise_data/qgis-server-tutorial-data/world.qgs . $ sudo mv QGIS-Training-Data-release_3.22/exercise_data/qgis-server-tutorial-data/naturalearth.sqlite .
Apacheをインストールする!
QGIS Serverを動作させるWebサーバとして、Apacheをインストールします。
$ sudo apt install apache2 libapache2-mod-fcgid
仮想ホストを作成する!
QGIS Server用の仮想ホストを作成します。
sudo cat <<EOF | sudo tee /etc/apache2/sites-available/qgis.demo.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName qgis.demo
DocumentRoot /var/www/html
# Apache logs (different than QGIS Server log)
ErrorLog ${APACHE_LOG_DIR}/qgis.demo.error.log
CustomLog ${APACHE_LOG_DIR}/qgis.demo.access.log combined
# Longer timeout for WPS... default = 40
FcgidIOTimeout 120
FcgidInitialEnv LC_ALL "en_US.UTF-8"
FcgidInitialEnv PYTHONIOENCODING UTF-8
FcgidInitialEnv LANG "en_US.UTF-8"
# QGIS log
FcgidInitialEnv QGIS_SERVER_LOG_STDERR 1
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
# default QGIS project
SetEnv QGIS_PROJECT_FILE /home/qgis/projects/world.qgs
# QGIS_AUTH_DB_DIR_PATH must lead to a directory writeable by the Server's FCGI process user
FcgidInitialEnv QGIS_AUTH_DB_DIR_PATH "/home/qgis/qgisserverdb/"
FcgidInitialEnv QGIS_AUTH_PASSWORD_FILE "/home/qgis/qgisserverdb/qgis-auth.db"
# Set pg access via pg_service file
SetEnv PGSERVICEFILE /home/qgis/.pg_service.conf
FcgidInitialEnv PGPASSFILE "/home/qgis/.pgpass"
# if qgis-server is installed from packages in debian based distros this is usually /usr/lib/cgi-bin/
# run "locate qgis_mapserv.fcgi" if you don't know where qgis_mapserv.fcgi is
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews -SymLinksIfOwnerMatch
Require all granted
</Directory>
<IfModule mod_fcgid.c>
FcgidMaxRequestLen 26214400
FcgidConnectTimeout 60
</IfModule>
</VirtualHost>
EOF
仮想ホスト用のディレクトリを作成します。
$ sudo mkdir -p /var/log/qgis/ $ sudo chown www-data:www-data /var/log/qgis $ sudo mkdir -p /home/qgis/qgisserverdb $ sudo chown www-data:www-data /home/qgis/qgisserverdb
仮想ホストを有効化します。
$ sudo a2enmod fcgid $ sudo a2ensite qgis.demo $ sudo a2dissite 000-default.conf $ sudo systemctl restart apache2
QGIS Serverにアクセスするためにhostsを編集する!
QGIS Serverにアクセスするクライアント用のマシンのhostsにQGIS Serverを登録します。
XXX.XXX.XXX.XXX qgis.demo
QGISサーバにアクセスする!
以下のURLでアクセスしてみます。XMLファイルが表示されれば成功です。
http://qgis.demo/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
QGISサーバのプロジェクトにアクセスする!
以下のURLでQGISサーバのプロジェクトにアクセスしてみます。世界地図が表示されれば成功です。
http://qgis.demo/cgi-bin/qgis_mapserv.fcgi? MAP=/home/qgis/projects/world.qgs& LAYERS=countries& SERVICE=WMS& VERSION=1.3.0& REQUEST=GetMap& CRS=EPSG:4326& WIDTH=400& HEIGHT=200& BBOX=-90,-180,90,180
おわりに
Ubuntu Server 22.04を使用すると、QGISのリポジトリから容易にQGIS Serverをインストールすることができます。
関連記事
参考情報
QGIS Server - Installation on Debian-based systems


