最近在开发板上移植了boa webserver,直接用cgic和.bash写了查看配置和更改配置的页面,完成效果如下:
现在虚拟机上实现,后移植到开发板
具体步骤:
1.下载源码,编译,配置(网上例子很多,在此不赘述了)
2.下载cgic,编译cgictest程序,放到设定的.../cgi-bin下,在浏览器输入127.0.0.1,看到test页面,OK
3.实现获取linux运行参数,考虑到使用cgic系统调用太麻烦,所以此页面用shell脚本实现,和cgic一样文件头echo -e "Content-type: text/html\n"不能少。
4.配置页面的实现方式也比较简单,页面实现上基本参考了cgictest程序,使用POST方式获取所有页面操作。然后将输入以一定的格式保存到一个临时文件中,使用GET方式获得“执行”按键的输入,并调用一个脚本读取临时文件,并执行操作。
5.在虚拟机中实现后进行移植,悲剧的事情就发生了,
1).system不执行,.sh页面获取不到IP地址。网上查了很多方法,什么重新编译源代码,什么权限一大堆的,都没有用,最后居然是要使用绝对路径!
2)由于修改配置中执行了一个监控程序,点击“执行”后,造成了页面无法退回,还会将相应的.sh文件调用两次。解决办法:将system调用改为popen
感觉用cgic和shell脚本都太麻烦了,每个html语句都要printf\echo一遍。稍后有时间还是用python或者boa+php实现