AWS에서 여러 워드프레스 사이트를 운영하고 있습니다. 최근 워드프레스에서 계속 보안에 취약하니 PHP 버전 업그레이드 하라는 alert을 주고 있었는데요. 계속 미루다가 오늘 PHP 7.1 버전에서 7.4로 업그레이드 했고, 그 과정을 정리해봤습니다.
1. AWS 스냅샷 생성 및 백업
현재 운영하고 있는 워드프레스 사이트에 방문자가 많다보니 잠시라도 문제가 생기면 수입 측면에서 손해를 많이 볼 수 밖에 없습니다. 따라서 문제가 생겼을 때 바로 복구할 수 있도록 AWS 스냅샷을 생성하고 워드프레스를 백업 받았습니다. (아래 글 참고)
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/
'Etc > Blog Tips' 카테고리의 다른 글
티스토리 블로그 단축키 유용한 것만 모음 (0) | 2017.05.25 |
---|---|
저작권법 걱정없는 이미지 검색 방법 3가지 (0) | 2017.02.15 |
애드센스(Adsense) 페이지별 실적 확인을 위한 URL 채널 설정 (0) | 2017.02.04 |
애드센스(Adsense) CPC 단가를 올리기 위한 맞춤채널(사용자설정 채널) 설정 (0) | 2017.02.04 |
구글 애드워즈로 키워드 별 CPC 단가 체크 방법 (0) | 2017.02.04 |
댓글