Etc/Blog Tips

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

곰씨네IT 2020. 7. 1. 06:38

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 **