EZ-S3C6410에서 실행되는 lighttpd 컴파일 방법

 

지난번에 EZ-S3C6410에서 apache2를 실행할 수 있게 컴파일을 했었습니다.

이번엔 lighttpd를 컴파일 해보도록 하겠습니다.

 

일반적으로 웹서버는 무겁다는 선입견이 있습니다.

하지만, lighttpd 웹서버는 이름에서도 볼수 있듯이 apache 보다 적은 메모리를 사용하면서 apache 보다 속도 처리가 빠른 장점이 있습니다.

 

임베디드 시스템에 apache 보다 가볍게 동작 가능한 lighttpd를 컴파일 해보도록 하겠습니다.

 

 

1. 작업 환경

 

서버 : Ubuntu 11.04 Server 버전

툴체인 : arm-linux-gnueabi-4.3.2.tar.gz
           (ftp://ftp.falinux.com/toolchain_ramdisk/recommendation/gcc-4.3.2/arm-linux-gnueabi-4.3.2.tar.gz 파일 사용)

 

 

2. Lighttpd 아파치 버전

 

홈페이지 : lighttpd 주소는 아래와 같습니다.
              http://www.lighttpd.net 에서 Download 링크를 누르면 파일을 다운로드 받을 수 있습니다.
              (문서 작성시 최신 버전은 1.4.29 였습니다.)

 

lighttpd_001.png

 

파일 : lighttpd-1.4.29.tar.gz [다운로드]
         리눅스에서 wget 으로 받아주시면 됩니다.

 

 

3. 다운로드 및 압축 풀기

 

파일을 다운로드 받도록 합니다.

 

$ wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.29.tar.gz

 

다운로드 받은 파일의 압축을 풀어줍니다.

 

$ tar zxvf lighttpd-1.4.29.tar.gz

 

압축을 푼 다음 lighttpd-1.4.29 폴더 안으로 이동합니다.

 

$ cd lighttpd-1.4.29

 

 

3. zlib 컴파일

 

lighttpd를 컴파일 하기 위해서는 zlib 가 컴파일 되어 있어야 합니다.

 

다음 문서를 참고해서 zlib를 설치해주면 됩니다.

 

[ARM용으로 zlib 1.2.5 라이브러리 포팅 하기]

 

 

4. lighttpd 컴파일

 

lighttpd-1.4.29 폴더에서 컴파일을 진행합니다.

 

아래 내용을 복사해서 설정을 합니다.

(복사할 때, html 내용이라서 약간 변형되게 복사될 수도 있습니다.
먼저 메모장에 붙여넣기를 하신 다음, 다시 그것을 복사해서 쉘에서 붙여넣으신 다음 실행하시면 됩니다.)

 

참고로 설치 폴더 위치를 --prefix=/usr/local/lighttpd 로 설정하였습니다.

다른 폴더로 설치하실 분들은 --prefix 경로를 변경해줘야합니다.

 

bzip 은 필요없는거 같아서 컴파일시 옵션을 줘서 제외시켰습니다.

 

$ CC=arm-generic-linux-gnueabi-gcc \
CXX=arm-generic-linux-gnueabi-g++ AR=arm-generic-linux-gnueabi-ar \
LD=arm-generic-linux-gnueabi-ld NM=arm-generic-linux-gnueabi-nm \
RANLIB=arm-generic-linux-gnueabi-ranlib STRIP=arm-generic-linux-gnueabi-strip \
./configure --host=arm-generic-linux-gnueabi --target=arm-generic-linux-gnueabi \
--prefix=/usr/local/lighttpd --without-pcre --without-bzip2

 

에러 없이 끝났다면 make 명령을 실행합니다.

$ make

 

make install 을 해줍니다.

 

$ sudo make install

 

설정 할때, 저는 --prefix=/usr/local/lighttpd 명령을 주었기 때문에 /usr/local/lighttpd 위치에 설치가 될 것입니다.

 

 

5. 환경설정 복사

 

이젠 환경설정 파일을 복사를 해야합니다.

lighttpd-1.4.29 폴더안에 보면 doc 폴더안에 config 폴더가 있습니다.

config 안에 다양한 설정들이 있습니다. 이 폴더를 복사해줍니다.

 

$ sudo cp -a doc/config /usr/local/lighttpd/

 

설치된 폴더로 이동합니다.

 

$ cd /usr/local/lighttpd

 

파일 내부를 확인한 후에, lighttpd 폴더를 압축해서 EZ-S3C6410에 넣어주면 됩니다.

 

$ cd /usr/local/lighttpd
$ cd ..
$ sudo tar zcvf lighttpd.tar.gz lighttpd

 

압축한 lighttpd.tar.gz 파일을 nfs를 이용해서 EZ-S3C6410 보드에 prefix 로 정한 설치 위치에 복사해서 풀어주면됩니다.

저의 경우 /usr/local/lighttpd 에 풀어주었습니다.

 

컴파일 완료

 

컴파일을 했으니, 다음 강좌에선 실행하는 방법에 대해서 알아보도록 하겠습니다.

 

예전에 lighttpd 1.4.11 버전에선 환경 설정이 간단하였는데, 1.4.29 버전에선 설정하는 부분이 나눠져서 복잡하게 되어 있습니다.

다음 강좌에서 실행하는 방법을 설명하도록 하겠습니다.