首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

boa服务器怎样配置

boa服务器怎样配置

为什么nios2linux操作系统中的boa服务器怎么配置  也不能运行cgi程序    但能运行静态网页。

iE中提示找不到网页

配置boa的方法如下。

To enable network support, in uClinux-dist kernel config,
Networking -->

  • Networking support
    Networking options --->
    <*> Packet socket
    <*> Unix domain sockets
  • TCP/IP networking

    Device Drivers -->Network device support ─>

  • Network device support
  • Ethernet (10 or 100Mbit)


  • SMC 91C9x/91C1xxx support            # only if you use Altera Nios dev board with SMC91111,
    [ ] Opencores (Igor) Emac support                
    [ ] MoreThanIP 10_100_1000 Emac support
    [ ] DM9000 support 
  • DM9000A with checksum offloading   # only if you use DE2 with DM9000A

    If you use Altera's Nios dev board, select "SMC 91C9x/91C1xxx support"  . linux-2.6.x/drivers/net/smc91x.c .
    If you use DE2 board, you should enable "DM9000A with checksum offloading" . linux-2.6.x/drivers/net/dm9ks.c .


    If you use Altera Stratix dev board, you must change the irq number of the ether chip to a non-zero value in SOPC builder and rebuild.

    Then rebuild the kernel, and boot nios2 uclinux. It should detect the SMC 91111 or DM9000 device as eth0.


    Every board should have a unique ethernet hardware address. In file linux-2.6.x/arch/nios2nommu/kernel/setup.c, kernel get the hw addr from the flash on Altera dev board. You may use 'ifconfig' to find out. If you use custom boards, you need to change setup.c or use ifconfig to set hw address.
    ifconfig eth0 hw ether 00:07:ed:0a:03:29      #  hardware MAC address 00:07:ed:0a:03:<random 00-ff>


    Then config the ip address and router.
    ifconfig eth0 192.168.1.10      # static ip
    route add default gw 192.168.1.254     # gateway
    Or, use dhcp client
    ifconfig eth0 up
    dhcpcd &


    To set name server (DNS) , create the file /etc/resolv.conf , with a line of your name server, eg
    nameserver 192.168.1.254
    Or if you use DHCP, the dhcpcd will create this file.
    Refer to the end of NFSFileSytem wiki page for a sample dhcpd.conf.

    You may use "ntpdate" to get date & time from internet. Set TZ  env to your timezone, eg "TZ=CST-8" for east China. Or edit the file vendors/Altera/nios2nommu/TZ , which will be /etc/TZ as the cache of TZ env.
    /> TZ=CST-8
    /> ntpdate pool.ntp.org
    Looking for host pool.ntp.org and service ntp
    host found : 71.237.179.90
    13 Dec 11:05:33 ntpdate[20]: step time server 71.237.179.90 offset 222059037.166530 sec
    /> date
    Wed Dec 13 11:05:39 2006

    The telnetd and ftpd should be invoked by inetd with the default config. The BOA is standalone.
    /> inetd &   # start inetd to invoke telnetd and ftpd services
    [15]
    /> boa &   # start httpd with cgi-demo
    [16]
    /> netstat -a
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 *:http                  *:*                     LISTEN
    tcp        0      0 *:ftp                   *:*                     LISTEN
    tcp        0      0 *:telnet                *:*                     LISTEN
    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags       Type       State         I-Node Path

    You may add these setup for ethernet to the file vendors/Altera/nios2nommu/rc (which will become /etc/rc ) in uClinux-dist dir, follow the setup for "lo" . So that the ethernet will be configed by init.

    With dm9ks driver in DE2 the ftpd transfer rate is around 1.5-1.7 MByte/s.

    Jumbo Frames support is enabled by changing the MTU to a value larger than the default of 1500.  Use the ifconfig command to increase the MTU size.
    eg,   ifconfig eth<x> mtu 6000 up


  • 这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

    我用的de2的开发板,网卡运行正常,在ie中能运行我编写的静态网页,担就是不能运行cgi程序,在ie中提示找不到文件,如果去掉boa.conf配置文件中
    ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ 这一行,

    能够运行我编写的exe文件,是乱码。但还是不能运行cgi程序,提示服务器内部错误。这是为什么啊
    boa.conf 配置如下:
    # 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
    Group 0

    # 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 /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 /dev/null
    #AccessLog /log/boa/access_log

    # 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 /log/boa/referer_log

    # 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 /mnt/jaguar/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.yangwentao.com


    # 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 /home/httpd

    # 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
    DirectoryMaker /sbin/boa_indexer

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

    #LocalCodepage gb2312

    # 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 /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
    #Redirect /home/httpd/cgi-bin http://211.67.42.42/cgi-bin

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

    # VirtualHost: Maps a virtual host to a directory.
    # Example: VirtualHost cz.boa.org /html/htdocs/boa/

    #VirtualHost www.yangwentao.com /home/httpd/


    # Auth: HTTP Basic authorization. Format is "Auth <Directory> <asswdFile>".
    # 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

    返回列表