Compile the BOA WEB SERVER

1. Use BOA as WEB SERVER

Alter the makefile to suit for se3208-elf-gcc.

2. Compile it according the "design of app", but in step 7inittab.conf file should be altered..

/etc> cat inittab

inet:unknown:/bin/inetd

boa:unknown:/bin/boa -c /home

Copy boa.conf  and mime.types to /home

 

To run boa simply 

Alter boa.conf ,please note BOLD font

# Boa v0.94 configuration file

# 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.

 

# 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

 

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

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

 

User  0

# nobody

Group  0

# nogroup

 

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

# Note: this is not currently used.

 

#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.

 

#ErrorLog /home/error_log

#/var/log/boa/error_log

#ErrorLog /dev/null

 

# 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

#AccessLog /dev/null

 

# RefererLog: The location of the referer 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

# referer logging.

 

#RefererLog /var/log/boa/referer_log

#RefererLog /dev/null

 

# AgentLog: The location of the agent 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

# User-Agent logging.

#AgentLog /dev/null

#AgentLog /var/log/boa/agent_log

 

# VerboseCGILogs: this is just a logical switch.

# 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 -- often

# this is www.foo.bar.

 

#ServerName www.your.org.here

 

# DocumentRoot: The root directory of the HTML documents.

#DocumentRoot /var/www

DocumentRoot /home/httpd

 

# ChRoot: Boa root '/' directory. This is useful to improve security of

# your system. Don't forget that ALL DIRECTORIES used by boa except logs

# must be in this directory. If you need cgi scripts, you must copy shared

# libraries to this directory (see ldconfig(8) for more info)

 

#Chroot /var

 

# 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_.

#

 

DirectoryIndex index.html

 

DirectoryMaker /usr/local/sbin/boa_indexer

 

# LocalCodepage: Local codepage. This is send to client in 'Content-Type:'

# header by default.

 

#LocalCodepage iso-8859-1

 

# Codepage: Load codepage conversion table from file. This table will be used

# on-the-fly conversion.

 

#Codepage us-ascii /usr/lib/boa/iso-8859-2/us-ascii

 

# CodepageByURL: Specify URL prefix codepage. This command is used for manual

# codepage selection. For example, http://www.cz.boa.org/asc/document.html

# converts /document.html to us-ascii

 

#CodepageByURL  /asc us-ascii

 

# CodepageByBrowser: Specify codepage by $USER_AGENT. This command is used for

# automatic codepage selection. You can use characters '*' and '?' in browser

# string. For example, "CodepageByBrowser Lynx/* us-ascii" will send for Lynx

# users all documents in us-ascii.

 

#CodepageByBrowser Lynx/* us-ascii

 

# KeepAliveMax: Number of KeepAlive requests to allow per connection

# Comment out, or set to 0 to disable keepalive processing

 

KeepAliveMax 100

 

# 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.

 

#MimeTypes /etc/mime.types

MimeTypes /home/mime.types

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

# is no file extension.

 

DefaultType text/plain

 

# 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/ /usr/lib/cgi-bin/

 

# VirtualHost: Maps a virtual host to a directory.

# Example: VirtualHost cz.boa.org /html/htdocs/boa/

 

#VirtualHost    www.second.company.com /var/www/second_company/

 

 

# Auth: HTTP Basic authorization. Format is "Auth <Directory> <PasswdFile>".

# Password file should be readable _ONLY_ by root or trusted user(s). This file

# is opened before boa gives out privs.

# Example: Auth /secret /var/www/secret.passwd

 

#Auth /internal /etc/internal.passwd

 

 

Don't change mime.types

 

Put your man page index.html in /home/httpd/

3. Complete the rest steps

4.  Boot uclinux,  use IE to visit http://192.168.0.3.

 

As for CGI, please refer to

http://www.jmarshall.com/easy/cgi/