求大神解答一下linux中boa移植时候出现的问题,谢谢!!

我已经按步骤成功安装好boa并且已经成功启动了boa,但是当我用一个网页作为测试(所需要的东西都已经放在了/home/lstadning/boa中了)的时候,在浏览器中输入我linux机的ip地址后,却连不上我设置的index.html这个网页
图片说明
图片说明

但是我的设置应该是没错的,错误日志error_log里面出现了这样的一段话:

 [08/Oct/2015:11:17:39 +0000] boa: server version Boa/0.94.13
[08/Oct/2015:11:17:39 +0000] boa: server built Oct  8 2015 at 16:55:48.
[08/Oct/2015:11:17:39 +0000] boa: starting server pid=8046, port 80
[08/Oct/2015:11:17:42 +0000] request from 192.168.199.193 "GET /favicon.ico HTTP/1.1" ("/home/lstadning/boa/www/favicon.ico"): document open: No such file or directory
[08/Oct/2015:11:17:56 +0000] request from 192.168.199.193 "GET / HTTP/1.1" ("/home/lstadning/boa/www/"): document open: No such file or directory
[08/Oct/2015:11:17:56 +0000] request from 192.168.199.193 "(null)" ("(null)"): header read: Connection reset by peer

查阅了网上很多资料,有的说要新建favicon.ico这个,我也按照步骤设置了,但是还是出现这个问题。
/www里面有这些文件:
图片说明

下面是我boa.config的设置:

 Port 80

User 0
Group 0

ErrorLog /home/lstanding/boa/error_log
AccessLog /home/lstanding/boa/access_log

ServerName www.your.org.here

DocumentRoot /home/lstadning/boa/www

UserDir public_html

DirectoryIndex index.html

DirectoryMaker /usr/lib/boa/boa_indexer

KeepAliveMax 1000
KeepAliveTimeout 10

MimeTypes /etc/mime.types

DefaultType text/plain

CGIPath /bin:/usr/bin:/usr/local/bin

Alias /doc /usr/doc

ScriptAlias /cgi-bin/ /home/lstanding/cgi-bin/ 

我的boa弄了一个下午都没有成功在主机上实现,更不要说移植到开发板里面了,希望各路大神能出手相助!!
无限感激!!

感谢cjj717938588的指点,修改后boa.conf的具体配置如下:
1
2
3
4
5
6
7
但是用浏览器输入ip地址还是显示无法打开网页

Boa v0.94 configuration file

File format has not changed from 0.93

File format has changed little from 0.92

version changes are noted in the comments

#

The Boa configuration file is parsed with a lex/yacc or flex/bison

generated parser. If it reports an error, the line number will be

provided; it should be easy to spot. The syntax of each of these

rules is very simple, and they can occur in any order. Where possible

these directives mimic those of NCSA httpd 1.3; I saw no reason to

introduce gratuitous differences.

$Id: boa.conf,v 1.25 2002/03/22 04:33:09 jnelson Exp $

The "ServerRoot" is not in this configuration file. It can be compiled

into the server (see defines.h) or specified on the command line with

the -c option, for example:

#

boa -c /usr/local/boa

Port: The port Boa runs on. The default port for http servers is 80.

If it is less than 1024, the server must be started as root.

Port 80

Listen: the Internet address to bind(2) to. If you leave it out,

it takes the behavior before 0.93.17.2, which is to bind to all

addresses (INADDR_ANY). You only get one "Listen" directive,

if you want service on multiple IP addresses, you have three choices:

1. Run boa without a "Listen" directive

a. All addresses are treated the same; makes sense if the addresses

are localhost, ppp, and eth0.

b. Use the VirtualHost directive below to point requests to different

files. Should be good for a very large number of addresses (web

hosting clients).

2. Run one copy of boa per IP address, each has its own configuration

with a "Listen" directive. No big deal up to a few tens of addresses.

Nice separation between clients.

The name you provide gets run through inet_aton(3), so you have to use dotted

quad notation. This configuration is too important to trust some DNS.

#Listen 192.68.0.5

User: The name or UID the server should run as.

Group: The group name or GID the server should run as.

User root
#Group nogroup

ServerAdmin: The email address where server problems should be sent.

Note: this is not currently used, except as an environment variable

for CGIs.

#ServerAdmin root@localhost

ErrorLog: The location of the error log file. If this does not start

with /, it is considered relative to the server root.

Set to /dev/null if you don't want errors logged.

If unset, defaults to /dev/stderr

#ErrorLog /var/log/boa/error_log

Please NOTE: Sending the logs to a pipe ('|'), as shown below,

is somewhat experimental and might fail under heavy load.

"Usual libc implementations of printf will stall the whole

process if the receiving end of a pipe stops reading."

#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"

AccessLog: The location of the access log file. If this does not

start with /, it is considered relative to the server root.

Comment out or set to /dev/null (less effective) to disable

Access logging.

#AccessLog /var/log/boa/access_log

Please NOTE: Sending the logs to a pipe ('|'), as shown below,

is somewhat experimental and might fail under heavy load.

"Usual libc implementations of printf will stall the whole

process if the receiving end of a pipe stops reading."

#AccessLog "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"

UseLocaltime: Logical switch. Uncomment to use localtime

instead of UTC time

#UseLocaltime

VerboseCGILogs: this is just a logical switch.

It simply notes the start and stop times of cgis in the error log

Comment out to disable.

#VerboseCGILogs

ServerName: the name of this server that should be sent back to

clients if different than that returned by gethostname + gethostbyname

#ServerName www.your.org.here
ServerName www.black.com

VirtualHost: a logical switch.

Comment out to disable.

Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'

become /var/www/IP-A.

Example: http://localhost/ becomes /var/www/127.0.0.1

#

Not used until version 0.93.17.2. This "feature" also breaks commonlog

output rules, it prepends the interface number to each access_log line.

You are expected to fix that problem with a postprocessing script.

#VirtualHost

DocumentRoot: The root directory of the HTML documents.

Comment out to disable server non user files.

DocumentRoot /mnt/web/html

UserDir: The name of the directory which is appended onto a user's home

directory if a ~user request is recieved.

#UserDir public_html

DirectoryIndex: Name of the file to use as a pre-written HTML

directory index. Please MAKE AND USE THESE FILES. On the

fly creation of directory indexes can be slow.

Comment out to always use DirectoryMaker

DirectoryIndex /mnt/web/html/index.html

DirectoryMaker: Name of program used to create a directory listing.

Comment out to disable directory listings. If both this and

DirectoryIndex are commented out, accessing a directory will give

an error (though accessing files in the directory are still ok).

#DirectoryMaker /usr/lib/boa/boa_indexer

DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker

has been commented out, the the on-the-fly indexing of Boa can be used

to generate indexes of directories. Be warned that the output is

extremely minimal and can cause delays when slow disks are used.

Note: The DirectoryCache must be writable by the same user/group that

Boa runs as.

DirectoryCache /var/spool/boa/dircache

KeepAliveMax: Number of KeepAlive requests to allow per connection

Comment out, or set to 0 to disable keepalive processing

KeepAliveMax 1000

KeepAliveTimeout: seconds to wait before keepalive connection times out

KeepAliveTimeout 10

MimeTypes: This is the file that is used to generate mime type pairs

and Content-Type fields for boa.

Set to /dev/null if you do not want to load a mime types file.

Do not comment out (better use AddType!)

MimeTypes /etc/mime.types

DefaultType: MIME type used if the file extension is unknown, or there

is no file extension.

DefaultType text/plain

CGIPath: The value of the $PATH environment variable given to CGI progs.

CGIPath /mnt/web/cgi-bin/

SinglePostLimit: The maximum allowable number of bytes in

a single POST. Default is normally 1MB.

AddType: adds types without editing mime.types

Example: AddType type extension [extension ...]

Uncomment the next line if you want .cgi files to execute from anywhere

#AddType application/x-httpd-cgi cgi

Redirect, Alias, and ScriptAlias all have the same semantics -- they

match the beginning of a request and take appropriate action. Use

Redirect for other servers, Alias for the same server, and ScriptAlias

to enable directories for script execution.

Redirect allows you to tell clients about documents which used to exist in

your server's namespace, but do not anymore. This allows you to tell the

clients where to look for the relocated document.

Example: Redirect /bar http://elsewhere/feh/bar

Aliases: Aliases one path to another.

Example: Alias /path1/bar /path2/foo

#Alias /doc /usr/doc

ScriptAlias: Maps a virtual path to a directory for serving scripts

Example: ScriptAlias /htbin/ /www/htbin/

ScriptAlias /cgi-bin/ /mnt/web/cgi-bin/

上面这些是我做的配置:
访问地址是:http://172.168.0.101:8080/snap.html(/mnt/web/html/目录里有文件snap.html)

你按我做的配置试试看吧

DirectoryIndex 应该指明index.html的绝对路径 例如:/usr/html/index.html
DocumentRoot 指明html文件的存放路径: 例如:/usr/html/

Boa v0.94 configuration file

File format has not changed from 0.93

File format has changed little from 0.92

version changes are noted in the comments

#

The Boa configuration file is parsed with a lex/yacc or flex/bison

generated parser. If it reports an error, the line number will be

provided; it should be easy to spot. The syntax of each of these

rules is very simple, and they can occur in any order. Where possible

these directives mimic those of NCSA httpd 1.3; I saw no reason to

introduce gratuitous differences.

$Id: boa.conf,v 1.25 2002/03/22 04:33:09 jnelson Exp $

The "ServerRoot" is not in this configuration file. It can be compiled

into the server (see defines.h) or specified on the command line with

the -c option, for example:

#

boa -c /usr/local/boa

Port: The port Boa runs on. The default port for http servers is 80.

If it is less than 1024, the server must be started as root.

Port 80

Listen: the Internet address to bind(2) to. If you leave it out,

it takes the behavior before 0.93.17.2, which is to bind to all

addresses (INADDR_ANY). You only get one "Listen" directive,

if you want service on multiple IP addresses, you have three choices:

1. Run boa without a "Listen" directive

a. All addresses are treated the same; makes sense if the addresses

are localhost, ppp, and eth0.

b. Use the VirtualHost directive below to point requests to different

files. Should be good for a very large number of addresses (web

hosting clients).

2. Run one copy of boa per IP address, each has its own configuration

with a "Listen" directive. No big deal up to a few tens of addresses.

Nice separation between clients.

The name you provide gets run through inet_aton(3), so you have to use dotted

quad notation. This configuration is too important to trust some DNS.

#Listen 192.68.0.5

User: The name or UID the server should run as.

Group: The group name or GID the server should run as.

User 0
Group 0

ServerAdmin: The email address where server problems should be sent.

Note: this is not currently used, except as an environment variable

for CGIs.

#ServerAdmin root@localhost

ErrorLog: The location of the error log file. If this does not start

with /, it is considered relative to the server root.

Set to /dev/null if you don't want errors logged.

If unset, defaults to /dev/stderr

ErrorLog /home/lstanding/boa/log/error_log

Please NOTE: Sending the logs to a pipe ('|'), as shown below,

is somewhat experimental and might fail under heavy load.

"Usual libc implementations of printf will stall the whole

process if the receiving end of a pipe stops reading."

#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"

AccessLog: The location of the access log file. If this does not

start with /, it is considered relative to the server root.

Comment out or set to /dev/null (less effective) to disable

Access logging.

AccessLog /home/lstanding/boa/log/access_log

Please NOTE: Sending the logs to a pipe ('|'), as shown below,

is somewhat experimental and might fail under heavy load.

"Usual libc implementations of printf will stall the whole

process if the receiving end of a pipe stops reading."

#AccessLog "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"

UseLocaltime: Logical switch. Uncomment to use localtime

instead of UTC time

#UseLocaltime

VerboseCGILogs: this is just a logical switch.

It simply notes the start and stop times of cgis in the error log

Comment out to disable.

#VerboseCGILogs

ServerName: the name of this server that should be sent back to

clients if different than that returned by gethostname + gethostbyname

ServerName www.your.org.here

VirtualHost: a logical switch.

Comment out to disable.

Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'

become /var/www/IP-A.

Example: http://localhost/ becomes /var/www/127.0.0.1

#

Not used until version 0.93.17.2. This "feature" also breaks commonlog

output rules, it prepends the interface number to each access_log line.

You are expected to fix that problem with a postprocessing script.

#VirtualHost

DocumentRoot: The root directory of the HTML documents.

Comment out to disable server non user files.

DocumentRoot /home/lstadning/boa/www/

UserDir: The name of the directory which is appended onto a user's home

directory if a ~user request is recieved.

UserDir public_html

DirectoryIndex: Name of the file to use as a pre-written HTML

directory index. Please MAKE AND USE THESE FILES. On the

fly creation of directory indexes can be slow.

Comment out to always use DirectoryMaker

DirectoryIndex /home/lstanding/boa/www/index.html

DirectoryMaker: Name of program used to create a directory listing.

Comment out to disable directory listings. If both this and

DirectoryIndex are commented out, accessing a directory will give

an error (though accessing files in the directory are still ok).

DirectoryMaker /usr/lib/boa/boa_indexer

DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker

has been commented out, the the on-the-fly indexing of Boa can be used

to generate indexes of directories. Be warned that the output is

extremely minimal and can cause delays when slow disks are used.

Note: The DirectoryCache must be writable by the same user/group that

Boa runs as.

DirectoryCache /var/spool/boa/dircache

KeepAliveMax: Number of KeepAlive requests to allow per connection

Comment out, or set to 0 to disable keepalive processing

KeepAliveMax 1000

KeepAliveTimeout: seconds to wait before keepalive connection times out

KeepAliveTimeout 10

MimeTypes: This is the file that is used to generate mime type pairs

and Content-Type fields for boa.

Set to /dev/null if you do not want to load a mime types file.

Do not comment out (better use AddType!)

MimeTypes /etc/mime.types

DefaultType: MIME type used if the file extension is unknown, or there

is no file extension.

DefaultType text/plain

CGIPath: The value of the $PATH environment variable given to CGI progs.

CGIPath /bin:/usr/bin:/usr/local/bin

SinglePostLimit: The maximum allowable number of bytes in

a single POST. Default is normally 1MB.

AddType: adds types without editing mime.types

Example: AddType type extension [extension ...]

Uncomment the next line if you want .cgi files to execute from anywhere

#AddType application/x-httpd-cgi cgi

Redirect, Alias, and ScriptAlias all have the same semantics -- they

match the beginning of a request and take appropriate action. Use

Redirect for other servers, Alias for the same server, and ScriptAlias

to enable directories for script execution.

Redirect allows you to tell clients about documents which used to exist in

your server's namespace, but do not anymore. This allows you to tell the

clients where to look for the relocated document.

Example: Redirect /bar http://elsewhere/feh/bar

Aliases: Aliases one path to another.

Example: Alias /path1/bar /path2/foo

Alias /doc /usr/doc

ScriptAlias: Maps a virtual path to a directory for serving scripts

Example: ScriptAlias /htbin/ /www/htbin/

ScriptAlias /cgi-bin/ /home/lstanding/boa/cgi-bin/

你输入这个地址试试看:192.168.199.142/index.html