一,、下載并解壓 下載的官方主頁:www. 我下載的是lighttpd-1.4.18 解壓: [tekkamanninja@Tekkaman-Ninja source]$ tar xjvf lighttpd-1.4.18.tar.bz2
二,、配置和交叉編譯 [tekkamanninja@Tekkaman-Ninja source]$ cd lighttpd-1.4.18 [tekkamanninja@Tekkaman-Ninja
lighttpd-1.4.18]$
CC=/home/tekkamanninja/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc
./configure -prefix=/lighttpd -host=arm-9tdmi-linux-gnu
--disable-FEUTARE -disable-ipv6 -disable-lfs
這里特別注意一下:-prefix=/lighttpd
,我是將軟件先裝在Host的根目錄下的lighttpd文件夾內(nèi),然后將其復(fù)制到開發(fā)板的根文件系統(tǒng)的根目錄下,。我之所以這樣做是因?yàn)檫@個(gè)軟件在
make install時(shí)會(huì)配置他私有的庫文件的路徑,,在開發(fā)板運(yùn)行時(shí)會(huì)在-prefix=
的文件加下找他的私有庫文件。而我又是交叉編譯給開發(fā)板,,這樣配置比較方便移植,。
--disable-FEUTARE -disable-ipv6 -disable-lfs 可以不加。
[tekkamanninja@Tekkaman-Ninja lighttpd-1.4.18]$ make
三,、程序安裝 [tekkamanninja@Tekkaman-Ninja lighttpd-1.4.18]$ make install
拷貝配置文件到開發(fā)板根文件系統(tǒng)的etc文件夾并進(jìn)行適當(dāng)修改: [tekkamanninja@Tekkaman-Ninja lighttpd-1.4.18]$ cp doc/lighttpd.conf /home/tekkamanninja/working/nfs/rootfs/etc/
[tekkamanninja@Tekkaman-Ninja lighttpd-1.4.18]$ kwrite /home/tekkamanninja/working/nfs/rootfs/etc/lighttpd.conf
必需修改的地方有:
server.document-root = "/srv/www/htdocs/" 改為server.document-root = "/home/lighttpd/html/"
你可以自己定義,,這里就是設(shè)置web服務(wù)的根目錄。
屏蔽一下語句,,不然嵌入式這樣的小系統(tǒng)下可能無法啟動(dòng) #$HTTP["url"] =~ "\.pdf$" { # server.range-requests = "disable" #}
開看程序需要那些動(dòng)態(tài)庫: [tekkamanninja@Tekkaman-Ninja
lighttpd-1.4.18]$
~/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-readelf
-d src/lighttpd
Dynamic section at offset 0x20790 contains 21 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000c (INIT) 0xc200 0x0000000d (FINI) 0x231c0 0x00000004 (HASH) 0x8128 0x00000005 (STRTAB) 0xa338 0x00000006 (SYMTAB) 0x8b48 0x0000000a (STRSZ) 5946 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x30860 0x00000002 (PLTRELSZ) 960 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0xbe40 0x00000011 (REL) 0xbe00 0x00000012 (RELSZ) 64 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0xbd70 0x6fffffff (VERNEEDNUM) 2 0x6ffffff0 (VERSYM) 0xba72 0x00000000 (NULL) 0x0
拷貝動(dòng)態(tài)庫: [tekkamanninja@Tekkaman-Ninja
lighttpd-1.4.18]$ cp
~/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libdl-2.3.2.so ~/working/nfs/rootfs/lib/ [tekkamanninja@Tekkaman-Ninja
lighttpd-1.4.18]$ cp
~/working/gcc4.1.1/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/libdl.s* ~/working/nfs/rootfs/lib/
在開發(fā)板為此程序新建一個(gè)用戶及存儲(chǔ)網(wǎng)頁的根目錄以及一個(gè)log目錄:
開發(fā)板操作: [root@~]#adduser -g user lighttpd Changing password for lighttpd Enter the new password (minimum of 5, maximum of 8 characters) Please use a combination of upper and lower case letters and numbers. Enter new password: Bad password: too short.
Warning: weak password (continuing). Re-enter new password: passwd[786]: password for `lighttpd' changed by user `root' Password changed. [root@~]#
HOST 操作: [tekkamanninja@Tekkaman-Ninja lighttpd-1.4.18]$ cd ../../nfs/rootfs/home/lighttpd/ [tekkamanninja@Tekkaman-Ninja lighttpd]$ su 口令: [root@Tekkaman-Ninja lighttpd]# mkdir html [root@Tekkaman-Ninja lighttpd]# chmod 777 html/ [root@Tekkaman-Ninja lighttpd]# mkdir ../../var/log/lighttpd [root@Tekkaman-Ninja lighttpd]# chmod 777 ../../var/log/lighttpd
將移植好的程序(整個(gè)目錄,,其中包含了bin、sbin,、lib和share目錄)拷貝到開發(fā)板根文件系統(tǒng)的根目錄下: [root@Tekkaman-Ninja lighttpd]# mv /lighttpd /home/tekkamanninja/working/nfs/ [root@Tekkaman-Ninja lighttpd]# exit exit
四,、運(yùn)行程序
在開發(fā)板上操作:
[root@~]#/lighttpd/sbin/lighttpd -f /etc/lighttpd.conf
將測試靜態(tài)網(wǎng)頁放在server.document-root設(shè)置的目錄下,并在HOST的瀏覽器下輸入開發(fā)板IP,,測試通過,。
至于CGI的運(yùn)行,我還不懂配置,,有空再研究,!
|