CentOS7 LEMP PHP 설치 (php-fpm)

돌아다니면서 구한 자료로 공부하는 공간입니다..

틀린부분이 있다면 말씀해주시면 수정하도록 하겠습니다.

※ 남을 비방하거나 욕 / 정치적인 글은 삭제 대상이 됩니다. ※

CentOS7 LEMP PHP 설치 (php-fpm)

만키로군 0 3139 0

1. php-fpm 와 php-mysql 설치.

# yum install php-fpm php-mysql

 

자동으로 같이 설치되는 것들

 

php-bcmath          : A module for PHP applications for using the bcmath library
php-cli             : Command-line interface for PHP
php-common          : Common files for PHP
php-dba             : A database abstraction layer module for PHP applications
php-devel           : Files needed for building PHP extensions
php-embedded        : PHP library for embedding in applications
php-enchant         : Enchant spelling extension for PHP applications
php-fpm             : PHP FastCGI Process Manager
php-gd              : A module for PHP applications for using the gd graphics library
php-intl            : Internationalization extension for PHP applications
php-ldap            : A module for PHP applications that use LDAP
php-mbstring        : A module for PHP applications which need multi-byte string handling
php-mysql           : A module for PHP applications that use MySQL databases
php-mysqlnd         : A module for PHP applications that use MySQL databases
php-odbc            : A module for PHP applications that use ODBC databases
php-pdo             : A database access abstraction module for PHP applications
php-pear.noarch     : PHP Extension and Application Repository framework
php-pecl-memcache   : Extension to work with the Memcached caching daemon
php-pgsql           : A PostgreSQL database module for PHP
php-process         : Modules for PHP script using system process interfaces
php-pspell          : A module for PHP applications for using pspell interfaces
php-recode          : A module for PHP applications for using the recode library
php-snmp            : A module for PHP applications that query SNMP-managed devices
php-soap            : A module for PHP applications that use the SOAP protocol
php-xml             : A module for PHP applications which use XML
php-xmlrpc          : A module for PHP applications which use the XML-RPC protocol


 

 

2. PHP 기본 설정

# vim /etc/php.ini

 

 

date.timezone = Asia/Seoul
memory_limit = 64M
expose_php = Off

 

위와 같이 수정한다.

검색은 [esc] ?키워드

 

저장 [esc] :wq

 

 

3. php-fpm + nginx 설정

# vim +/^user /etc/php-fpm.d/www.conf

 

user = nginx
group = nginx

 

nginx 에게 php-fpm 실행 권한 부여

# chown nginx:root -R /var/log/php-fpm/

 

php-fpm 재시작.

# systemctl restart php-fpm
# systemctl enable php-fpm

 

4. gd 라이브러리 설치

# yum -y install php-gd

 

참고하면 좋은 php.ini 설명

 

 설정 인자

 권장값

 설명


 register_globals

Off 

 이 값은 On으로 설정하면 php가 입력받는 값을 전역변수로 받아들이므로 프로그램의 동작 중 어디서나 변수값이 변경될 수 있기 때문에 파라미터 변조, 오동작으로 인한 보안 문제가 발생할 수 있다. 

 safe_mode

On 

 On으로 설정시 시스템 중요파일(/etc/passwd) 접근을 제한 할 수 있지만, 웹 프로그램의 오동작 가능성이 존재

 safe_mode_gid

Off 

 위와 마찬가지

 expose_php

Off 

 웹 브라우저의 요청에 대해 PHP 정보 노출을 방지한다.

 file_uploads

Off 

 Off시 php프로그램의 파일 업로드를 차단한다.

 allow_url_fopen

Off 

 On으로 설정하면 파일 access시 외부 사이트의 파일을 호출할 수 있다. 특히 include(), require() 함수 사용 시 심각한 보안상의 문제를 유발하므로 반드시 Off로 한다.(PHP INJECTION)

 magic_quotes_gpc

On 

 On으로 설정하면 php가 입력으로 받아들이는 값에 단일 인용부호('), 이중 인용부호("), 백슬래시(), 널문자가 포함된 경우 자동으로 해당 문자 앞에 백슬래시를 추가하여 특수 문자를 처리한다. SQL INJECTION 차단이 가능하다.

 magic_quotes_sybase

Off 

 Sybase 사용자의 정상적인 DB접속을 위해 만들어진 기능이다. Sybase 사용자가 아니라면 Off로 설정한다.

 open_basedir

디렉토리 

 해당 옵션에 특정 디렉토리 설정시, 지정된 디렉토리 내에서만 파일에 접근 가능

 safe_mode_exec_dir

디렉토리

 해당 옵션을 사용시, system(), exec(), passsthru() 등 외부 명령어 실행 시 지정된 디렉토리에 존재하지 않는 프로그램은 실행할 수 없다.

 display_errors

Off 

 PHP 실행 중 에러 정보 노출을 방지하는 역할을 제공하므로 반드시 off설정한다. 

 log_errors

On 

 해당 옵션을 On으로 설정하는 경우 PHP 실행 중 발생하는 경고나 에러 정보를 error_log에서 지정한 파일에 기록하게 되므로 침입자의 의도적인 에러 발생 시도를 확인해 볼 수 있다.

 error_log

파일명 

 PHP 실행 중 발생하는 경고나 에러 정보를 작성할 파일을 지정하는 옵션

, , , ,

0 Comments
제목