Browsed by
카테고리: 라즈베리파이

라즈베리파이를 활용한 다양한 팁과 테크에 대한 카테고리입니다.

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)

이런 글들은 어떠신가요?

bash, PuTTY SSH 등의 쉘에 로그인 할 때 에러가 날 때... ▶ 문제점 - PuTTY를 통해 SSH 쉘에 로그인 했을 때, 'not a valid identifier' 라는 에러가 Last Login 아래 발생함- 통상적으로는 not a valid identifier라는 에러가 나오는 경우는 환경변수($PATH)가 이상...
nginx + PHP-fpm에서 502 Bad gateway 에러 해결법 총정리... 필자는 개인적으로 최근 버전의 php-7.0을 사용하고 나서 502 Bad gateway 에러가 나는 빈도수가 거의 없어진 것을 느끼고 있습니다. 우분투에서 php 7.0을 설치하시는 방법이 궁금하신 분들은 여기를 누르셔서 PHP 업그레이드를 시도해 보시기 바랍니다. ...
Moto 360 (1세대) + iPhone Android Wear App 리뷰 (+ 스틸커... 안녕하세요. 곰곰입니다. 오늘은 최근에 구입한 안드로이드 웨어(Android Wear)인 Moto 360을 소개하고자 합니다.Moto 360은 모토롤라의 스마트밴드로써, 다양한 기능을 지원하는 스마트시계입니다. 2015년에 2세대 시계가 나왔음에도, 1세대 시...
PuTTY(또는 KiTTY등 PuTTY기반 SSH)에서 한글 쉘 사용하기... ▶ 들어가며 PuTTY는 최근 SSH(Secure SHell)을 구동할 수 있는 다양한 클라이언트들이 나와있음에도 불구하고, 강한 능력과 가벼운 프로그램으로 인해 오늘날에도 많이 쓰이고 있는 SSH 클라이언트입니다. 다만, 이 클라이언트가 지속적으로 업데이트 되고 ...