4. 플러그인

4.1. 설치

서버 검증 용 HelloWorld 예시 플러그인을 설치하려면, 먼저 서버 플러그인을 담을 디렉터리를 생성해야 합니다. 다음과 같이 가상 호스트 환경 설정에 이 디렉터리를 지정하고 환경 변수를 통해 서버에 넘겨줄 것입니다:

mkdir -p /var/www/qgis-server/plugins
cd /var/www/qgis-server/plugins
wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
unzip master.zip
mv qgis-helloserver-master HelloServer

4.2. HTTP 서버 환경 설정

4.2.1. Apache

서버 플러그인을 사용하려면, FastCGI가 어디를 찾아야 하는지 알아야 합니다. 따라서, 아파치 환경 설정 파일을 다음과 같이 수정해서 FastCGI에 QGIS_PLUGINPATH 환경 변수를 알려줘야 합니다.

FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"

이에 더해, 앞에서 소개한 HelloWorld 플러그인을 여러모로 활용하려면 기본 HTTP 인증이 필요합니다. 따라서 마지막으로 아파치 환경 설정 파일을 업데이트해야 합니다:

# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
    RewriteEngine on
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

그리고 아파치를 다음과 같이 재시작하십시오:

systemctl restart apache2

4.3. 플러그인 사용법

HelloWorld 플러그인을 통해 서버를 검증해보겠습니다:

wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
 HelloServer!

다음과 같은 주소에서 QGIS 서버의 기본 GetCapabilities 응답을 살펴볼 수 있습니다:

http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities