Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213370
  • 博文数量: 33
  • 博客积分: 1690
  • 博客等级: 上尉
  • 技术积分: 381
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-27 18:57
个人简介

吟游天地间,隐没市井中..

文章分类
文章存档

2014年(1)

2009年(6)

2008年(26)

我的朋友

分类: LINUX

2008-09-11 13:57:50

  此文在dglwx 大侠的基础上完成,在此对dglwx大侠的共享精神表示由衷的感谢。对于Appweb的介绍我就不说了吧,总之是一种很好的高效的web服务器。具体的了解请仔细研读一番。废话不说,说说该怎么移植这个好东东:

1:下载源代码,这里是用的2.4.1版本appweb-src-2.4.1-0.tar.gz,官网现在更新到2.4.2版本,这里为了保持一致,给出下载地址:

2:解压: tar –zxvf appweb-src-2.4.1-0.tar.gz

3:开始修改一些个东东了:

edit appweb-src-2.4.1/build/make/make.gcc:   line 101 修改为:

_CFLAGS         += -D$(BLD_OS) $(_MT)  -Wl,-elf2flt='-s 20480'
        

edit appweb-src-2.4.1/appweb/Makefile:      118行开始修改为:

#

#   Link standard appweb program. Linked with shared libraries supporting

#   dynamic loading of modules.

#

$(BLD_BIN_DIR)/$(BLD_PRODUCT)$(BLD_EXE):

/usr/local/arm_tools_3.3.4/bin/arm-elf-g++ -o ../bin/arm-winbond-linux/appweb -Wall -Wl,-elf2flt='-s 409600' -L../lib/arm-winbond-linux ../obj/arm-winbond-linux/appweb.o  \

../obj/arm-winbond-linux/romFiles.o ../obj/arm-winbond-linux/appwebStaticLink.o  \

../lib/arm-winbond-linux/libappwebStatic.a

@echo "    cp $(BLD_BIN_DIR)/$(BLD_PRODUCT)$(BLD_EXE) $(BLD_PRODUCT)$(BLD_EXE)"

@cp $(BLD_BIN_DIR)/$(BLD_PRODUCT)$(BLD_EXE) $(BLD_PRODUCT)$(BLD_EXE)

 

#

#   Test appweb program. Linked with shared libraries using dynamic

#   loading for all modules.

#

 

export the environment variable,such as CC, LD, AR, RANLIB...

 the export.sh script is:

        export CC="/usr/local/arm_tools_3.3.4/bin/arm-elf-gcc"
        export CXX="/usr/local/arm_tools_3.3.4/bin/arm-elf-g++"
        export AR="/usr/local/arm_tools_3.3.4/bin/arm-elf-ar"
        export LD="/usr/local/arm_tools_3.3.4/bin/arm-elf-ld"
        export STRIP="/usr/local/arm_tools_3.3.4/bin/arm-elf-strip"

then do:  #source export.sh   or  # . export.sh

 

configure:

./configure --host=arm-winbond-linux --build=i386-PC-linux --port=80 --type=RELEASE \
--disable-floating-point --disable-legacy-api --enable-log --disable-samples \
--disable-multi-thread --disable-shared --disable-shared-libc --enable-static \
--disable-access-log --disable-c-api-client --disable-digest-auth --disable-test \
--enable-ejs --disable-ipv6 --disable-modules --disable-rom-fs --without-cgi \
--enable-session  --with-admin=builtin --with-put=builtin --without-egi \
--with-aspnet=builtin --without-auth --with-c-api=builtin  --with-esp=builtin \
--with-dir=builtin --with-copy=builtin --without-gacompat --with-upload=builtin \
--without-ssl --without-matrixssl --without-php5

 

my comment here:
    must --disable-rom-fs, or it can not read appweb.conf & mime.typs
    must --disable-multi-thread, or when compile daemon.cpp it will throw some error, havn't
         deal with it now.

, make

以上五步重要的步骤可到http://www.mcuos.com/viewthread.php?tid=1534&extra=page%3D1
获得。

4:还有一个就是关于bad user id的问题,由于我没有设置user,所以在appweb/appweb.cpp源代码中把1183行起的

/*{

        mprError(MPR_L, MPR_USER, "Bad user id: %d", uid);

        return MPR_ERR_BAD_STATE;

}*/

 

给删掉了

5make 之后获得 appweb二进制文件,这时候就要修改appweb.conf文件了,把appweb/目录下的appweb.conf复制过来,编辑这个文件,这里我只需要修改两个地方,一个是

ErrorLog "/tmp/error.log" 这里记住/tmp要是可写的文件夹哦

另一个由于我之前没有配置用户,所以就把user group两行给删掉了。

6:这个时候就大功告成了,把appweb ,appweb.conf,mime.types复制到/etc目录下,然后在当前目录下建立web文件夹,把html文件复制到该文件夹中。

这时候是不是已经可以看到你的主页了呢?接下来的任务就是配置asp或者是esp了,这个我还在研究当中呢。

阅读(2253) | 评论(4) | 转发(0) |
0

上一篇:AutoMake使用介绍

下一篇:3322动态域名绑定

给主人留下些什么吧!~~

chinaunix网友2009-06-24 14:12:27

编译器可能会有影响。。

chinaunix网友2009-06-24 14:12:27

编译器可能会有影响。。

chinaunix网友2009-06-11 23:38:04

按照您的方法编译,出现错误: ...httpClient .... ”arm-uclinux/bin/ld.real: crt0.o: No such file“, 不知如何解决? 我用的工具链版本是arm-uclinux-tool-3.4.0, 因为找不到3.3.4这个版本,不知是否有影响? 望回复,谢谢!

chinaunix网友2009-06-11 23:38:04

按照您的方法编译,出现错误: ...httpClient .... ”arm-uclinux/bin/ld.real: crt0.o: No such file“, 不知如何解决? 我用的工具链版本是arm-uclinux-tool-3.4.0, 因为找不到3.3.4这个版本,不知是否有影响? 望回复,谢谢!