近来几天一直在搞BOA服务器和CGI程序的移植,以至于到了很多问题,主要有这么两大类,一类是路径问题,一类是CGI程序执行出错问题,但是归结起来都是boa.conf文件的配置问题,在此首先感谢,热心的网友为我提供线索,有Mark,省略号,小郑(排名不分先后,呵呵),言归正传下面分析问题。
问题一:在移植CGI程序后,显示404 NOT FOUND 192.168.0.232(我开发板IP地址)/cgi-bin/cgi程序名。
这一问题的主要原因是BOA的配置文件boa.conf里面路径配置有问题,贴上我的配置路径:CGIPath /bin:/usr/bin:/usr/local/bin (可执行文件配置路径)
ScriptAlias /cgi-bin/ /usr/local/boa/cgi-bin/(CGI脚本执行文件路径)
在开发板上的CGI程序路径是/usr/local/boa/cgi-bin
一般这样设置的话应该没问题啦!
问题二:我在写一个CGI程序后使用GET方法,服务器可以完成请求任务,但是,使用POST方法时却出错,错误提示如下:
500 Server Error
The server encountered an internal error and could not complete your request.
我的问题是这样解决的,把boa.conf中user 和group的值都改为0,这样就解决啦!
注意:在编写CGI程序移植后还可能会遇到这样那样的问题,还要注意几点:
1.CGI程序交叉编译后要修改它的权限,使用chmod 777 xx.cgi
2.还有一个问题是在CGI程序编写时printf("Content-type: text/html\n\n")