오드로이드 U3에 PHP 7 설치하기
서버, 웹 | 2016/01/02 23:30오드로이드 U3에 Ubuntu 16.04가 적용되면서 apt-get 명령어로 쉽게 설치가 가능해졌습니다. 이 글을 보시고 따라하시는 것을 추천합니다.
—
웹호스팅 사용 기간이 끝나가서 어떻게 할까 고민하다가 집에 있는 오드로이드 U3로 직접 운영하기로 했습니다. 이미 군대에 있는 동안 웹하드용으로 웹 서버를 운영하고 있었거든요. 생각 보다 안정적이라서 이 정도면 실제 사이트를 운영해도 괜찮다고 생각했습니다. 2016년 1월 현재 이 사이트는 오드로이드 U3 기반으로 운영되고 있습니다.
사실 오드로이드로 웹 서버를 운영하기는 쉽습니다. WSGVET이란 사이트에 잘 정리돼있거든요. 하지만 PHP 7이 출시됐다는 소식을 보고, 기존 PHP 5 서버를 운영하기엔 아쉬운 마음이 들었습니다. 그렇게 아무 것도 모르는 제가 오드로이드 U3에 PHP 7를 깔기 시작했죠. 그때는 이렇게 일이 커질 줄은 몰랐습니다.
※ 이 글은 초보자인 제가 배우는 과정에서 정리한 것입니다. 잘못된 부분은 지적해주시면 감사하겠습니다.
– OS는 하드커널에서 제공하는 Ubuntu 14.04.2 Image를 사용했습니다.
– 웹 서버 프로그램은 Apache 2.4.7을 사용했습니다. apt-get install apache2 하니까 이걸로 설치되더라고요.
– 데이터 베이스는 MariaDB, MySQL 기준입니다. 아래 내용대로 진행하시면 PHP와 연결됩니다.
– PHP 7.0.1 버전 기준입니다. 설치 전에 꼭 최신 버전을 확인하시기 바랍니다.
– Apache와 MariaDB 설치는 Lael’s World 사이트를 참고하시기 바랍니다.
– 같은 방법으로 라즈베리 파이에도 PHP 7을 설치할 수 있을 것 같습니다.
PHP 7이 최신 버전이다 보니까 apt-get install 명령어로는 설치가 안 됩니다. 저장소를 찾아보긴 했는데, ARM CPU를 위한 버전은 못 찾겠더라고요. 그래서 직접 컴파일해서 설치했습니다.
1. PHP 공식 사이트에서 PHP 7.0.1 버전을 다운 받습니다.
wget --content-disposition http://kr1.php.net/get/php-7.0.1.tar.gz/from/this/mirror
2. 압축을 풀어줍니다. php-7.0.1 폴더에 풀어집니다.
tar zxvf php-7.0.1.tar.gz
cd php-7.0.1
3. 컴파일을 위한 설정 단계입니다. ./configure 뒤에 붙는 문자열은 옵션인데, 제 환경에 맞춘 거라서 추가/변경/삭제가 필요할 수 있습니다.
sudo ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=mysqlnd --with-curl --enable-zip --with-zlib --enable-mbstring --enable-ctype --enable-opcache --with-gd
4. 컴파일합니다. -j5 옵션은 오드로이드 U3가 쿼드코어 프로세서이기 때문에 붙였습니다. (코어 수*1.2)가 가장 높은 효율을 낸다고 합니다.(http://idchowto.com/?p=13648)
sudo make -j5
5. 설치합니다.
sudo make install
6. PHP 설정 파일을 복사합니다.
sudo cp php.ini-development /usr/local/lib/php.ini
7. Apache2 설정을 수정해서 PHP 7을 로드시킵니다.
sudo vi /etc/apache2/apache2.conf
아래 내용을 추가합니다.
LoadModule php7_module /usr/local/apache2/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
8. Apache 서비스를 재시작합니다.
sudo service apache2 restart
9. PHP 정보를 확인합니다.
php 파일을 생성해, 내용에 <?php phpinfo(); ?>
를 입력한 후 업로드해서 접속합니다. 버전은 최상단에 PHP Version 7.0.1라고 표기됩니다.
글로 정리하니까 되게 간단하네요. 리눅스가 익숙치도 않고, 자료가 별로 없어서 이틀 가량을 고생했던 것 같습니다. 설치시에 기록해둔 자료를 기반으로 작성한 글이라서 빠진 부분이 있을 수 있습니다. 진행하시다가 막히면 댓글 달아주시면 제가 아는 선에서 최대한 도와드리겠습니다.
참고 사이트
PHP 한글 매뉴얼
PHP 영문 매뉴얼
Ubuntu 서버에서 PHP7 설치 적용하기(Lael’s World)
Installing PHP 7.0.0RC2 with mysqli on Raspberry Pi B(stackoverflow)
컴파일 후에 php7 바이너리는 어디서 찾을 수 있나요? 아니면 따로 컴파일이 가능한가요?
댓글 확인이 늦었습니다. 죄송합니다.
PHP 설치 경로를 물어보신 거라면 제 경우엔 /usr/local/lib/php/로 설치됐습니다. PHP 정보 페이지에도 나오더라고요.
설치 경로를 직접 지정할 수도 있습니다. configure 작업할 때, –prefix= 옵션을 걸어주시면 됩니다. 도움이 됐으면 좋겠습니다.
감사합니다. 덕분에 APM + PocketMine-MP 구동에 성공했습니다
저 질문하나 드립니다. C1 을 받았는데 여기에서 파일을 어떻게 추출할수 있는지 답변좀 부탁드립니다.
현재 php 최신 버전이 7.0.5입니다. http://kr1.php.net/get/php-7.0.1.tar.gz/from/this/mirror 에서 파일 다운 받으시고, 압축 푸셔서 3번부터 동일하게 진행하시면 될 겁니다. 만약 안 되면 명령어 앞에 sudo 붙이셔서 루트 권한으로 실행해보세요!
도움이 됐으면 좋겠습니다. 궁금한 점 있으시면 질문해주세요