APPWeb+PHP5+SQLite3在S3C6410上移植之四
2012-12-02 21:02
435 查看
AppWeb服务器移植
AppWeb是一个开源的,针对安全性要求较高的HTTP Web服务器。其主要特点有:l 很小的内存消耗,快速响应,每秒可以处理超过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/*语句之后(对模块的定义必须在该标记之后)增加如下语句:
<ifSSL_MODULE>
Listen 443 # SSL - dont remove comment
LoadModule sslModule mod_ssl
<VirtualHost *: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"
</VirtualHost>
</if>
设置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文件,配置如下:
<ifDOC>
Alias /doc/ "$DOCUMENT_ROOT/doc/"
</if>
将doc目录定位于网站根目录下。
配置CGI,修改/
WebServer/appweb/conf/modules目录下的cgi.conf文件,配置如下:
LoadModulecgiHandler mod_cgi
AddHandlercgiHandler .exe .cgi .cgi-nph .out .bat .cmd .pl .py
<Directory"$DOCUMENT_ROOT/cgi-bin">
</Directory>
ScriptAlias/cgi-bin/ "$DOCUMENT_ROOT/cgi-bin"
配置完成之后运行Appweb服务器:
/etc/init.d/appwebstart
通过浏览器访问网关WEB服务器,页面如下图所示。
图6 AppWeb主页
相关文章推荐
- APPWeb+PHP5+SQLite3在S3C6410上移植之一
- APPWeb+PHP5+SQLite3在S3C6410上移植之二
- APPWeb+PHP5+SQLite3在S3C6410上移植之三
- APPWeb+PHP5+SQLite3在S3C6410上移植之四
- APPWeb+PHP5+SQLite3在S3C6410上移植之一
- APPWeb+PHP5+SQLite3在S3C6410上移植之二
- APPWeb+PHP5+SQLite3在S3C6410上移植之三
- 移植appweb+php5+sqlite3到ARM LINUX
- APPWEB + PHP5 + SQLITE3 + MATRIXSSL移植到ARM LINUX
- Creating a Web App with jQuery UI
- Progressive Web App:模仿原生应用的Web应用
- web-app 4.0 web.xml备忘
- Hybrid app开发获取webview屏幕宽度
- web or app in Mobile ?
- PhoneGap+jQm webapp本地化(2)-摄像头调用和本地数据库
- [Solution]How to create Project Web App in SharePoint
- WebView浏览网页,在APP内打开不调用系统浏览器
- 图文详解MyEclipse中新建Maven webapp项目的步骤(很详细)
- |DataDirectory|解决web.config或app.config数据库连接的相对路径问题
- iOS中原生APP与JS交互 之 WebViewJavascriptBridge 的简单用法