编译移植appweb-3.3.2

来源:互联网 发布:东华软件员工数量 编辑:程序博客网 时间:2024/05/16 14:01

移植appweb-3.3.2:

一、配置及编译

1、修改环境变量:

在终端输入以下命令:

Export CC=arm-toolname-gcc、ExportAR=arm-toolname-ar、Export LD=arm-toolname-ld、

Export NM=arm-toolname-nm、ExportSTRIP=arm-toolname-strip、

Export RANLIB=arm-toolname-ranlib。

2、配置

解压源码包appweb-src-3.3.2到/home/用户目录/,终端到appweb-3.3.2文件夹下输入以下配置信息(具体视需求而定):

./configure --host=arm-linux --build=i686-pc-linux--port=80 --type=RELEASE --disable-log

 --enable-multi-thread --disable-samples--disable-test --disable-access-log --with-cgi=builtin --with-copy=builtin--with-auth=builtin --with-esp=builtin --with-upload=builtin

--webDir=/var/www

以上配置产生用于动态编译的makefile,生成体积小的各种服务程序及动态库、模块;

如果只需要静态文件则可加入--disable-shared --enable-static,编译后生成的服务程序较大,只生成有静态库,没有模块,但是用readelf -d 命令查看目标文件后发现其还是需要动态库,运行时也提示需要加载模块。所以推荐生成动态版本。

也可加入选项--prefix=……与--webDir=……,用于指定make install时目标文件与默认网站的存放位置,prefix默认值为/usr/lib/,webDir默认值为/var/www/appweb-default,建议指定webDir在/var目录下。其它属性选项可以用./configure–help查看。

3、编译

Configure成功后直接终端输入make,会在源文件夹appweb-3.3.2中的bin、lib、modules中生成arm-unknow-linux文件夹,这些arm-unknow-linux中内容为所需求。

再用root权限执行make install,会生成/etc/appweb配置文件夹、/etc/init.d/appweb脚本文件,具体文件可参考/usr/lib/appweb/fileList.txt

二、移植

1、移植配置文件及脚本

在嵌入式文件系统中,将主机的/etc/appweb配置文件夹移到etc目录下,root权限执行

mv /etc/appweb /文件系统所在文件夹/etc/。

将主机的/etc/init.d/appweb脚本文件移到etc/init.d/目录下,root权限执行

mv /etc/init.d/appweb /文件系统所在文件夹/etc/ init.d/。

打开/etc/appweb中的配置文件appweb.conf,找到并修改

Listen 80

DocumentRoot"/var/www "

DirectoryIndex index.asp

LoadModulePath "/usr/lib/appweb/modules"

以上信息与编译时的配置信息相关,基本不用修改,DirectoryIndex为默认起始页。

打开脚本/etc/init.d/appweb,找到并修改

APPWEB_BIN=/usr/lib/appweb/bin

在/文件系统所在文件夹/etc/rc.d/文件夹中,创建链接appweb,执行

ln -s /etc/init.d/appwebappweb

2、移植服务程序及库

在/文件系统所在文件夹/usr/lib/下创建appweb文件夹及其子文件夹bin、lib、modules。

到源码文件夹appweb-3.3.2中将/bin/arm-unkonw-linux中的内容复制到

/文件系统所在文件夹/usr/lib/appweb/bin/中

执行mv /home/用户目录/appweb-3.3.2/bin/arm-unkonw-linux/*/文件系统所在文件夹/usr/lib/appweb/bin/

将/lib/arm-unkonw-linux中内容复制到/文件系统所在文件夹/usr/lib/appweb/lib/中

执行 mv /home/用户目录/appweb-3.3.2/lib/arm-unkonw-linux/*/文件系统所在文件夹/usr/lib/appweb/lib/(其中default-web文件夹可以不要)

将/modules/arm-unkonw-linux中内容复制到/文件系统所在文件夹/usr/lib/appweb/modules/

执行mv /home/用户目录/appweb-3.3.2/modules/arm-unkonw-linux/*/文件系统所在文件夹/usr/lib/appweb/modules/

 

在/文件系统所在文件夹/usr/ bin/中建立链接,指向/usr/lib/appweb/bin/中的可执行文件

执行ln -s /usr/lib/appweb/bin/ajs ajs

ln -s /usr/lib/appweb/bin/appwebappweb

………

………

 

修改嵌入式系统开机启动文件,加入/etc/init.d/appweb start

生成文件系统镜像,烧机

如果用浏览器不能打开相机中默认网站目录下的子目录中的asp文件,如打不开/var/www/doc/login.asp,则在/usr/lib/appweb/中建立软链接doc

ln -s /var/www/doc /usr/lib/appweb/doc