중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 에서 번역되고 있습니다.

5. 플러그인

5.1. 플러그인 목록

QGIS 서버 상에 플러그인도 설치할 수 있습니다.

공식 QGIS 저장소 에서 서버 용으로 설계된 몇몇 플러그인을 찾아볼 수 있습니다.

사용자 자신의 목적에 필요한 플러그인만 설치하십시오. QGIS 서버 상에서 플러그인이란 마치 QGIS 서버를 지배하는 것과 같아서 QGIS 서버의 입력물이나 산출물을 변경시킬 수 있습니다. 사용자가 플러그인의 작동 방식을 정확히 모르는 경우 예상하지 못 한 결과를 낼 수도 있습니다. 사용자에게 어떤 플러그인이 유용할지 알아보려면 각 플러그인의 문서 또는 QGIS 서버 플러그인을 필요로 하는 응용 프로그램을 참조하세요.

5.2. 플러그인 위치

기본적으로 데비안 기반 시스템 상에서 QGIS 서버는 /usr/lib/qgis/plugins 에 있는 플러그인을 검색할 것입니다. QGIS 서버 구동 시 로그에 기본값을 출력합니다. 웹 서버 환경설정에서 QGIS_PLUGINPATH 환경 변수를 정의해서 사용자 지정 경로를 설정할 수도 있습니다.

5.3. 설치

5.3.1. ZIP 압축 파일로 직접 설치

예를 들어 서버 검증 용 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

경고

HelloServer 플러그인의 설명 에 따르면, 이 플러그인은 개발 및 데모 목적으로 설계되었습니다. 맵 제작에 필요하지 않다면 이 플러그인을 삭제하는 편이 좋습니다.

5.3.2. 명령줄 도구로 설치

QGIS 플러그인 저장소에 저장되어 있는 플러그인을 설치하고 정기적으로 업그레이드해야 하는 경우, QGIS-Plugin-Manager 를 이용할 수도 있습니다. QGIS 플러그인 관리자는 명령줄에서 플러그인을 관리할 수 있게 도와주는 도구입니다.

pip 을 이용해서 설치합니다. 가상 환경에 pip을 설치하는 것은 훌륭한 관습이지만 필수는 아닙니다:

pip3 install qgis-plugin-manager

이 도구를 업그레이드하려면:

pip3 install --upgrade qgis-plugin-manager

그 다음, 명령줄에서 qgis-plugin-manager 실행 파일을 이용할 수 있습니다:

cd /var/www/qgis-server/plugins
qgis-plugin-manager list

QGIS server version 3.19.0
List all plugins in /var/www/qgis-server/plugins

------------------------------------------------------------------------------------------------------------------------------------------------------------
|  Folder                    |  Name              |  Version  |  Experimental  |  QGIS min  |  QGIS max  |  Author                    |  Action           |
------------------------------------------------------------------------------------------------------------------------------------------------------------
|wfsOutputExtension          |wfsOutputExtension  |1.6.2      |                |3.0         |            |3Liz                        |                    |
|qgis_server_render_geojson  |GeoJson Renderer    |v0.4       |                |3.4         |            |Matthias Kuhn (OPENGIS.ch)  |                    |
|DataPlotly                  |Data Plotly         |3.7.1      |                |3.4         |3.98        |Matteo Ghetta (Faunalia)    |Upgrade to 3.8.1    |
------------------------------------------------------------------------------------------------------------------------------------------------------------

이 도구로 플러그인을 설치하거나 업그레이드하는 방법을 알고 싶다면 README 파일 에 있는 완전한 문서를 읽어볼 것을 권장합니다.

5.4. HTTP 서버 환경 설정

5.4.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

5.5. 플러그인 사용법

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