微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > APPWeb+PHP5+SQLite3在S3C6410上移植

APPWeb+PHP5+SQLite3在S3C6410上移植

时间:11-10 来源:互联网 点击:

50个页面请求。

l支持CGI;支持动态WEB页面,如PHP页面;支持嵌入式的JavaScript;支持安全的通信,如SSL(OpenSSL或MatrixSSL)

l支持单线程和多线程运行模式。

1 修改配置参数

Appweb采用稳定版本appweb-src-3.3.2(4.0版本编译时可能会出现问题)。AppWeb的配置参数如下:

./configure--host=arm-s3c6410-linux --build=i686-pc-linux --port=80 --type=RELEASE--disable-multi-thread --disable-access-log --disable-test --with-cgi=builtin --with-copy=builtin --with-auth=builtin--with-esp=builtin --with-upload=builtin --webDir=/www --with-ejs=builtin--with-php=/home/hwwr/share/php-5.2.17/--with-matrixssl=/home/hwwr/share/ssl/matrixssl/matrixssl-1-8-8-open/--sysconfdir=/WebServer --prefix=/WebServer

注意:由于PHP被编译为单线程模式,所以AppWeb必须禁用多线程模式,即加入配置参数--disable-multi-thread。

以上配置产生用于编译的Makefile文件,并生成相关服务程序、动态库以及模块;如果只需要静态文件则可加入--disable-shared --enable-static,编译后生成的服务程序较大,只生成静态库,没有模块,所以推荐生成动态版本。

选项--webDir用于指定网站的存放位置,webDir默认值为/var/www/appweb-default。通过上述配置,服务器的网站根目录为/www,默认http端口号为80。

选项--sysconfdir用于设置配置文件的安装位置,--prefix指定AppWeb可执行文件和相关库的安装位置。另外,AppWeb可执行文件被复制到/etc/init.d目录下。

2编译AppWeb

Configure执行成功后,生成Makefile文件,此时直接在终端运行make命令进行编译,编译完成之后,将在appweb-3.3.2目录下的bin、lib、modules子目录中生成arm-s3c6410-linux文件夹,该目录中包含生成的可执行文件、库文件及模块。

执行make install命令进行安装,安装完成,将生成/WebServer/appweb配置文件夹、/WebServer /lib/appweb脚本文件,更多文件信息可参考/WebServer /lib/appweb目录下的fileList.txt文件。

3将AppWeb移植至网关

将生成的WebServer目录复制到网关根目录下,打开/ WebServer /appweb中的配置文件appweb.conf,并确认如下信息是否正确。

Listen80

DocumentRoot"/www"

DirectoryIndexindex.html

LoadModulePath"/ WebServer /lib/appweb/modules"

以上信息与编译时的配置参数相关,参数DirectoryIndex用于设置默认起始页。

将主机/etc/init.d/appweb目录复制到网关/etc/init.d目录下。

4配置AppWeb

首先,注销(删除)配置文件/WebServer /appweb/appweb.conf中Groupnogroup语句,否则运行时将报错。

配置matrixssl加密服务支持。修改/WebServer /appweb/appweb.conf文件,在Include conf/modules/*语句之后(对模块的定义必须在该标记之后)增加如下语句:

Listen 443 # SSL - dont remove comment

LoadModule sslModule mod_ssl

rtualHost *:443>

DocumentRoot "/www"

SSLEngine on

# SSLCipherSuiteALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# SSLCipherSuite HIGH:RC4+SHA

# Use an RC4-SHA cipher to mitigate theBEAST attack

SSLCipherSuite HIGH:RC4+SHA

SSLProtocol ALL -SSLV2

SSLCertificateFile "/ WebServer/appweb/ssl/server.crt"

SSLCertificateKeyFile "/ WebServer/appweb/ssl/server.key.pem"

设置https监听443端口(即浏览器默认安全端口),SSL证书位于/WebServer /appweb/ssl目录下,注意:该证书已经过期,所在使用https访问时,出现如下安全提示:

选择“继续浏览网站”忽略该提示即可。

配置error log(日志消息),在调试期间,配置appweb应允许记录系统运行日志,如需取消则在./configure时加入--disable-log配置参数。

修改/WebServer/appweb/conf目录下的log.conf文件,配置如下:

ErrorLog“/log/appweb/error.log”

LogLevel4

即配置日志保存于/log/appweb下的error.log文件,所以必须在网关根目录下创建/log/appweb/error.log文件。

配置doc(在线文档),在开发阶段可以使用此功能。修改/ WebServer /appweb/conf目录下的doc.conf文件,配置如下:

Alias /doc/ "$DOCUMENT_ROOT/doc/"

将doc目录定位于网站根目录下。

配置CGI,修改/WebServer/appweb/conf/modules目录下的cgi.conf文件,配置如下:

LoadModulecgiHandler mod_cgi

AddHandlercgiHandler .exe .cgi .cgi-nph .out .bat .cmd .pl .py

ScriptAlias/cgi-bin/ "$DOCUMENT_ROOT/cgi-bin"

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top