Remi PHP 패키지와 PHP-FPM 소켓 구성하기

목차

Rocky Linux에서 Remi 저장소의 PHP stream을 선택하고 PHP-FPM을 연결하는 절차입니다. 원노트의 PHP 8.4 예제를 사용합니다. 기존 PHP가 있다면 먼저 버전·모듈·설정·웹 애플리케이션 지원 범위를 확인합니다.

OS에 맞는 저장소 선택

EL8과 EL9 중 현재 서버에 맞는 하나만 설치합니다. 아래는 EL9 예시입니다. 이미 다른 저장소 PHP를 쓰는 서버에서는 stream 변경 전에 패키지 충돌과 교체 계획을 검토합니다.

TERMINAL / CONFIG
sudo dnf install epel-release
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf module list php
sudo dnf module reset php
sudo dnf module enable php:remi-8.4
sudo dnf install php php-cli php-fpm

PHP와 pool 설정

/etc/php.ini에서 서버 시간대와 노출 설정을 확인합니다. short_open_tag는 애플리케이션 의존성을 확인해 결정하며 새 코드에는 전체 PHP 태그 사용을 우선합니다.

TERMINAL / CONFIG
date.timezone = Asia/Seoul
display_errors = Off
log_errors = On
expose_php = Off

/etc/php-fpm.d/www.conf의 user·group은 실제 애플리케이션 실행 계정으로 설정합니다. 예시 계정 lieper는 미리 생성되어 있어야 합니다. 소켓을 연결하는 웹 서버가 apache라면 listen.acl_users에는 웹 서버 계정을 지정합니다.

TERMINAL / CONFIG
user = lieper
group = lieper
listen = /run/php-fpm/www.sock
listen.acl_users = apache

구문과 실행 확인

TERMINAL / CONFIG
php -v
php -m
php --ini
sudo php-fpm -t
sudo systemctl enable --now php-fpm

필요한 DB 드라이버 등 확장 모듈은 선택한 stream에 맞춰 설치합니다. 웹 서버의 FastCGI 설정도 같은 소켓을 가리켜야 하며 SELinux·디렉터리 권한을 확인합니다. CLI 성공과 웹 요청 성공은 별개이므로 실제 PHP 페이지를 요청하고 시험용 phpinfo 파일은 확인 후 제거합니다.

리눅스 › dnf 설치
dnf 설치 목록