PHP는 가장 많이 사용되는 서버측 프로그래밍 언어 중 하나입니다. WordPress, Magento, Laravel과 같은 많은 인기 있는 CMS와 프레임워크는 PHP에 내장되어 있습니다.
CentOS 8에 PHP 7.2, 7.3 또는 7.4를 설치하는 방법에 대해 설명합니다. 설치할 PHP 버전을 선택하기 전에 응용 프로그램이 이를 지원하는지 확인하십시오.
또한 PHP를 Nginx 및 Apache와 통합하는 방법도 보여드리겠습니다.
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 저장소를 사용하도록 설정해야 합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Pstree 명령어, 사용 방법, 예제 (0) | 2022.04.01 |
---|---|
Linux : Ubuntu 18.04 : Odoo 13 설치 방법, 예제, 명령어 (0) | 2022.03.29 |
Linux : CentOS 8 : MySQL 설치 방법, 예제, 명령어 (0) | 2022.03.27 |
Linux : Ubuntu : Root Password 변경 방법, 예제, 명령어 (0) | 2022.03.26 |
Linux : Nginx 에러, 액세스 로그 구성 방법, 예제, 명령어 (0) | 2022.03.25 |