Ubuntu 16.xx Xenial

2017년1월2일 현재 Ubuntu 공식 Repository에 php7이 등록되어 있습니다.

php7은 5.x버전에 비해 훨씬 처리 속도가 빨라졌습니다.

저의 블로그도 라즈베리파이로 워드프레스를 서비스 하고 있었습니다만, php5.6 버전에서 7.0 버전으로 업그레이드 한 후, 페이지 로딩 속도가 현저히 빨라졌습니다.

php7을 설치하는 방법을 알아봅시다.

0. 패키지 설치

데비안계열 공식 저장소에는 아직 php7 apt 패키지를 배포하고 있지 않습니다. php7 설치를 위해 다음 두가지 옵션 중 하나를 선택할 수 있습니다.

이 포스트에서는 개인저장소, 즉 옵션 (b)를 이용하겠습니다.

1) mati75 저장소를 저장소 리스트에 추가

다음 명령어로 저장소 리스트를 엽니다.

$ sudo nano /etc/apt/sources.list

파일이 열리면, 하단에 아래 주소를 복사하여 붙여넣습니다.

deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free
#deb-src http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free

2) mati75 저장소의 공개키 추가

mati75의 저장소를 이용하기 위해서는, 공개키를 추가할 필요가 있습니다.

아래 명령어로 추가 할 수 있습니다.

gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
gpg --armor --export CCD91D6111A06851 | sudo apt-key add -

공개키 추가에 성공 하셨다면, apt 리스트를 업데이트 합니다.

$ sudo apt update -y

3) php7.0과 Nginx, Maria DB, Wordpress에서 사용 할 모듈 설치

$ sudo apt install php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-gd php7.0-json php7.0-mcrypt php7.0-mysql php7.0-readline -y

1. Nginx를 위한 php 설정

Nginx에서 php7.0-fpm 모듈을 사용하기 위한 설정을 확인합니다.

/etc/php/7.0/fpm/pool.d/www.conf를 다음 명령어로 열어 보면,

$ sudo nano /etc/php/7.0/fpm/pool.d/www.conf

중간에listen = /run/php/php7.0-fpm.sock가 있습니다.

이것은, php7.0-fpm 데몬이 실행되면 자동으로 생성되는 유닉스 소켓입니다.

이 소켓 파일을, Nginx의 설정 파일에 추가 해 주셔야 합니다.

Nginx의 가상호스트 설정 파일을 열어줍니다.

$ sudo nano /etc/nginx/sites-available/default

파일이 열리면, 서버 블락에 fastcgi_pass unix:/run/php/php7.0-fpm.sock;를 추가합니다.

location ~ \.php$을 언코멘트 하는 것을 잊지 마세요.

또한, nginxindex 구문에 index.php; 추가합니다.

2. 설정 확인하기

index.php 파일을 만들어 설정이 잘 되었는지 확인합니다.

$ sudo rm -R /var/www/html/* && $ sudo nano /var/www/html/index.php

nano 에디터가 열리면, <?php phpinfo(); ?>을 복사 후 붙여넣기 하시고 저장 및 종료합니다.

php7-fpmnginx 서비스를 재시작 합니다.

$ sudo service php7.0-fpm stop && $ sudo service nginx stop
$ sudo service php7.0-fpm start && $ sudo service nginx start

서비스가 실행 되었다면, 자신의 웹 브라우저에서 라즈베리파이의 ip주소를 입력합니다.

아래와 같은 화면이 나온다면, 설정이 잘 된 것입니다.

이상, 데비안계열 리눅스에 php7을 설치하는 방법을 알아보았습니다.