시스템 보안

[9월 5일] php 설치하기 in rocky

ljm 2025. 9. 5. 11:42

✅ 1. 시스템 업데이트

먼저 패키지 목록을 최신 상태로 유지하세요.

 
sudo dnf update -y

✅ 2. EPEL 및 Remi 저장소 추가

Rocky Linux 기본 저장소에는 PHP 최신 버전이 없을 수 있으므로, Remi 저장소를 추가하는 것이 일반적입니다.

 
sudo dnf install -y epel-release sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Rocky Linux 9 기준입니다. Rocky 8을 쓰고 있다면 remi-release-8.rpm을 설치해야 합니다.


✅ 3. DNF 모듈에서 PHP 활성화

Remi 저장소에는 다양한 PHP 버전이 있으므로 원하는 버전을 명시해서 활성화할 수 있습니다.

👉 설치 가능한 PHP 버전 확인:

 
dnf module list php

👉 예: PHP 8.2 활성화

 
sudo dnf module reset php -y sudo dnf module enable php:remi-8.2 -y

✅ 4. PHP 및 관련 패키지 설치

이제 PHP와 필요한 확장 모듈들을 설치합니다.

 
sudo dnf install -y php php-cli php-common php-fpm php-mysqlnd php-opcache php-gd php-mbstring php-xml php-curl

필요한 확장 모듈은 프로젝트에 따라 추가로 설치하시면 됩니다.


✅ 5. PHP 버전 확인

 
php -v

PHP 8.2.x
 (cli) (built: ...)

✅ 6. PHP-FPM 서비스 활성화 및 시작 (웹서버 연동용)

 
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm
 
 

 


✅ 7. 웹서버(Apache or Nginx)와 연동 (선택 사항)

Apache 사용 시:

 
sudo dnf install -y httpd
sudo systemctl enable httpd
sudo systemctl start httpd

Apache + PHP는 기본적으로 mod_php를 사용하거나 php-fpm 연동이 가능합니다.

Nginx 사용 시:

 
sudo dnf install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx

 

Nginx는 php-fpm과 연동하여 PHP를 처리합니다. /etc/nginx/conf.d/default.conf 또는 가상 호스트 설정에서 PHP 처리를 위한 설정이 필요합니다.

 

예시:

location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }


✅ 8. 테스트

웹 루트 디렉토리에 info.php 파일을 만들어서 정상 동작 여부를 확인하세요.

 
echo"<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

 

웹 브라우저에서 접속:

http://your-server-ip/info.php

✅ 마무리

SELinux 사용하는 경우:

 
sudo setsebool -P httpd_execmem 1

방화벽 포트 열기 (Apache/Nginx 사용 시):

 
# Apache sudo firewall-cmd --permanent --add-service=http # 또는 Nginx sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

🔁 요약

  1. 시스템 업데이트
  2. EPEL + Remi 저장소 설치
  3. DNF 모듈로 PHP 원하는 버전 활성화
  4. PHP 및 확장 모듈 설치
  5. PHP-FPM 활성화
  6. 웹서버 연동 (Apache 또는 Nginx)
  7. phpinfo() 테스트

 

 

Apache와 php-fpm 연동 설정

Apache가 php-fpm을 통해 PHP 파일을 처리하도록 설정해야 합니다.

  1. Apache PHP 설정 파일 생성: Apache 설정 디렉터리(conf.d)에 PHP 설정을 위한 파일을 만듭니다.
  2.  
    sudo vi /etc/httpd/conf.d/php.conf
    
  3. Bash
  4. 설정 내용 추가: 파일에 다음 내용을 추가하세요. 이 설정은 .php 확장자를 가진 파일을 php-fpm으로 전달하도록 지시합니다.
  5. Apache
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    
  6. Apache 재시작: 설정 변경 후 반드시 Apache 서비스를 재시작해야 적용됩니다.
  7. Bash
    sudo systemctl restart httpd