PHP 다운로드 및 설정 방법(LEMP 설치하기 3/3)

Photo of author

By 무위자연

PHP 다운로드 및 설정 방법(LEMP 설치하기 3/3)

PHP 다운로드 및 설정 방법에 대해서 이번 포스팅에서 알아보겠습니다. 워드프레스 홈페이지 운영하기 위해서 Nginx가 php 파일을 해석할 수 있어야 하는데 php-fpm 설치해서 해결할 수 있습니다. 이번 포스팅에서는 이 과정에 대해 알아보겠습니다.

LEMP 설치 마지막 포스팅입니다. LEMP는 4가지 구성 요소로 이루어져 있는데, L에 해당하는 Linux(우분투) OS의 경우에는 오라클 클라우드 인스턴스 만들면서 이미 설치 완료했기 때문에 3번의 포스팅으로 끝납니다. 설치만 끝난 것이지 설정 과정은 이후에도 조금 더 남아 있으니 이후 포스팅들을 참고하셔서 같이 완성해보았으면 좋겠습니다.

php 공식 홈페이지

PHP 설치

우분투의 경우 명령어 몇 개로 설치를 진행할 수 있습니다. 그러나 최신 버전의 경우 별도의 추가 명령어들을 입력해주어야 합니다. 최신 버전 중 8.0, 8.1 버전은 메모리 누수 오류가 있어서 피해서 설치하는 것이 좋습니다.

현재 설치할 수 있는 버전은 다음 명령어를 통해 확인할 수 있습니다.

  • sudo apt-cache policy php

8.1 버전 설치 가능하다고 나오고 이 버전을 피하기 위해 아래 과정을 통해 설치를 진행합니다.

필수 패키지 업데이트 설치

설치에 앞서 깔아줘야 할 것들이 있는데, 아래 명령으로 할 수 있습니다.

  • sudo apt-get install software-properties-common

그리고 OS를 최신 상태로 업데이트해 줍니다.

  • sudo apt-get update && sudo apt-get -y upgrade

PHP 저장소 추가

기본으로 설정된 저장소 외에 추가 저장소를 추가해줍니다.

  • sudo add-apt-repository ppa:ondrej/php
  • Press [ENTER] to continue or Ctrl-c to cancel adding it.

PHP 설치

오류가 있는 8.0, 8.1 버전 피해서 8.2 다운로드 및 설치 해줍니다.

  • sudo apt-get install -y php8.2

PHP 버전 확인

완료되었다면 버전 정보를 확인해줍니다.

php 버전 확인

 

필수 모듈 설치

8.2 버전 기준 필수 모듈을 설치해보겠습니다.

  • sudo apt-get install -y php8.2-fpm php8.2-gd php-json php8.2-mysql php8.2-curl php8.2-mbstring php8.2-intl php-imagick php8.2-xml php8.2-zip

PHP-FPM 재시작

  • sudo systemctl restart php8.2-fpm

ini 파일 설정 추가

php.ini 파일은 다음 두 곳에 위치하기 때문에 두 파일 모두 수정해야 합니다.

  • sudo vi /etc/php/8.2/cli/php.ini
  • sudo vi /etc/php/8.2/fpm/php.ini

타임존 변경

주석(해당 줄 제일 앞부분에 ; 문자로 되어 있는 부분)을 활성화 시켜줍니다.

php.ini 초기 설정php 타임존 변경

업로드 파일 크기 옵션 수정

  • upload_max_filesize : 업로드 파일 허용 크기
  • post_max_size : POST 최대 사이즈(단위는 바이트, 0인 경우 무제한을 의미)
  • max_execution_time : 스크립트 실행 가능한 최대 시간(단위는 초, 0인 경우 무제한을 의미)
  • max_input_time : 스크립트 넘어가기 전에 엔진이 데이터 업로드 받는 최대 시간(max_execution_time와 동일)
  • max_input_vars : GET/POST/COOKIE 입력 변수 최대 크기

php 업로드 파일 크기 수정

 

확장 옵션 추가

  • 주석(;) 해제 해주면 추가
    • imagick : 메모리 사용량이 적고 우수한 이미지 처리 결과를 얻을 수 있지만 속도는 약간 느린편인 이미지 처리 라이브러리
    • zip : 파일 읽기, 압축, 수정등을 할 수 있도록 해주는 라이브러리

php 확장 옵션 추가

 

php-fpm 재시작

  • sudo systemctl restart php8.2-fpm

 

Nginx 설정 추가

이전 포스팅에서 알아본 Nginx 설치 및 기본 설정이 완료되어 있어야 합니다. 관련 포스팅은 아래 링크를 참고하세요

인스턴스 생성 및 설정 – 오라클 클라우드 서버 

index.php 추가

  • Nginx 설정 파일 열기
    • sudo vi /etc/nginx/sites-available/default
  • server의 index 항목 제일 앞에 index.php를 추가

php 설정 추가

  • server 안에 처리 부분 추가합니다. 기본 값으로 있는 설정 주석 해제 후 타임 아웃 설정 추가php 설정 추가
  • .htaccess 주석 삭제

.htaccess 주석 제거

Nginx 설정 확인 및 재시작

  • sudo nginx -t
  • sudo nginx -s reload

Nginx 업로드 크기 설정

이전 항목에서 파일 업로드 크기 제한을 변경해주었습니다. Nginx 웹서버에서도 제한 용량을 수정해주어야 합니다.파일 업로드 용량은 기본 1메가바이트(MB)입니다. nginx.conf 파일 수정으로 해결할 수 있습니다.

  • sudo vi /etc/nginx/nginx.conf

Nginx 업로드 크기 수정

 

Nginx 재시작

  • sudo nginx -s reload

 

마치며

워드프레스 운영을 위해 기본적으로 설치해야 할 LEMP 스택 중 하나인 php 설치 방법에 대해 알아보았습니다.

2 thoughts on “PHP 다운로드 및 설정 방법(LEMP 설치하기 3/3)”

Leave a Comment