GnuPG를 php에서 사용 시

GnuPG를 php에서 사용 시 설치해야 할 패키지 입니다.
테스트는 Ubuntu 13.04 에서 실시하였습니다.

먼저 Apache와 php를 설치합니다. 그리고 GnuPG 관련 패키지를 설치합니다.

jjoon@ubuntu:~$ sudo apt-get install apache2 php5-dev php5
jjoon@ubuntu:~$ sudo apt-get install gnupg libgpgme11-dev libgpg-error-dev libassuan-dev

다음 pecl을 통해 php 확장 모듈을 설치합니다.
쉽게 "sudo pecl install gnupg" 하면 되겠지만 해보시면 아시겠지만 에러가 납니다.
열심히 구글링해서 찾아보니 패치가 있어 패치를 적용 후 설치하면 정상적으로 설치가 됩니다.

jjoon@ubuntu:~$ pecl download gnupg
jjoon@ubuntu:~$ tar xvfz gnupg-1.3.2.tgz
jjoon@ubuntu:~$ cd gnupg-1.3.2

아래 URL에서 patch 파일을 받아 bug.patch 로 현재 디렉토리에 저장합니다.
https://bugs.php.net/patch-display.php?bug_id=64375&patch=patch&revision=latest

jjoon@ubuntu:~/gnupg-1.3.2$ patch -p1 < bug.patch
patching file gnupg.c
patching file gnupg_keylistiterator.c
jjoon@ubuntu:~/gnupg-1.3.2$ phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
jjoon@ubuntu:~/gnupg-1.3.2$ ./configure
[생략]
jjoon@ubuntu:~/gnupg-1.3.2$ make
[생략]
jjoon@ubuntu:~/gnupg-1.3.2$ sudo make install
[생략]
jjoon@ubuntu:~/gnupg-1.3.2$ sudo vi /etc/php5/apache2/php.ini
마지막 라인에 "extension=gnupg.so" 추가

이후 과정은 아래 페이지를 참고하여 코드를 작성하면 됩니다.
http://www.php.net/manual/en/book.gnupg.php

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다