zoukankan      html  css  js  c++  java
  • sam9260目标板上设定thttpd服务后出现/usr/sbin/thttpd: unknown user 'httpd'错误提示

    问题:

    目标板:sam9260;

    运行状态:bootstrap、U-Boot、kernel和rootfs都已经成功完成,这些文件烧写到Flash中可以让目标板以nandflash自身启动系统,进入shell界面;

    现在想添加web应用,使用thttpd服务器;

    http://www.acme.com/software/thttpd/获得thttpd的源码,放到${PRJROOT}/sysapps中,解压之后,使用如下命令进行交叉编译:

    $ CC=arm-linux-gcc ./configure --host=arm-linux
    $ make
    将生成的thttpd复制到目标系统的根文件系统,并进行strip处理;

    $ cp thttpd ${PRJROOT}/rootfs/root422/usr/sbin
    $ arm-linux-strip ${PRJROOT}/rootfs/root422/usr/sbin/thttpd
    将范例配置文件复制到目标板的根文件系统:

    $ cp contrib/redhat-rpm/thttpd.conf ${PRJROOT}/rootfs/root422/etc
    范例配置文件中,将thttpd的用户设成httpd这个帐号,将网页内容存放在目标板的/home/httpd/html目录:

    $ mkdir -p ${PRJROOT}/rootfs/root422/home/httpd/html
    最后,编辑目标板的/etc/inittab文件,将下面一行添加到inittab中:

    ::respawn:/usr/sbin/thttpd -C /etc/thttpd.conf

    重启目标板,从console窗口看到不停地出现如下提示:

    /usr/sbin/thttpd: unknown user - 'httpd'


    解决办法:

    因为在thttpd.conf中设定httpd为用户,而thttpd不能识别httpd这个用户,

    试着修改/etc/passwd文件,添加httpd这个用户,如下所示:

    httpd:x:498:494:Web server user:/home/httpd/html:/bin/sh
    再次重启目标板,提示/var/log/thttpd.log文件找不到,

    在目标板的/var目录下添加两个文件:

    $ mkdir -p /var/log
    $ mkdir -p /var/run
    $ sudo touch /var/log/thttpd.log
    $ sudo touch /var/run/thttpd.pid
    再次重启目标板,待进入shell界面,从主机的浏览器中输入:

    目标板IP:port/html文件名
    在本人所用的调试环境下,浏览器地址栏输入:

    192.168.37.244:81/a.html

    就可以看到静态网页界面了。




  • 相关阅读:
    luogu1197 [JSOI2008]星球大战
    luogu2085 最小函数值
    Vijos 1144 小胖守皇宫 【树形DP】
    洛谷 P1941 飞扬的小鸟 【DP+众多特判】
    codevs 1516 平均分数 【数学推理+求逆序对】
    tyvj 1936 太空战队 【强连通分量】
    USACO 2.4 Overfencing 【种子染色法+递推】
    code[vs] 2488 绿豆蛙的归宿【反向拓扑+DP】
    USACO 2.3 Zero Sum 【搜索+字符串处理+模拟计算】
    USACO 2.3 Cow Pedigrees 【DP+前缀和优化】
  • 原文地址:https://www.cnblogs.com/java20130726/p/3218557.html
Copyright © 2011-2022 走看看