메뉴 닫기

centos에 Ioncube 설치하기

[Ioncube 란?]

Ioncube Loader는 인코더로 암호화 된 소스를 실행하기 위한 프로그램입니다.

PHP는 스크립트 언어로 소스파일이 텍스트로 저장되어있어 내부의 중요정보를 쉽게 접근할 수 있는 단점이 존재합니다.

이러한 단점을 보완하기 위하여 암호화된 소스를 실행하기 위한 Ioncube라는 프로그램이 탄생하게 된겁니다.

또한 Ioncube는 PHP의 컴파일을 통해 실행속도를 증가시킨다는 장점이 있습니다.

 

 

 

 

[Ioncube 설치방법]

1. PHP가 설치되어있는지 확인합니다

1) PHP 설치확인

yum 설치 시

# rpm -qa |grep php

 

소스 설치 시

# /usr/local/php/bin/php -v

 

2) Apache의 mpm방식을 확인합니다

yum 설치 시

# http -V |grep -i mpm

 

소스 설치 시

# /usr/local/apache/bin/apachectl -V |grep -i mpm

Server MPM:     prefork

→ Ioncube는 Apache mpm방식이 prefork에서만 가능하며,  event 및 worker에서는 작동하지 않습니다.

 

 

2. Ioncube Loader 다운로드

1) Linux의 비트를 확인해봅니다.

# uname -r  또는  # arch

→ Ioncube는 32bits버전과 64bits버전을 따로 지원하기 때문에 다운로드 전에 해당 부분을 확인해야합니다.

 

2) Ioncube Loader 다운로드

https://www.ioncube.com/loaders.php 에서 다운로드가 가능합니다.

# pwd

/usr/local/src

# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

 

3) 압축 해제 후 확인

# tar -zvxf ioncube_loaders_lin_x86-64

# cd ioncube

# ls -l

total 25072

-rw-rw-r– 1 507 507  464240 Aug 31 21:24 ioncube_loader_lin_4.1.so

-rw-rw-r– 1 507 507  463792 Aug 31 21:24 ioncube_loader_lin_4.2.so

-rw-rw-r– 1 507 507  464496 Aug 31 21:25 ioncube_loader_lin_4.3.so

-rw-rw-r– 1 507 507  482736 Aug 31 21:25 ioncube_loader_lin_4.3_ts.so

-rw-rw-r– 1 507 507  467536 Aug 31 21:25 ioncube_loader_lin_4.4.so

-rw-rw-r– 1 507 507  486864 Aug 31 21:26 ioncube_loader_lin_4.4_ts.so

-rw-rw-r– 1 507 507  476592 Aug 31 21:26 ioncube_loader_lin_5.0.so

-rw-rw-r– 1 507 507  490096 Aug 31 21:27 ioncube_loader_lin_5.0_ts.so

-rw-rw-r– 1 507 507 1097936 Aug 31 21:28 ioncube_loader_lin_5.1.so

-rw-rw-r– 1 507 507 1137936 Aug 31 21:29 ioncube_loader_lin_5.1_ts.so

-rw-rw-r– 1 507 507 1137328 Aug 31 21:30 ioncube_loader_lin_5.2.so

-rw-rw-r– 1 507 507 1176688 Aug 31 21:31 ioncube_loader_lin_5.2_ts.so

-rw-rw-r– 1 507 507 1226968 Aug 31 21:32 ioncube_loader_lin_5.3.so

-rw-rw-r– 1 507 507 1283576 Aug 31 21:34 ioncube_loader_lin_5.3_ts.so

-rw-rw-r– 1 507 507 1500592 Aug 31 21:35 ioncube_loader_lin_5.4.so

-rw-rw-r– 1 507 507 1585840 Aug 31 21:37 ioncube_loader_lin_5.4_ts.so

-rw-rw-r– 1 507 507 1514512 Aug 31 21:38 ioncube_loader_lin_5.5.so

-rw-rw-r– 1 507 507 1596272 Aug 31 21:40 ioncube_loader_lin_5.5_ts.so

-rw-rw-r– 1 507 507 1479896 Aug 31 21:41 ioncube_loader_lin_5.6.so

-rw-rw-r– 1 507 507 1539928 Aug 31 21:42 ioncube_loader_lin_5.6_ts.so

-rw-rw-r– 1 507 507 1237352 Aug 31 21:43 ioncube_loader_lin_7.0.so

-rw-rw-r– 1 507 507 1294024 Aug 31 21:45 ioncube_loader_lin_7.0_ts.so

-rw-rw-r– 1 507 507 1328920 Aug 31 21:46 ioncube_loader_lin_7.1.so

-rw-rw-r– 1 507 507 1402680 Aug 31 21:48 ioncube_loader_lin_7.1_ts.so

-rw-r–r– 1 507 507   10768 Aug  3 02:12 LICENSE.txt

-rw-r–r– 1 507 507  181043 Aug  3 02:12 loader-wizard.php

-rw-r–r– 1 507 507    2195 Aug  3 02:12 README.txt

-rw-r–r– 1 507 507   71118 Aug  3 02:12 USER-GUIDE.pdf

-rw-r–r– 1 507 507    9269 Aug  3 02:12 USER-GUIDE.txt

 

3. php.ini 파일 설정 및 변경

1) ioncube의 php.ini파일을 열어줍니다.

yum 설치 시

# vi /etc/php.ini

 

소스 설치 시

# vi /usr/local/apache/conf/php.ini 

 

2) 맨 아랫줄에에 아래의 내용을 추가해줍니다.

[Zend]

;zend_extension_ts=”usr/local/php/modules/ioncube_loader_lin_5.3_ts.so”

zend_extension=”/usr/local/php/modules/ioncube_loader_lin_5.3_ts.so”

zend_loader.enable = 1

zend_loader.disable_licensing=0

zend_loader.obfuscation_level_support=3

→ 설치되어있는 php버전과 동일한 파일을 지정해줍니다. (php – 5.3.21, Ioncube – 5.3)
 
 
3) 아파치를 재시작합니다.
# /etc/init.d/apachectl restart
 
 
4. Ioncube Loader 설치가 완료되었는지 확인해봅니다.
1) Ioncube Loader 작동확인
yum 설치 시
# /usr/bin/php -v 또는 # php -v
 
소스 설치 시

# /usr/local/apache/bin/php -v

(/php설치경로/bin/php -v)

PHP 5.3.21 (cli) (built: Sep  1 2017 13:01:49) 

Copyright (c) 1997-2013 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

    with the ionCube PHP Loader v10.0.1, Copyright (c) 2002-2017, by ionCube Ltd.

 
▷ PHP Deprecated:  Directive ‘register_globals’ is deprecated in PHP 5.3
▶ vi /usr/local/apache/conf/php.ini  파일을 아래와 같이 수정해줍니다.

short_open_tag = On

date.timezone = “Asia/Seoul”

error_reporting = “E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED”

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x