강좌 & 팁
EZ-S3C6410에서 PHP 실행 방법
지난주에 EZ-S3C6410용으로 php를 컴파일 하였습니다.
중요해요!!
1. 작업 환경
개발서버 : Ubuntu 11.04 Server 버전 툴체인 : arm-linux-gnueabi-4.3.2.tar.gz
타겟보드 : 에프에이리눅스 EZ-S3C6410 보드 웹서버 : lighttpd 1.4.29
2. PHP 실행 테스트
EZ-S3C6410 보드에 접속을 합니다. (사전에 6410용으로 컴파일한 php 파일을 먼저 복사해놓으셔야 합니다.)
php 설치 폴더(/usr/local/php)로 가서 bin 안에 php-cgi 를 실행시키면 됩니다.
[root@falinux ~]$ cd /usr/local/php
libxml2 관련 라이브러리가 없어서 실행 에러가 납니다.
컴파일을 했던 서버로 이동해서 libxml2 라이브러리 파일을 복사해 와야 합니다. 서버에서 libxml2 설치 위치는 /usr/local/libxml2 였습니다. 라이브러리 파일들을 압축합니다.
$ cd /usr/local/libxml2
nfs 를 통해서 가져온 파일들을 /lib 폴더로 복사한 다음, 압축을 풀어준다.
[root@falinux ~]$ cp -a /mnt/nfs/libxml2_lib.tar.gz /lib/
다시 php 를 실행하면, 에러가 나타나지 않습니다.
[root@falinux ~]$ cd /usr/local/php
에러가 발생하지 않아야 정상적으로 실행할 준비가 되었다는 것입니다.
3. modules.conf 파일 수정
PHP 만 실행했다고 PHP 파일을 불러올 수 있는게 아닙니다.
웹서버는 구동하는 lighttpd에서 php를 호출할 수 있게 설정을 해줘야합니다.
이번엔 lighttpd 폴더로 이동을 합니다.
[root@falinux ~]$ cd /usr/local/lighttpd
환경 설정 파일인 ligttpd.conf 파일이 아닌 옆에 있는 modules.conf 파일을 수정해줘야합니다.
________________________________________________________________
modules.conf 파일 : fastcgi 활성화 (주석을 제거해줍니다.)
________________________________________________________________
modules.conf 파일 : 모듈 활성화 (주석을 제거해줍니다.)
________________________________________________________________
modules.conf 파일을 수정했으면, 활성화 시켰던 fastcgi 설정 파일을 수정해줘야합니다.
conf.d/fastcgi.conf 파일 : 활성화 (주석을 제거해줍니다.)
주석을 제거한 다음, php-cgi 의 경로를 적어줍니다.
4. 실행
수정한 다음, llighttpd 폴더로 이동하여 실행을 해줍니다.
[root@falinux /]$ cd /usr/local/lighttp/
아무런 오류 메시지가 없다면 실행된 것입니다.
확인해 보기 위해 phpinfo를 통해 테스트 해보도록 하겠습니다.
html 파일이 실행되도록 지정된 폴더로 이동합니다. 예전에 설치했을 때, 기본 경로는 /srv/www/htdocs였습니다.
아래와 같이 vi 명령으로 phpinfo.php 파일을 생성해줍니다. [root@falinux /]$ cd /srv/www/htdocs
그 다음, 아래와 같이 작성을 해줍니다.
<?
저장을 해서 빠져나옵니다.
5. 웹 브라우저 접속
이제 웹 브라우저를 키고, 보드의 ip 주소를 입력합니다. 보드 IP 주소를 192.168.100.100 이라고 임시로 지정하였습니다.
아래와 같이 입력을 해줍니다.
http://192.168.100.100/phpinfo.php
웹 페이지에 아래와 같이 php 정보가 나왔으면, 정상적으로 실행이 된 것입니다. 설치한 configure 옵션에 맞게 지원되는 php 문장을 작성하면 됩니다.
미션 완료
lighttpd 에 이어서 php 까지 포팅을 해봤습니다. 아직 php 의 다양한 옵션을 테스트 해보진 않았지만, 간단한 php 스크립트를 무난하게 소화합니다.
그리고 염려되었던 속도도 그렇게 느리지 않아서 기분이 좋습니다.
EZ-S3C6410을 다양하게 사용할 수 있는 부분 중에 웹 서버의 기능을 활용해본거 같아서 뿌듯합니다.
|
저와 같은 분이 또 있을까봐 글을 남깁니다.
일단 강좌에 조금의 오류가있습니다.
우선 modules.conf 파일에서는
132번줄의 주석만 제거해주면됩니다.
132 #include "conf.d/fastcgi.conf
를
132 include "conf.d/fastcgi.conf
로 바꿔주시면됩니다.
conf.d/fastcgi.conf 파일에서는
강좌대로 하고 마지막에
) 를 추가해줘야합니다.
그리고 소켓 디렉토리를 추가해줘야합니다.
lighttpd 강좌에서 추가했던 디렉토리에 추가로
아래명령어를 이용해 소켓 디렉토리를 만들어줘야 php가 정상 동작됩니다.
mkdir -p /var/lib/lighttpd/socket
마지막으로
phpinfo.php 파일의 내용을
<?php
phpinfo();
?>
로 수정해주세요
그럼 잘동작되네요