컴퓨터공부/Embedded

arm web server boa 설치...

achivenKakao 2006. 8. 27. 19:26

arm에 웹서버 설치할 일이 있어서 구한 자료입니다.

그런데 필요가 없군요. eldk 안에 다 있군요. 버젼이 달라서 꼭 컴파일 해야 한다면

아래와 같은 방법으로 하면 되겠습니다. 그리고 PPC나 MIPS와 같은 것들도 마찬가지죠.

다 하고 보니 한가지 추가점은 boa.conf에서 꼭 log는 다 풀어놓구 사용하며, CGI log도

사용하는것이 좋다는것. 다 쓰고는 꼬옥 사용 안함으로 해야 디스크 풀이 안난다는것.

마지막으로 무슨 버젼이든 제공되는 문서는 대충이라도 읽어본다.

 

혹시 boa를 사용할 예정이라면 thttpd도 같이 검토하길.

http://www.acme.com/software/thttpd/thttpd.html

 

==============================

Xscale에 웹서버 설치 하기.

boa라고 하는 이름의 웹서버 이다.

boa웹서버를 설치하기 위해서는 우선 크로스 컴파일러가 host컴퓨터에 설치 되어 있어야 한다. 우리는 타겟(PXA255)에 웹서버를 설치를 한다고 가정 한다.

웹서버인 boa서버는 www.boa.org에서 구할수 있으며, GPL라이센스를 따르
는 소프트 웨어이다.

이 경우는 boa웹 서버를 x86이 아닌 arm용으로 크로스 컴파일러를 통하여, 
1. www.boar.org 웹 사이트에서 boa 웹서버를 가져 온다.
2. 받아온 boa 서버의 압축을 해제 한다.
3. 빌드
  3-1. 압축을 풀고 boa-<버전>/src 디렉토리로 이동을 한다.
  3-2. ./configure
  3-3. Makefile에서 2,3줄쯤에 존재하는 CC와 CPP를 arm-linux-gcc로 바꾸어 준다.
  3-4. make를 실행
4. boa Web서버 구동하기
  4-1. make의 실행후에, boa바이 너리 파일(실행 파일)을 찾을 수있을 것이다. 이것

        우선 타겟 보드의 /usr/bin 디렉토리에, 상위 디렉토리의 boa.conf파일을 /etc

        디렉토리에 옮긴다.
  4-2. boa server를 다음과 같이 실행한다.  /usr/bin/$ ./boa -c /etc

        (아파치에 있는 ServerRoot의 개념, 즉 boa바이너리와 설정화일이 있는 위치를

          지정해서 실행을 한다.)
  4-3. /etc 디렉토리에 boa.conf 설정 파일이 존재 해야 한다.
        (위 처럼 실행을 하였을 경우)
  4-4. 4-2와 같이 실행을 하게 되면, error가 발생하게 되는데 error를 해결하는 방법이

         다. 
     4-4-1. boa.conf파일을 열고 Group을 nobody로 변경을 해준다.

               (기존에는 nogroup로 되어 있을 것이다.)
     4-4-2. Error log와 Access log 디렉토리를 존재하거나 자신이 만들어 놓은 곳으로

              변경해 주거나(ex. /usr/local/boa/log/), 이부분을 아예 주석처리한다.
     4-4-3. mime.types 파일을 만들어야 한다. ( 기존의 i386에서 아파치 웹서버를

              설치하여 사용하고 있다면, host컴퓨터에 있으므로 그것을 그냥 타겟 으로

              가져와서 boa.conf에서 요구하는 곳으로 이동시키거나, 자신이 위치를 변경

              하여 변경한 곳에 mime.types를 위치 시켜 놓아도 된다.)

              여기서는 /etc 디렉토리에 만들어 놓자.
     4-4-4. Document Root 디렉토리도 자신이 원하는 위치로 변경을 한다.

              (여기서는 /var/www/ 로 만들어 놓는다.)
     4-4-5. 다시 타겟에서 ./boa -c /etc & 를 실행을 한다. (만약 이것 이외의 다른

               error가 발생하게 되면 error사항을 조정을 해주면 된다.) 
5. ps aux 명령으로 boa 프로세스가 돌고 있는지 확인을 한다. 
6. Document Root에 index.html을 만들고 HOST의 웹브라우저를 통해서 

   확인을 하면 됨. (ex. 주소줄에 타겟의 IP와 index.html)