SW/리눅스

Debian 9 : PHP 설치하는 방법, 예제, 명령어

얇은생각 2020. 12. 27. 07:30
반응형

Debian 9의 PHP 버전 7.0은 곧 수명이 다하여 지원을 받을 수 있으며 더 이상 보안 업데이트를 받을 수 없습니다.

이 튜토리얼에서는 Debian 9 서버에 PHP 7.2를 설치하는 단계를 안내합니다. PHP를 실행하도록 Apache 및 Nginx를 구성하는 방법도 알려드리겠습니다.

 

 

Debian 9 : PHP 설치하는 방법, 예제, 명령어

 

 

필수 구성 요소

이 튜토리얼로 시작하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인합니다.

 

 

 

Debian 9에 PHP 7.2 설치

다음 단계에서는 Ondrej Sury 저장소를 사용하여 PHP 7.2를 설치하는 방법에 대해 설명합니다.

01. 먼저 적절한 패키지 목록을 업데이트하고 HTTPS를 통해 새 리포지토리를 추가하는 데 필요한 종속성을 설치합니다.

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common

 

 

02. 다음 curl 명령을 사용하여 리포지토리의 GPG 키를 가져오는 것으로 시작합니다.

curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add -

 

 

다음을 입력하여 ondrej의 리포지토리를 시스템의 소프트웨어 리포지토리 목록에 추가합니다.

sudo add-apt-repository "deb https://packages.sury.org/php/ $(lsb_release -cs) main"

 

 

03. 이제 시스템에서 ondrej의 리포지토리를 사용하도록 설정했으므로 사용할 버전을 지정하여 PHP를 설치할 수 있습니다.

sudo apt update
sudo apt install php7.2-common php7.2-cli

 

PHP 버전을 인쇄할 다음 명령을 실행하여 설치를 확인합니다.

php -v

# PHP 7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56 (cli) (built: Jul 25 2018 12:43:00) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56, Copyright (c) 1999-2018, by Zend Technologies

 

 

 

PHP 실행하도록 Apache를 구성

Apache를 웹 서버로 사용하여 PHP 및 Apache PHP 모듈을 설치하는 경우 다음 명령을 실행합니다.

sudo apt install php7.2 libapache2-mod-php

 

 

php7.2 모듈을 사용하도록 패키지를 설치한 후에는 Apache 서비스를 다시 시작합니다.

sudo systemctl restart apache2

 

 

 

PHP를 실행하도록 Nginx 구성

Nginx는 Apache와는 달리 PHP 파일 처리를 위한 기본 지원이 없기 때문에 PHP 파일을 처리할 PHP FPM("FastCGI 프로세스 관리자")과 같은 별도의 애플리케이션을 설치해야 합니다.

PHP 및 PHP FPM 패키지를 설치하려면 다음 명령을 실행합니다.

sudo apt install php7.2-fpm

 

 

패키지가 설치되면 PHP FPM 서비스가 자동으로 시작됩니다. 다음을 사용하여 서비스 상태를 확인할 수 있습니다.

systemctl status php7.2-fpm

# ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
#    Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
#    Active: active (running) since Thu 2018-08-30 21:06:53 UTC; 1min 4s ago
#      Docs: man:php-fpm7.2(8)
#  Main PID: 16791 (php-fpm7.2)
#    Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
#    CGroup: /system.slice/php7.2-fpm.service
#            ├─16791 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
#            ├─16792 php-fpm: pool www
#            └─16793 php-fpm: pool www

 

 

이제 도메인 Nginx 서버 블록을 편집하고 다음 줄을 추가하여 Nginx가 PHP 파일을 처리할 수 있습니다.

server {

    # . . . other code

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

 

 

새 구성이 적용되도록 Nginx 서비스를 다시 시작합니다.

sudo systemctl restart nginx

 

 

 

PHP 확장 설치

우리는 추가 확장을 설치함으로써 PHP의 핵심 기능을 확장할 수 있습니다. PHP 확장은 패키지로 사용할 수 있으며 다음을 사용하여 쉽게 설치할 수 있습니다.

sudo apt install php-[extname]

 

 

예를 들어 MySQL 및 GD PHP 확장을 설치하려면 다음 명령을 실행해야 합니다.

sudo apt install php7.2-mysql php7.2-gd

 

 

새 PHP 확장을 설치한 후 설정에 따라 Apache 또는 PHP FPM 서비스를 다시 시작해야 합니다.

 

 

 

PHP 처리 테스트

웹 서버가 PHP 처리에 대해 올바르게 구성되었는지 테스트하려면 다음 코드를 사용하여 /var/www/html 디렉터리 내에 info.php라는 새 파일을 생성합니다.

# /var/www/html/info.php

<?php

phpinfo();

 

 

파일을 저장하고 선택한 브라우저를 열고 http:///your_server_ip/info.php를 방문합니다. 

phpinfo 기능은 아래 이미지에 표시된 대로 PHP 구성에 대한 정보를 인쇄합니다.

 

 

반응형