arm thttpd php,thttpd web服务器在ARM上的移植

1下载并解压

下载地址为:我下载的是最新的2.25b

查看文件类型

[nick@localhost nick]$ file thttpd-2.25b.tar.tar

解压源码包

[nick@localhost nick]$ tar -zxvf thttpd-2.25b.tar.tar

[nick@localhost nick]$ cd thttpd-2.25b

2交叉编译thttpd

[nick@localhost thttpd-2.25b]$ CC=arm-linux-gcc ./configure --host=arm-linux

[nick@localhost thttpd-2.25b]$ make

3安装与配置

建立nfs服务,便于调试

[root@ /mnt]#mount -o nolock 192.168.1.100:/home/nick/nfs /mnt/nfs

[nick@localhost thttpd-2.25b]$cp contrib/redhat-  rpm/thttpd.conf /home/nick/nfs/

[root@@localhost nfs]#vi thttpd.conf

# This section overrides defaults

dir=/etc/thttpd/html#指明WebServer存放网页的根目录路径

#chroot

#屏蔽chroot是为了运行动态编译的CGI

user=root #default=nobody

logfile=/var/log/thttpd.log

pidfile=/var/run/thttpd.pid

# This section _documents_ defaults in effect

# port=80

# nosymlink# default = !chroot

# novhost

# nocgipat

cgipat=/cgi-bin/*

#声明CGI程序的目录,是以dir为根目录的路径

# nothrottles

# host=0.0.0.0

# charset=iso-8859-1

利用nfs服务,拷贝thttpd.conf二进制可执行文件到根文件系统/etc目录中

[root@ /mnt/nfs]#cp ./thttpd.conf /etc

拷贝thttpd二进制可执行文件到根文件系统/usr/sbin目录中

[root@ /mnt/nfs]#cp thttpd /usr/sbin

[root@ /

拷贝thttpd二进制可执行文件到根文件系统/usr/sbin目录中

[root@ /]#mkdir /etc/thttpd

[root@ /]#mkdir /etc/thttpd/html

拷贝index.html(测试网页)二进制可执行文件到根文件系统/etc/thttpd/html目录中

[root@ /mnt/nfs]#cp index.html/etc/thttpd/html

因为是动态编译所以查看一下需要的动态库

[nick@localhost nick]$cp /usr/local/arm/3.4.1/arm-linux/lib/libnss_files.so.2/home/nick/nfs

[nick@localhost nick]$cp /usr/local/arm/3.4.1/arm-linux/lib/libnss_files-2.3.2.so/home/nick/nfs

开发板上执行命令

[root@ /]# thttpd -C /etc/thttpd.conf

./thttpd: unknown user - 'root'

出现错误

[root@localhost nfs]$ cp /etc/passwd

[root@localhost nfs]$ cp /etc/shadow

[root@localhost nfs]$ cp /etc/group

[root@localhost nfs]$ kwrite passwd

root:x:0:0:root:/root:/bin/bash

nick:x:500:500:nick:/home/nick:/bin/bash

[root@localhost nfs]$ kwrite shadow

root:$1$4HvJ5La3$3cVeVSoJkHiWTIfTCJ7rb.:14317:0:99999:7:::

nick:$1$4WqHVCms$S4rswFKuPfex/3oX7SMex1:14317:0:99999:7:::

[root@localhost nfs]$ kwrite group

root:x:0:root

nick:x:500:

这3个文件是从Host中拷贝过来的,只留下root和nick帐号。

[root@ /]# thttpd -C /etc/thttpd.conf

你可以在启动文件里增加thttpd的启动命令:thttpd -C /etc/thttpd.conf

在Linux主机浏览器上输入开发板ip地址:

在浏览器上可以看到显示的网页

测试CGI的支持

默认配置下,thttpd不可以运行GCI(特别是动态编译的CGI程序)要想使用CGI支持功能,必须更改thttpd.conf的配置:

编写hellocgi.c程序

#vi hellocgi.c

程序如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值