[서버환경]
Ubuntu 14.04
php-5.5
php_screw 파일 다운은 https://sourceforge.net/projects/php-screw/ 에서 받을수 있으며,
현재일 기준 1.5가 최신버전이다.
다운로드 후에 압축해제한다.
]# wget http://sourceforge.net/projects/php-screw/files/latest/download?source=files
]# tar xvzfp php_screw-1.5.tar.gz
]# cd php_screw-1.5/
설치전에 seed값을 변경하여 암호화/복호화의 사용되는 키값을 변경
]# vi my_screw.h
short pm9screw_mycryptkey[] = {
12311, 312, 4422, 534, 11, 849, 125
};
저장하고 컴파일을 진행한다.
]# phpize
]# ./configure
]# make
make 시에 오류가 뜨는데 php_screw.c파일을 열어 가장 마지막의 CG(extended_info) = 1; 두곳을 주석처리 해준다.
]# vi php_screw.c
PHP_MINIT_FUNCTION(php_screw)
{
//CG(extended_info) = 1;
org_compile_file = zend_compile_file;
zend_compile_file = pm9screw_compile_file;
return SUCCESS;
}
PHP_MSHUTDOWN_FUNCTION(php_screw)
{
//CG(extended_info) = 1;
zend_compile_file = org_compile_file;
return SUCCESS;
}
]# make install
so 파일을 extension_dir 에 복사후에 php.ini에 직접 extension을 넣어줘도 되고 아래와 같이 ini파일은 등록해도 된다.
]# cd /etc/php5/mods-available/
]# vi screw.ini
extenion=php_screw.so
]# cd /etc/php5/cli/conf.d/
]# ln -s ../../mods-available/screw.ini 90-screw.ini
이후에 아파치 재시작으로 php_screw 모듈을 설치된다.
php_screw 소스파일 경로로 다시 이동해서 tools/ 로 이동하여 make 실행.
]# cd /usr/local/src/php_screw-1.5/tools/
]# make
실행하여 생성된 screw가 encryptor파일로 bin 디렉토리로 이동
]# cp -arp screw /usr/bin/screw
사용법은
]# screw 암호화할 php파일의 절대경로
결과물로 php파일은 암호화되고 암호화되기 전의 파일은 php.screw파일로 생성된다.