보아 웹 서버 설치하기
■ 개요 - BOA란?
보아 웹서버는 아파치와 같은 강력한 성능을 자랑하지는 않지만 임베디드 기기에서 웹 서비스를 제공하기 위한 용도로는 매우 적은 크기의 서버 프로그램 입니다.
크기가 매우 작기 때문에 기능의 제한은 있으나 기본적인 HTML 문서의 전달하는 HTTP 프로토콜과 CGI를 기본적으로 갖추고 있습니다.
■ 작업 환경
테스트 보드 : FALinux ESP-CX 보드 (EZ-X5, ESP-MMI 에서도 테스트 하였습니다.)
참고 문서 : FALinux 홈페이지 (htttp://www.falinux.com)
자료실 > EZBOARD-M01 > 15장 BOA 웹서버 구동하기
■ BOA 설치
작업은 서버 또는 VMware 환경에서 진행하시면 됩니다.
아래 작업은 커널 2.6 대의 서버(192.168.10.26)에서 하였습니다.
먼저, 작업할 디렉토리를 만들어 줍니다. boa 라고 만들었습니다.
[root@arm26 /]# mkdir boa
[root@arm26 /]# chmod 777 boa
보아 홈페이지 (http://www.boa.org) 에서 BOA 최신 파일을 다운로드 하였습니다.
news 란에서 최신 버전인 boa-0.94.14rc2 파일을 다운로드 받았습니다.
boa-0.94.14rc21.tar.gz 파일 다운시 boa-0.94.14rc21.tar.tar로 되는 경우가 있으니 파일 이름을 변경하도록 합니다.
[root@arm26 boa]# mv boa-0.94.14rc21.tar.tar boa-0.94.14rc21.tar.gz
압축을 풀어줍니다.
[root@arm26 boa]# tar -zxvf boa-0.94.14rc21.tar.gz
압축이 풀어진 폴더로 이동합니다.
[root@arm26 boa]# cd boa-0.94.14rc21
[root@arm26 boa-0.94.14rc21]#
configure 후에 Makefile을 변경해 줘야하는데 옵션으로 configure 을 수행하면서 바꿔주도록 합니다.
CC 부분을 바꿔주면서 arm-linux-gcc 에서 arm-linux로 변경합니다.
[root@arm26 boa-0.94.14rc21]# CC=arm-linux-gcc ./configure --host arm-linux
위의 방법대로 옵션을 준 후에 별다른 수정없이 make 를 수행해줍니다.
[root@arm26 boa-0.94.14rc21]# make
make 가 끝난 후에 환경 설정 파일을 가져오도록 합니다. contrib/rpm/ 폴더 안에 존재합니다.
[root@arm26 boa-0.94.14rc21]# cp contrib/rpm/boa.conf ./
가져온 파일을 편집하도록 합니다.
[root@arm26 boa-0.94.14rc21]# vi boa.conf
보아 파일을 저장할 장소 또는 실행할 장소를 /usr/local/boa/ 로 정한 다음 아래와 같이 수정하였습니다.
48 User nobody
49 Group nobody
62 ErrorLog /usr/local/boa/log
74 AccessLog /usr/local/boa/log
94 ServerName 192.168.10.### (이지 보드에서 사용하는 ip 주소 입력)
111 DocumentRoot /usr/local/boa/html
130 DirectoryMaker /usr/local/boa/boa_indexer
155 MimeTypes /usr/local/boa/mime.types
환경설정에서 지정한 위치에 boa 폴더를 만들어 줍니다.
[root@arm26 boa-0.94.14rc21 ]# mkdir /usr/local/boa
위에서 컴파일 했던 파일들을 복사해 줍니다.
[root@arm26 boa-0.94.14rc21 ]# cp -a ./src/boa /usr/local/boa/
[root@arm26 boa-0.94.14rc21 ]# cp -a ./src/boa_indexer /usr/local/boa/
[root@arm26 boa-0.94.14rc21 ]# cp -a ./boa.conf /usr/local/boa/
[root@arm26 boa-0.94.14rc21 ]# cp -a /etc/mime.types /usr/local/boa/
[root@arm26 boa-0.94.14rc21 ]#
빈 log 파일을 생성해줍니다.
[root@arm26 boa-0.94.14rc21 ]# vi /usr/local/boa/log
이제 실제로 웹파일을 저장할 수 있는 html 폴더를 생성합니다.
[root@arm26 boa-0.94.14rc21 ]# mkdir /usr/local/boa/html
임시로 사용할 index 페이지를 만들거나 복사해줍니다.
[root@arm26 boa-0.94.14rc21 ]# vi /usr/local/boa/html/index.html
hello!!
* 테스트를 위해 간단하게 표현 했을뿐, 기존에 만들어진 소스를 이용하셔도 됩니다.
간단하게 작성한 index.html 파일을 저장합니다.
이제 nfs 시스템을 통해 ESP-CX 보드에 넘겨줄 작업을 합니다.
[root@arm26 boa-0.94.14rc21 ]# cd /nfs
nfs 폴더안에 boa_file 폴더를 만들어서 usr/local/boa 에 정리했던 파일을 가져옵니다.
[root@arm26 nfs]# mkdir boa_file
[root@arm26 nfs]# chmod 777 boa_file
[root@arm26 nfs]# cp -a /usr/local/boa /nfs/boa_file/
이제 ESP-CX 보드로 부팅을 합니다.
nfs 명령을 사용하여 작업한 서버 환경에서 파일을 가져오도록 합니다.
[root@falinux /]$ mount -t nfs -o nolock 192.168.10.26:/nfs /mnt/nfs
nfs 마운트가 된 후에 boa_file 폴더를 보드의 /usr/local/ 밑에 복사해주도록 합니다.
[root@falinux /]$ cd /mnt/nfs
[root@falinux nfs]$ cp -a boa_file /usr/local/
/usr/local/로 이동한 후에 이름을 boa 로 변경해 줍니다.
[root@falinux boa]$ cd /usr/local/
[root@falinux local]$ mv boa_file boa
이제 boa 폴더로 이동후에 아래와 같이 실행해 줍니다.
[root@falinux local]$ cd boa
[root@falinux boa]$ chmod +x boa
[root@falinux boa]$ ./boa -c /usr/local/boa &
[root@falinux boa]$ ps aux
그 다음 웹 브라우저를 통해서 보드 아이피로 접속합니다.
예) http://192.168.10.###/index.html
웹페이지에 Hello!라고 뜨면서 웹페이지가 뜨면 boa 가 성공적으로 설치된 것을 확인 할 수 있습니다.
태그 : *웹 *보아 *BOA *ESP-CX
고맙습니다. ^^
주제별 기사 모음 중, 인터넷/서버 모음에 링크를 추가했습니다. ^^