nginx/Apache 우분투 서버에 PHP7(PHP7-fpm) 설치(또는 업데이트) 하기

nginx/Apache 우분투 서버에 PHP7(PHP7-fpm) 설치(또는 업데이트) 하기

※ 본 팁은 기본적으로는 nginx + PHP7-fpm + PHP7-mysql 조합으로 설치 또는 업데이트 하는 방법을 기준으로 하고 있습니다.
※ 하지만 Apache + PHP7 + PHP7-mysql 조합으로 설치하는 분들에게도 적용이 가능합니다. (nginx 설정 부분 제외하여 적용)
(2016/02/25 기준) PHP 7.0을 배포하는 ppa(개인 레파지토리)가 기존의 ppa:ondrej/php-7.0 에서 ppa:ondrej/php 로 통합되었습니다. 기존에 php-7.0 ppa를 이용하시던 분들은 반드시 sudo add-apt-repository –remove ppa:ondrej/php-7.0 명령어를 실행한 이후 sudo add-apt-repository ppa:ondrej/php로 ppa를 변경하여 사용하시기 바랍니다.

▶ 들어가며

[ 우분투 시스템에서 PHP 7과 nginx 설치하기 ]
[ 우분투 시스템에서 PHP 7과 nginx 설치하기 ]
nginx는 기본적으로 Apache 등에 비해서 퍼포먼스가 괜찮은 웹 서버입니다. 현재 이 곰곰 잡동사니 블로그를 운영하고 있는 필자의 서버 또한 라즈베리 파이 2B라는 좋지 않은 스팩의 미니 컴퓨터인데도, nginx로 워드프레스를 운영하고 있는 중입니다.

워드프레스를 운영하기 위해서는 nginx 외에도 같이 작동해야 할 어플리케이션이 있는데, 그 중에 대표적인 어플리케이션을 뽑으라고 하면 PHP가 있습니다. PHP는 과거부터 HTTP 어플리케이션이 좀 더 동적이고 다양한 방식으로 운영될 수 있도록 해 주었는데요. 최근까지는 PHP5 버전이 비교적 많이 쓰이고 있었고, 제품 지원또한 잘 이루어지고 있었습니다.

하지만 2015년 12월, PHP7 버전이 정식으로 릴리즈 되었고, PHP5.5는 2016년 7월 10일, PHP 5.6은 2017년 8월 28일에 보안 업데이트 지원이 중단된다(관련 공식 홈페이지 페이지)는 이야기가 있는 만큼, PHP7 으로 업그레이드 해서 지속적인 보안 지원을 받고, 한편으로는 PHP 처리 속도 등에서도 유리하지 않을까 하는 생각에 업데이트를 결심하게 되었습니다.

또한 다행히도 PHP7 에서도 워드프레스는 정상 작동(링크)한다는 이야기를 들었기에, 안심하고 업데이트를 수행하였습니다.

 

 

▶ PHP 7.0 설치 준비하기

현재 우분투 공식 apt-get 배포지에서는 PHP7 등이 공식적으로 지원되지 않고 있습니다. 따라서 현재 PHP7 등을 설치하기 위해서는 개인 패키지 어카이브(영어로 Personal Package Archive; 이하 PPA)를 등록하여 apt-get를 이용해야 합니다. Ondřej Surý는 우분투 개발자중에 한 명인데, 그의 PPA에는 우분투에서 바로 사용 가능한 PHP 7.0이 올라와 있습니다. 따라서 우리 리눅스 시스템에서 이 PPA를 활용하기 위해 아래와 같은 명령어를 사용하여 저장소를 등록해 줍니다.

 

참고로 외국 홈페이지에 따르면, 이 저장소를 활용할 때는 시스템이 UTF-8을 지원하는 시스템으로 설정되어 있어야 한다고 합니다.

어쨌든 PPA에서 php-7.0 관련 저장소를 인스톨했다면, apt-get update를 활용해 개인 리눅스 시스템 저장소를 업데이트 해 줍니다.

[ apt-get update를 구동하면 이와 같이 저장소의 캐시를 새로고칩니다. ]
[ apt-get update를 구동하면 이와 같이 저장소의 캐시를 새로고칩니다. ]
 

이제, PHP 7.0을 설치할 준비는 모두 끝났습니다.

 

 

▶ 선택지 1) nginx 유저를 위한 PHP 7.0 fpm 설치

nginx를 사용해신 분들이라면 아시겠지만, nginx는 PHP를 기본적으로 지원하고 있지 않아, nginx 상에서 PHP를 구동하기 위해 PHP-fpm 이라는 패키지를 필요로 하게 됩니다. 따라서 보통 Apache 서버에서 설치하는 것처럼 apt-get install php7.0 이라는 명령어로는 PHP를 구동하실 수 없습니다.

따라서 php7.0-fpm 을 설치해주도록 합니다.

 

기존에 php5-fpm 이 설치되어 있으셨던 분들은, 자동으로 php5-fpm이 php7.0-fpm으로 업데이트 되는 것을 확인하실 수 있으실 겁니다.

php7.0-fpm의 설치 이후, MySQL/MariaDB을 같이 이용하시는 분들은 php5-mysql의 업데이트 버전인 php7.0-mysql 또한 설치해 주셔야 합니다.

 

설치가 끝나면, 이어서 nginx 상에서 PHP 7.0을 구동하실 수 있게 nginx 설정 파일을 바꾸어 주셔야 합니다. nginx를 apt-get을 통해 설치해 주신 분들은, 기본 사이트의 설정 파일이 /etc/nginx/sites-available/default 에 존재함을 아실겁니다. 여러분들이 편한 텍스트 에디터로 이 파일을 열어줍니다. (저는 편의상 nano를 활용합니다.)

 

설정 파일을 열어, 먼저 기존 php5-fpm을 위해 구동되고 있던 부분을 주석처리 한 후, php7.0-fpm을 위해 설정 파일에 다음과 같은 부분이 들어가도록 합니다.

 

저의 경우는 아래 이미지와 같이 설정해 두었으므로, 설정 파일 입력에 참고하시기 바랍니다.

[ 이와 같이 기존의 php5 구동을 위한 부분을 주석처리 후, 새로이 설정 파일을 씁니다. ]
[ 이와 같이 기존의 php5 구동을 위한 부분을 주석처리 후, 새로이 설정 파일을 씁니다. ]

다음과 같이 설정하고, 설정 파일을 저장한 이후, nginx를 재시작해 줍니다.

 

 

▶ 선택지 2) Apache 유저를 위한 PHP 7.0 설치

Apache 유저는 설정 파일의 수정 없이 PHP 7.0과 관련 패키지만 설치되면 됩니다. 다음과 같이 PHP 7.0/PHP7-mysql을 설치 후, 아파치 서버를 새로 시작해 줍니다.

 

 

▶ PHP 테스트하기 & 끝마치며

여러분들의 웹서버가 돌아가고 있는 디렉토리 루트에, PHP 정보 확인을 위한 파일을 하나 만듭니다. (예: phpinfo.php)

 

이 파일을 만들어 실행해 보면, PHP가 7.0으로 실행되고 있는 것으로 확인하실 수 있습니다.
( 확인을 위해 만든 phpinfo.php 는 확인하시고 지워주시는 것이 보안상 좋습니다. )

[ phpinfo();를 통해 PHP 7.0가 정상적으로 작동하는 것을 확인할 수 있었습니다. ]
[ phpinfo();를 통해 PHP 7.0가 정상적으로 작동하는 것을 확인할 수 있었습니다. ]
위와 같이 PHP가 7.0으로 구동되고 있다는 것을 확인하실 수 있습니다.

 

저는 개인적으로 PHP 7.0 업데이트 후 어느 정도 워드프레스가 가벼워진 느낌을 받았는데, 여러분들은 어떨지 모르겠습니다.

어찌되었든 성공적인 업데이트를 기원합니다. 두서 없는 글 읽어주셔서 감사합니다.

 

※ 참고 : How To Upgrade to PHP 7 on Ubuntu 14.04 (https://www.digitalocean.com/community/tutorials/how-to-upgrade-to-php-7-on-ubuntu-14-04)

이런 글들은 어떠신가요?

(Avira 백신 사용자) 네이버가 하얀 화면으로 나오는 문제 해결 방법... 안녕하세요. 곰곰입니다.오늘은 크롬 등의 브라우저에서 네이버 페이지 등(필자는 네이버 페이지였으나 다른 페이지도 이럴 수 있음)이 하얀 화면으로만 나오고 아무 화면이 나오지 않는 경우의 해결 방법에 대해 알아보고자 합니다.   ...
헬로모바일 SKT망에서는 VoLTE가 사용이 불가능하다? (부분수정)... 이 글은 처음에는 헬로모바일 SKT 망에서는 아직까지 VoLTE 사용이 불가능 하다는 글이었습니다. 2016. 3. 30. 현재, 공식적으로 SKT MVNO에서는 VoLTE 사용이 가능한 상황이며 블로그 방문객 여러분들도 이용 가능하다는 제보를 해 주셨습니다. 하지만 ...
2016 AWSome Day(AWS 어썸데이) 서울 참석 후기... 안녕하세요. 곰곰입니다.저는 평소에 이 블로그를 운영하기 위해서 무려(...) 아마존 웹 서비스(이하 AWS)를 이용하고 있는데요. AWS 홈 페이지와 사용자 포럼을 이리저리 둘러보던 중에 올해 3월 8일에 AWSome Day라는 공개 교육 이벤트를 진행한다고 ...
WordPress (또는 과거 PHP 프로그램) 에서 UTC 시각이 잘못 표시될 때... ▶ 문제점 - WordPress 설정에서 UTC 시각이 표현되야 하는 부분에서 UTC 시각이 아닌 현지 시각이 표시되는 문제가 발견됨 - 이는 워드프레스 게시글 발행 시간이 한국 같은 경우에는 9시간 전으로 표시되는 등, 시각 표시가 이상해지...

3 thoughts on “nginx/Apache 우분투 서버에 PHP7(PHP7-fpm) 설치(또는 업데이트) 하기

  1. 질문 남겨봅니다.

    제가 설치는 제대로 한거 같은데…php -v 으로 확인하면 php 7.0으로 제대로 나오는데..

    웹서버가 돌아가고 있는 디렉토리 루트에, PHP 정보 확인을 위한 파일을 하나 만들어서 확인을 하면 (phpinfo.php같은거) 이전버젼인 php 5.5라고 나오네요. T T.

    혹시 왜그런지 아시면 답변좀..부탁드려요..구글링을 해도 소용이 없네요

    1. nginx를 사용하시는 경우에는 nginx.conf 파일에 php 소켓을 php7.0-fpm으로 잘 전달되게 설정해두셨는지 확인하실 필요가 있습니다.

      혹시 웹서버는 nginx와 아파치 중에서 어떤 것을 사용중이신가요? ^^;

호랑세상에게 댓글 남기기 댓글 취소

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다