PHP 다운로드 및 설정 방법(LEMP 설치하기 3/3)
PHP 다운로드 및 설정 방법에 대해서 이번 포스팅에서 알아보겠습니다. 워드프레스 홈페이지 운영하기 위해서 Nginx가 php 파일을 해석할 수 있어야 하는데 php-fpm 설치해서 해결할 수 있습니다. 이번 포스팅에서는 이 과정에 대해 알아보겠습니다.
LEMP 설치 마지막 포스팅입니다. LEMP는 4가지 구성 요소로 이루어져 있는데, L에 해당하는 Linux(우분투) OS의 경우에는 오라클 클라우드 인스턴스 만들면서 이미 설치 완료했기 때문에 3번의 포스팅으로 끝납니다. 설치만 끝난 것이지 설정 과정은 이후에도 조금 더 남아 있으니 이후 포스팅들을 참고하셔서 같이 완성해보았으면 좋겠습니다.
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 버전 확인
완료되었다면 버전 정보를 확인해줍니다.
필수 모듈 설치
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
타임존 변경
주석(해당 줄 제일 앞부분에 ; 문자로 되어 있는 부분)을 활성화 시켜줍니다.
업로드 파일 크기 옵션 수정
- upload_max_filesize : 업로드 파일 허용 크기
- post_max_size : POST 최대 사이즈(단위는 바이트, 0인 경우 무제한을 의미)
- max_execution_time : 스크립트 실행 가능한 최대 시간(단위는 초, 0인 경우 무제한을 의미)
- max_input_time : 스크립트 넘어가기 전에 엔진이 데이터 업로드 받는 최대 시간(max_execution_time와 동일)
- max_input_vars : GET/POST/COOKIE 입력 변수 최대 크기
확장 옵션 추가
- 주석(;) 해제 해주면 추가
- imagick : 메모리 사용량이 적고 우수한 이미지 처리 결과를 얻을 수 있지만 속도는 약간 느린편인 이미지 처리 라이브러리
- zip : 파일 읽기, 압축, 수정등을 할 수 있도록 해주는 라이브러리
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 안에 처리 부분 추가합니다. 기본 값으로 있는 설정 주석 해제 후 타임 아웃 설정 추가
- .htaccess 주석 삭제
Nginx 설정 확인 및 재시작
- sudo nginx -t
- sudo nginx -s reload
Nginx 업로드 크기 설정
이전 항목에서 파일 업로드 크기 제한을 변경해주었습니다. Nginx 웹서버에서도 제한 용량을 수정해주어야 합니다.파일 업로드 용량은 기본 1메가바이트(MB)입니다. nginx.conf 파일 수정으로 해결할 수 있습니다.
- sudo vi /etc/nginx/nginx.conf
Nginx 재시작
- sudo nginx -s reload
마치며
워드프레스 운영을 위해 기본적으로 설치해야 할 LEMP 스택 중 하나인 php 설치 방법에 대해 알아보았습니다.
2 thoughts on “PHP 다운로드 및 설정 방법(LEMP 설치하기 3/3)”