어느정도 IT에 경험이 있으신 분은 아시겠지만, 시스템은 지속적인 업데이트와 업그레이드, 패치등을 해야 합니다. 마치 살아있는 생명체 처럼 지속적으로 관리를 해주어야 존속이 가능합니다. 처음에 완전히 구축해 놓은것 같은 생각이 들어도, 금새 관리이슈가 발생하는 것이 IT 인프라입니다. 어쩌면 그것이 IT의 발전을 나타내는 것일지도 모릅니다.
관리 요소중에, OS 보안 패치가 있고, LTS 서비스가 종료되면 메이저 업데이트를 해야되는 경우도 발생합니다. 오늘 다루고자하는 php와 같은 모듈 업데이트가 필요한 경우도 있고, 데이터베이스 엔진을 교체해야 되는 경우도 발생합니다.
오늘은, 오래된 php를 바꾸는 방법에 대해서 알아보겠습니다.
* 본 블로그는 참고 사항으로, 서버의 종류와 설치된 모듈 및 여러 환경에 따라 다를 수 있습니다. 반드시 테스트 서버에서 시도후 운영서버에 적용하기 바랍니다.
목차
아래 작업을 수행하기 전에 워드프레스를 백업한 후 수행하는 것이 좋습니다.
리눅스에서 직접 업데이트
우분투 리눅스를 사용중이라고 가정하여 진행하겠습니다.
먼저, 리눅스의 shell 에 접근하여, php 의 현재 버전을 확인합니다. 항상 현재 상태를 확인하는 것으로 시작하는 습관이 좋습니다.
php -v
패키지를 최신판으로 올려줍니다.
sudo apt-get update sudo apt-get upgrade
PHP8.1 버전을 설치합니다.
sudo apt-get install php8.1
기타 필요한 extensions 를 같이 설치합니다.
sudo apt-get install libapache2-mod-php8.1 sudo apt-get install php8.1-cli php8.1-common sudo apt-get install php8.1-json php8.1-opcache sudo apt-get install php8.1-mysql sudo apt-get install php8.1-bcmath php8.1-xml sudo apt-get install php8.1-curl php8.1-imap php8.1-gd
위의 명령어에 포함되어 있지 않지만, 현재 사용중인 모듈이 있다면, 찾아서 업데이트 해줍니다.
필요에 따라 php.ini 파일을 편집할 수 있습니다.
php.ini 의 위치는 /etc/php/8.1/apache2/php.ini 입니다.
이전 버전의 php를 disable 합니다.
a2dismod php7.2 #or a2dismod php7.4
apache 서버를 재 시작합니다.
sudo service apache2 restart
클라우드웨이즈에서 업데이트
CloudWays 콘솔에 로그인 합니다.
Server 메뉴로 갑니다.
php 업데이트전, Backup 본을 만드는 것을 권장합니다.
GUI를 통해 서버단위의 Backup을 수행할 수 있습니다.
상기 그림처럼 서버단위 백업을 진행하거나, 어플리케이션 레벨에서 백업을 남겨놓는 방법이 있습니다.
서버 단위의 Backup을 수행했으면, Settings & Packages 메뉴에서 원하는 버전의 PHP로 변경합니다.
서버단위 백업하라고 경고가 한번 뜹니다.
Continue로 진행합니다.
업데이트가 적용되고 있습니다.
업데이트 진행중에는 웹 페이지 접속이 안되니, 서비스 사용자가 없는 시간대에 진행하는 것이 좋습니다.
모든 업데이트가 완료되면, 웹페이지에 접속해서, 동작에 이상이 없는지 꼼꼼히 확인합니다.
아래 그림과 같이 정상 적용 되었습니다.
만약 이렇게 편리한 CloudWays 계정이 아직 없다면, 아래 링크를 통해 계정을 생성할 수 있습니다.