리눅스

[draft] 우분투 22.04에서 최신 PHP-FPM을 설치하는 방법

SangChul Dot Kr Blog 2025. 9. 21. 13:30
반응형

우분투 22.04에서 최신 PHP-FPM(php-fpm 8.2)을 설치하는 방법

PHP-FPM(PHP FastCGI Process Manager)는 PHP를 Nginx, Apache 등의 웹 서버와 함께 사용하기 위해 널리 쓰이는 FastCGI 프로세스 관리자입니다.

테스트 환경

$ lsb_release -d
Description:    Ubuntu 22.04.2 LTS
$ uname -m
x86_64
$ getconf LONG_BIT
64

PHP 저장소 추가

최신 PHP 버전이 없으므로 Ondřej Surý PPA(Personal Package Archive) 저장소를 추가합니다.

sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update -y

PHP  및 FPM 설치

PHP 8.2 및 PHP-FPM 8.2 설치

sudo apt-get install -y php8.2 php8.2-dev php8.2-cli php8.2-fpm php8.2-common php8.2-igbinary

PHP 확장 모듈 설치

sudo apt-get install -y \
  php8.2-gd php8.2-mysql php8.2-curl php8.2-mbstring php8.2-mcrypt \
  php8.2-intl php8.2-xml php8.2-redis php8.2-readline php8.2-mongodb \
  php8.2-zip php8.2-imagick php8.2-rdkafka php-json php-pear

PHP-FPM 버전 확인

php-fpm8.2 --version
PHP 8.2.4 (fpm-fcgi) (built: Mar 16 2023 14:34:48)
Copyright (c) The PHP Group
Zend Engine v4.2.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.4, Copyright (c), by Zend Technologies

서비스 등록 및 자동 실행

PHP-FPM 서비스를 시작하고 부팅 시 자동으로 시작하도록 활성화합니다.

sudo systemctl --now enable php8.2-fpm

보안 설정 (PHP 버전 숨기기)

웹 요청 시 PHP 버전 노출을 막기 위해 expose_php 옵션을 비활성화합니다.

 

php.ini 파일 확인

php --ini | egrep "Loaded Configuration File"
Loaded Configuration File:         /etc/php/8.2/cli/php.ini

PHP 버전 숨기기

sudo sed -i "s/expose_php = On/expose_php = Off/g" /etc/php/8.2/cli/php.ini

설정 검증

PHP-FPM 설정 검사

php-fpm8.2 -t
[10-Apr-2023 16:51:13] NOTICE: configuration file /etc/php/8.2/fpm/php-fpm.conf test is successful

PHP 모듈 확인

php-fpm8.2 -m
[PHP Modules]
calendar
cgi-fcgi
Core
ctype
date
dom
exif
FFI
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
openssl
pcre
PDO
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

 

PHP-FPM의 최신 버전이 Ubuntu에 설치되었습니다. 이제 PHP-FPM을 구성하고 필요한 PHP 애플리케이션을 호스팅할 수 있습니다. 추가적인 구성은 필요한 경우에 따라 달라질 수 있으며, PHP-FPM의 구성 파일 등을 수정하여 원하는 동작을 설정할 수 있습니다.

 

반응형