본문 바로가기
Etc/Blog Tips

PHP 버전 업그레이드 과정 정리 (AWS, 워드프레스)

by 곰씨네IT 2020. 7. 1.

AWS에서 여러 워드프레스 사이트를 운영하고 있습니다. 최근 워드프레스에서 계속 보안에 취약하니 PHP 버전 업그레이드 하라는 alert을 주고 있었는데요. 계속 미루다가 오늘 PHP 7.1 버전에서 7.4로 업그레이드 했고, 그 과정을 정리해봤습니다.

 

PHP 버전 업그레이드

1. AWS 스냅샷 생성 및 백업

현재 운영하고 있는 워드프레스 사이트에 방문자가 많다보니 잠시라도 문제가 생기면 수입 측면에서 손해를 많이 볼 수 밖에 없습니다. 따라서 문제가 생겼을 때 바로 복구할 수 있도록 AWS 스냅샷을 생성하고 워드프레스를 백업 받았습니다. (아래 글 참고)

 

Amazon EBS 스냅샷 생성

2. 각 버전 확인

예전에 실무에서 일할 때도 시스템 변경사항이 있을 때는 항상 관련 버전들을 다시 확인하고 기록하는 버릇이 있습니다. 문제가 생겼을 때 빠르게 대처하기 위한 조치라고 볼 수 있죠. 일단, 아래와 같이 PHP 버전, OS 버전(우분투), 웹서버(apache) 버전, DB(mysql) 버전을 체크하고 기록합니다.

 

$ cd /etc/php (설치되어 있는 php 체크)

$ php -v (php 버전 확인, php 7.1.33)

$ cat /etc/issue (우분투 버전 확인, ubuntu 16.04)

$ apaceh2 --V (아파치 버전 확인, apache2 2.4.18)

$ mysql --version (DB 버전 확인, mysql 14.14)

 

3. 업그레이드 할 PHP 버전 확인

어떤 버전으로 PHP를 업그레이드 시킬지 결정합니다. 제타위키에서 PHP 버전 목록을 간단히 확인해봅니다. 곧 PHP 8.0 버전이 출시될 계획이네요. 일단 현재 활성 지원 상태인 버전인 7.4로 업그레이드할 것을 결정했습니다.

 

4. PHP 설치

이제 최신 버전 PHP를 설치해줍니다. 우선 패키지 관리자인 apt를 업데이트하고, ppa:ondrej/php 개인저장소(가장 유명하다니..)로 연결하여 php를 설치합니다. 그리고 필요한 모듈들을 설치해줍니다. 

 

$ apt-get update

$ apt-get -y install software-properties-common

$ add-apt-repository ppa:ondrej/php

$ apt-get update

$ apt -y install php7.4

$ apt-get install php7.4-bcmath php7.4-bz2 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-dba php7.4-dev php7.4-enchant php7.4-fpm php7.4-gd php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-readline php7.4-snmp php7.4-soap php7.4-sqlite3 php7.4-sybase php7.4-tidy php7.4-xml php7.4-xmlrpc php7.4-zip php7.4-xsl -y

 

참고로, E: Unable to locate package php7.4 같은 error가 나오면 모든 명령어 앞에 sudo를 다 붙여주세요. (ex. $ sudo apt-get update, $ sudo apt-get -y install software-properties-common, $ sudo add-apt-repository ppa:ondrej/php)

5. PHP ini 변경

phpMyAdmin을 쓰고 있다면 DB 백업이나 업로드 시 용량 제한을 풀어줄 필요가 있습니다. 또한 메모리 용량도 늘려줘야 하는데요. 만약 이런 작업이 필요없다면 이 단계는 거치지 않아도 됩니다.

 

$vi /etc/php/7.4/fpm/php.ini 로 편집기 실행 후 아래 항목 수정

upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000

 

PHP Default timezone 변경이 필요하다면 아래 내용도 수정해줍니다. (변경하지 않으면 시스템 시간 사용)

date.timezone = Asia/Seoul

 

6. PHP 버전 변경

새로 설치한 PHP가 default로 실행되도록 변경해줍니다. 그리고 웹서버(여기서는 apache2)에서도 신규 php 버전을 쓰도록 하고 재시작을 해줍니다.

 

$ update-alternatives --set php /usr/bin/php7.4

$ a2dismod php7.1

$ a2enmod php7.4

$ service apache2 restart

 

7. PHP 버전 업그레이드 확인

새로 설치한 PHP 버전이 적용되었는지 확인합니다. 간단하게 $ php -v로 확인하면 되죠. 웹서버에도 잘 적용되었는지 확인하려면 index.php에 phpinfo();를 입력하여 아래와 같이 적용 버전을 확인합니다.

 

 

참고글

https://happist.com/568831/워드프레스-최적화-php-7-4-설치-방법/

https://lucidar.me/en/aws-cloud9/how-to-upgrade-php-to-7-2-on-ubuntu/

https://www.rosehosting.com/blog/how-to-install-php-7-3-on-ubuntu-16-04/

 

** 336x280 **

 

댓글