lighttpd+sqlite3移植到嵌入式设备上

Posted 为了维护世界和平_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lighttpd+sqlite3移植到嵌入式设备上相关的知识,希望对你有一定的参考价值。

嵌入式设备上使用lighttpd+sqlite3开发web服务器功能

一,移植lighttpd


1、源码文件lighttpd-1.4.64.tar.gz

2、 ./configure -prefix=/opt/lighttpd  -host=aarch64-linux-gnu CC=aarch64-linux-gnu-gcc --without-pcre2 --without-zlib

3、make  

    make install

4、将/opt/lighttpd下的文件复制到指定的地方

运行文件 
cp -rf /mnt/lighttpd/sbin/* /usr/bin/


配置文件
cp -rf /mnt/app/lighttpd-1.4.64/lighttpd /etc/

库文件
mkdir /opt
cp -rf /mnt/lighttpd /opt/


页面文件
mkdir -p /srv/www/htdocs

临时文件
mkdir /srv/www/var/tmp

日志文件
创建
/var/log/lighttpd/error.log #可以查看日志文件


5、将配置文件修改 /etc/libhttpd/lighttpd.conf

1) dlopen() failed for: /opt/lighttpd/lib/mod_indexfile.so /opt/lighttpd/lib/mod_indexfile.so: cannot open shared object file: No such file or directory

    lib 库文件没有找到,查看是否复制到指定目录

2)warning: please use server.use-ipv6 only for hostnames
    
    配置文件lighttpd.conf注释掉    server.use-ipv6 = "enable"   
3) opening errorlog '/var/log/lighttpd/error.log' failed: No such file or 

    日志文件没有 则创建

    创建好后仍然提示没有则 配置文件lighttpd.conf注释掉  server.chroot   = "/srv/www"

4)CGI使用提示错误则 

    stat for cgi-handler /usr/bin/perl: No such file or directory

    配置文件夹conf.d 下 cgi.conf 

cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "",
                               ".rb"  => "",
                               ".erb" => "/usr/bin/eruby",
                               ".py"  => "/usr/bin/python" )


二,  移植sqlite3

1、源码文件:sqlite-autoconf-3380000.tar.gz

2、./configure CC=aarch64-linux-gnu-gcc  --host=aarch64-linux-gnu-  --prefix=/home/wy/xilinx/tools/sqlite-autoconf-3380000/INSTALL

3、 make 
     make install

Libraries have been installed in:
  /home/wy/xilinx/tools/sqlite-autoconf-3380000/INSTALL/lib


4)将INSTALL目录下的 bin  include  lib  share 复制到ubuntu上webserver源码目录下

在CGI-BIN文件夹下建Makefile文件,生成使用sqlite3的文件
 

CC := aarch64-linux-gnu-gcc
INC_FLAGS := -I ../include
LIBS := ../lib/libsqlite3.a
LIBS += ../lib/libsqlite3.so
LIBS += ../lib/libsqlite3.so.0
LIBS += ../lib/libsqlite3.so.0.8.6

all:
        $(CC) $(INC_FLAGS) $(LIBS) logger.c -o logger.cgi
clean:
        @rm -f logger.cgi

5)将INSTALL目录下的 bin  lib复制到开发板/usr/bin,/usr/lib目录下

以上是关于lighttpd+sqlite3移植到嵌入式设备上的主要内容,如果未能解决你的问题,请参考以下文章

三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记

将 Android 移植到 nanoTesla A8

移植FreeRTOS到STM32

移植FreeRTOS到STM32

移植FreeRTOS到STM32

Python服务器脚本与C程序通信错误