메뉴 건너뛰기

조회 수 8063 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

PHP에서 OpenSSL을 이용하여 프로그래밍을 하고 싶지만, PHP 컴파일시 OpenSSL 기능을 disable 시킨 경우, OpenSSL 기능 사용을 재 컴파일이 아닌 모듈로 설치해보자!

시스템 설치 소프트웨어

OS : CentOS 6.0 x86_64(2.6.32-71)

아파치 : apache-2.2.21

PHP : php-5.3.8

 

고객사의 요청으로 PHP 재컴파일이 아닌 기존 운영되고 있는 서비스에 간단히 OpenSSL 기능을 설치해서 이용하고 싶다고 하여,  확장 모듈 설치 방법을 통해 해결 하였다.

 

PHP에 포함되어 있는 phpize 명령은 PHP 확장모듈을 위한 빌드환경을 만들기 위해 사용한다.   OpenSSL의 확장모듈의 소스는 PHP 소스버전의 {PHP 소스디렉토리}/ext/openssl 이름의 디렉터리 안에 있다.

 

OpenSSL 확장 모듈 소스에는 phpize를 통해 빌드환경을 만들기 위한 config.m4 매크로 파일이 존재한다. OpenSSL은 이유가 무엇인지 모르지만 config0.m4로 되어 있어 이걸 config.m4로 파일명을 변경한 후에 설치 하면 된다.(config0.m4로 되어 있는 정확한 이유를 아시는 분은 알려주세요.)

 

OpenSSL 모듈 컴파일 및 설치

$ cd ext/openssl

$ mv config0.m4 config.m4
$ phpize
$ ./configure
$ make
# make install

 

make install를 이용하여 설치가 완료 되면 modulename.so 파일 형태로 설치가 된다.

설치를 통해 생성된 so 모듈 파일을 php.ini의 환경설정 파일에서 extension 지시자를 통해 로드 하여 이용하면 된다.

 

설치 완료 후 테스트

설치가 완료 되었다면 아파치를 재시작 하기 보다는 리눅스 shell상에서 php 인터프리터를 이용하여 openssl enable 상태를 확인 할 수가 있다.

 

 php -r "echo phpinfo();" | grep -i openssl

 

출력내용

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.0-fips 29 Mar 2010
OpenSSL Header Version => OpenSSL 1.0.0-fips 29 Mar 2010
OpenSSL support => enabled

 

이상으로 PHP의 확장 모듈 설치 방법에 대해 알아 보았다. 기본적으로 설치 소스상에 포함되지 않는 확장 모듈 소스는 PECL 저장소를 통해 이용할 수 있으니 참고하기 바란다.

 

PHP Extension and Application Repository(PEAR) 는 확장과 어플을 관리
 
PHP Extension Community Library(PECL) 은 확장만 관리

List of Articles
번호 제목 날짜 조회 수
197 webmin 설치하기 file 2014.02.27 8712
196 PHP-5.3 이상 Zend 설치 2015.07.30 8698
195 iptables + 스크립트를 이용한 중국 IP 차단 2014.02.27 8696
194 [CentOS 6.5] JDK (JAVA) 설치 file 2017.03.11 8691
193 CentOS 5.1 + APM(apache 2.2.x + php 5.2.x + mysql5.0.x + Zend 3.0.x) 설치 2016.03.18 8686
192 웹로직 + 아파치 연동 2017.04.13 8685
191 APACHE, OHS 400 웹로직 연동후 특정 작업에 400 error 2016.12.30 8646
190 아파치 한글파일 인식설정 file 2016.07.22 8622
189 우분투(리눅스) 설치 USB 만들기 file 2016.08.10 8617
188 iconv 추가 설치 2014.03.26 8603
187 centos 7 계정추가 2015.07.16 8598
186 [CentOS 6.5] SSH,TELNET, FTP 설치 및 운용 file 2017.03.11 8558
185 Apache 2.x 에서 maxclients 1024 제한 초과 방법 (수정 중..) 2016.03.18 8558
184 AIDE를 이용한 리눅스 파일 시스템의 무결성 점검 2014.03.26 8555
183 Centos7 64bit 웹서버 만들기-소켓모듈설치(socket.io) CAP7 file 2015.07.17 8552
182 아파치 웹로직 연동(Virtual Host) 2016.11.22 8546
181 리눅스 마운트 (mount)를 해보자 file 2015.06.09 8529
180 싱글모드 부팅 후, fstab read only 발생시 2014.03.26 8517
179 apache status 모듈 ( 모니터링 ) 2014.02.27 8501
178 crontab 을 이용한 PHP 스케줄링 작업 file 2017.02.02 8500
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved