SW/리눅스

Linux : CentOS 8 : PHP 설치 방법, 예제, 명령어

얇은생각 2022. 3. 28. 07:30
반응형

PHP는 가장 많이 사용되는 서버측 프로그래밍 언어 중 하나입니다. WordPress, Magento, Laravel과 같은 많은 인기 있는 CMS와 프레임워크는 PHP에 내장되어 있습니다.

CentOS 8 PHP 7.2, 7.3 또는 7.4를 설치하는 방법에 대해 설명합니다. 설치할 PHP 버전을 선택하기 전에 응용 프로그램이 이를 지원하는지 확인하십시오.

또한 PHP Nginx Apache와 통합하는 방법도 보여드리겠습니다.

 

 

Linux : CentOS 8 : PHP 설치 방법, 예제, 명령어

 

 

CentOS 8에 PHP를 설치

CentOS 8 PHP 7.2와 함께 배포됩니다. 이 버전은 대부분의 최신 PHP 애플리케이션을 지원하지만 2019 11월 현재 더 이상 유지 관리되지 않습니다. 최신 PHP 버전은 Remi 리포지토리에서 사용할 수 있습니다.

 

 

 

Remi 저장소를 사용하도록 설정

distro 안정 PHP 버전 7.2를 설치하려면 이 단계를 건너뜁니다. 그렇지 않으면 PHP 7.3 또는 7.4를 설치하려면 다음 명령을 루트 또는 sudo 권한이 있는 사용자로 실행하여 Remi 저장소를 사용하도록 설정하십시오.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

 

 

위의 명령은 EPEL 저장소도 활성화합니다.

설치가 완료되면 아래 명령을 실행하여 사용 가능한 모든 PHP 버전 목록을 가져옵니다.

sudo dnf module list php

 

 

출력에는 관련 스트림, 버전 및 설치 프로파일을 포함하여 사용 가능한 모든 모듈의 목록이 표시됩니다.

# Last metadata expiration check: 0:02:11 ago on Fri 18 Oct 2019 08:31:43 PM UTC.
# CentOS-8 - AppStream
# Name    Stream       Profiles                     Summary                 
# php     7.2 [d][e]   common [d], devel, minimal   PHP scripting language  
# 
# Remi's Modular repository for Enterprise Linux 8 - x86_64
# Name    Stream       Profiles                     Summary                 
# php     remi-7.2     common [d], devel, minimal   PHP scripting language  
# php     remi-7.3     common [d], devel, minimal   PHP scripting language  
# php     remi-7.4     common [d], devel, minimal   PHP scripting language  
# 
# Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

 

 

기본 PHP 모듈은 PHP 7.2로 설정됩니다. PHP 릴리스를 설치하려면 적절한 버전을 사용하도록 설정하십시오.

 

 

PHP 7.3

sudo dnf module reset php
sudo dnf module enable php:remi-7.3

 

 

PHP 7.4

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

 

 

이제 CentOS에 PHP를 설치할 준비가 되었습니다.

 

 

 

PHP 설치

다음 명령은 PHP 및 가장 일반적인 일부 PHP 모듈을 설치합니다.

sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

 

 

FPM은 종속성으로 설치되고 FastCGI 서버로 사용됩니다. FPM 서비스를 시작하고 부팅 시 자동으로 시작하도록 설정합니다.

sudo systemctl enable --now php-fpm

 

 

 

아파치와 함께 작동하도록 PHP를 구성

시스템에서 SELinux가 실행 중인 경우 SELinux 보안 컨텍스트를 업데이트해야 합니다.

sudo chcon -Rt httpd_sys_rw_content_t /var/www

 

 

Apache를 웹 서버로 사용하는 경우 다음 명령을 사용하여 httpd 서비스를 다시 시작하십시오.

sudo systemctl restart httpd

 

 

 

Nginx와 함께 작동하도록 PHP를 구성

기본적으로 PHP FPM은 사용자 아파치로 실행됩니다. 권한 문제를 방지하기 위해 사용자를 nginx로 변경합니다. 이렇게 하려면 노란색으로 강조 표시된 선을 편집합니다.

# /etc/php-fpm.d/www.conf

...
user = nginx
...
group = nginx

 

 

/var/lib/php 디렉터리에 올바른 소유권이 있는지 확인합니다.

chown -R root:nginx /var/lib/php

 

 

완료되면 PHP FPM 서비스를 다시 시작합니다.

sudo systemctl restart php-fpm

 

 

그런 다음 Nginx 가상 호스트 지시문을 편집하고 다음 위치 블록을 추가하여 Nginx PHP 파일을 처리할 수 있도록 합니다.

server {

    # . . . other code

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

 

 

새 구성을 적용하려면 Nginx 서비스를 다시 시작합니다.

sudo systemctl restart nginx

 

 

SELinux 보안 컨텍스트를 업데이트합니다.

sudo chcon -Rt httpd_sys_rw_content_t /var/www

 

 

PHP 7.2는 기본 CentOS 8에서 설치할 수 있고 최신 버전을 설치하려면 Remi 저장소를 사용하도록 설정해야 합니다.

반응형