PHP-FPM 7.3.11 최신버전 설치하기(취약점 개선.)

https://blog.dalso.org/uncategorized/2468/php-fpm-nginx-remote-code-execution-해결방법/

앞써 글로 쓴대로 2019년 10월22일날 부터 php-fpm nginx 취약점이 발표되어서 내 홈서버로 사용하고있는 웹과 클라우드 서버 모두 업데이트를 진행중이다.

php의 경우 apt로 설치하게 되면 7.2까지만 설치하게 되어서 새로 작성한다.

설치환경 : Ubuntu 18.04.03 LTS Server

최신버전의 PHP-FPM 레포지토리 등록

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.3-fpm

위에서부터 하나씩 하면된다.

추가로 워드프레스 등등 mysql과 함께 사용하면 아래 모듈들도 설치해줘야한다.

sudo apt install php-xml
sudo apt install php-mysql
sudo apt install php7.3-gd

설치 확인

간단하게 php -v

php-fpm 설정

먼저 php파일이 들어오면 읽어낼수있도록 nginx 설정을 바꿔준다.

vi /etc/nginx/conf.d/default.conf

로들어가서 아래내용을 넣어준다.

upstream php-handler {
    server 127.0.0.1:9000;
}
server {
    client_max_body_size 64M;
    listen 80;
    listen [::]:80;

    root        /var/www/html;
    index       index.php index.html index.htm;

    server_name 서버 IP;

    access_log  /var/log/nginx/web.access.log  main;
    error_log /var/log/nginx/web.error.log;
	
    location / {
                try_files $uri $uri/ /index.php?$args;

        }
    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
        location ~ \.php$ {
        #include /etc/nginx/snippets/fastcgi-php.conf;
        fastcgi_pass php-handler;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;     fastcgi_read_timeout 300;
     }
    location ~ /\.ht {
    deny all;
    }
}

설정 완료후에는 service nginx restart

코드를 보면 알겠지만 php파일이 들어오면 php 핸들러 루프백:9000번으로 해석요청을한다. 그러니까 php-fpm 설정도 바꿔야겠지..?

vi /etc/php/7.3/fpm/pool.d/www.conf

의 내용중에 listen= 을찾아서 수정하면된다.

기본값

그리고 service php7.3-fpm restart 로 재시작.
netstat -lntp 로 수신확인.

이러면 설정은 다됐다.

동작 확인

Nginx 에서 php를 사용하기위해 설치하는 php-fpm이다보니 간단한 php파일을 생성해서 동작하는지 확인하면 된다.

동작전에 파일을 만들어보겠다. 위에보면 알겠지만 root 경로/var/www/html 이니 참고.

vi /var/www/html/index.php

내용은 간단하게 아래 복붙

<?php
phpinfo
?>

그리고 웹으로 IP를 쳐서 들어가보자.

이렇게 뜨면 완료된거다~

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link