13实验十三 Linux环境下的WEB服务实验
- 格式:pdf
- 大小:266.07 KB
- 文档页数:11
在Linux上搭建Web服务器的步骤在当今的数字化世界中,Web服务器作为承载和提供网页服务的重要组成部分,它的搭建对于Web应用程序的开发和部署具有至关重要的意义。
在本文中,我们将介绍在Linux操作系统上搭建Web服务器的步骤。
一、Linux环境准备1.选择合适的Linux发行版:目前常见的Linux发行版有Ubuntu、CentOS等,选择合适的发行版作为我们的Web服务器操作系统。
2.安装Linux操作系统:根据所选择的Linux发行版,进行系统的安装。
安装过程中需要设置用户名、密码等相关配置。
二、安装所需软件1.安装Apache服务器:Apache是目前最广泛使用的Web服务器软件之一。
在Linux上安装Apache可以通过包管理工具进行安装,以Ubuntu为例,命令如下:```sudo apt-get update //更新软件源sudo apt-get install apache2 //安装Apache```2.安装PHP解释器:PHP是一种广泛使用的服务器端脚本语言,用于动态生成Web页面。
同样使用包管理工具进行安装,以Ubuntu为例,命令如下:```sudo apt-get install php libapache2-mod-php //安装PHP和Apache模块```3.安装MySQL数据库:MySQL是一种开源的关系型数据库管理系统,用于存储和管理网站所需的数据。
以Ubuntu为例,命令如下:```sudo apt-get install mysql-server //安装MySQL服务器sudo mysql_secure_installation //进行安全设置```三、配置服务器1.配置Apache服务器:Apache的配置文件位于/etc/apache2目录下,通过编辑该文件可以对服务器进行相关配置。
```sudo nano /etc/apache2/apache2.conf //编辑配置文件```在配置文件中可以设置服务器的根目录、虚拟主机等信息。
如何在Linux系统下搭建Web服务器及数据库服务器在Linux系统下搭建Web服务器及数据库服务器。
在Linux系统下搭建Web服务器及数据库服务器是一个常见的任务,无论是为了个人使用还是为了企业级应用。
Linux系统以其稳定性和强大的性能而闻名,因此很多人选择在Linux上搭建Web服务器和数据库服务器。
本文将介绍如何在Linux系统上搭建一个基本的Web服务器和数据库服务器,以供读者参考。
搭建Web服务器。
首先,我们需要选择一个合适的Web服务器软件。
在Linux系统上,最常用的Web服务器软件是Apache和Nginx。
这两种软件都是开源的,性能稳定,功能强大。
在本文中,我们选择使用Apache作为Web服务器软件。
1. 安装Apache。
在大多数Linux发行版中,安装Apache非常简单。
只需在终端中输入以下命令即可:```bash。
sudo apt-get update。
sudo apt-get install apache2。
```。
这将会自动下载并安装Apache软件包。
安装完成后,可以在浏览器中输入服务器的IP地址或域名来测试Apache是否安装成功。
如果一切正常,将会看到Apache的默认欢迎页面。
2. 配置虚拟主机。
在实际应用中,往往需要配置多个网站,这就需要使用虚拟主机。
在Apache 中,可以通过配置`/etc/apache2/sites-available/`目录下的配置文件来实现虚拟主机的配置。
每个网站都需要一个单独的配置文件,配置文件的格式如下:```apache。
<VirtualHost :80>。
***********************************。
ServerName 。
ServerAlias 。
DocumentRoot /var/www/yourdomain。
ErrorLog ${APACHE_LOG_DIR}/error.log。
一、编译安装httpd服务1.配置IP[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 配置IP BOOTPROTO=noneIPADDR=192.168.1.1NETMASK=255.255.255.0[root@localhost ~]# service network restart 重启网卡[root@localhost ~]# ifconfig eth0 查看IP地址eth0 Link encap:Ethernet HWaddr 00:0C:29:B9:F4:F5inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.02.卸载[root@localhost ~]# rpm -q httpd 查看软件包是否安装httpd-2.2.3-43.el5 (安装了,进行卸载)[root@localhost ~]# rpm -e httpd --nodeps 卸载软件卸载软件[root@localhost ~]# rpm -q httpd 再查看软件包是否安装package httpd is not installed3.解压(复制)[root@localhost Desktop]# cp -r httpd-2.2.17/ /usr/src/ 把这个文件夹复制到此路径下[root@localhost httpd-2.2.17]# ls /usr/src/httpd-2.2.17/ 查看4.配置[root@localhost httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi 配置5.编译并安装[root@localhost httpd-2.2.17]# make && make install[root@localhost httpd-2.2.17]# ls /usr/local/httpd/ 确认安装结果bin cgi-bin error icons lib man modulesbuild conf htdocs include logs manual[root@localhost httpd-2.2.17]# /usr/local/httpd/bin/apachectl -t 验证语法Syntax OK6.优化[root@localhost httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin/优化,相当于创建快捷方式[root@localhost httpd-2.2.17]# httpd -v 查看程序版本Server version: Apache/2.2.17 (Unix)Server built: Mar 14 2015 16:28:47[root@localhost httpd-2.2.17]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl lrwxrwxrwx 1 root root 30 03-14 16:36 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl lrwxrwxrwx 1 root root 26 03-14 16:36 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd7.添加httpd系统服务[root@localhost httpd-2.2.17]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd[root@localhost httpd-2.2.17]# chmod +x /etc/init.d/httpd赋予这个新文件夹可执行的权限[root@localhost httpd-2.2.17]# vim /etc/init.d/httpd 编辑#!/bin/sh# chkconfig: 35 85 15# description:hehe (手动添加这两项)[root@localhost httpd-2.2.17]# chkconfig --add httpd将httpd添加为系统服务[root@localhost httpd-2.2.17]# chkconfig --list httpdhttpd 0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭8.验证[root@localhost httpd-2.2.17]# service httpd start 启动服务[root@localhost httpd-2.2.17]# netstat -anpt | grep httpd 检查服务tcp 0 0 :::80 :::* LISTEN22903/httpd在Linux中验证:在Windows中验证:二、部署awstats分析系统[root@localhost Desktop]# cp -r awstats-7.0/ /usr/local/awstats 复制此文件夹到此路径下[root@localhost Desktop]# cd /usr/local/awstats/tools/ 进入此目录[root@localhost tools]# lsawstats_buildstaticpages.pl awstats_updateall.pl logresolvemerge.pl webminawstats_configure.pl geoip_generator.pl maillogconvert.pl xsltawstats_exportlib.pl httpd_conf urlaliasbuilder.pl[root@localhost tools]# ./awstats_configure.pl 执行脚本/usr/local/httpd/conf/httpd.conf[y/N] ? y[y/N] ? yPress ENTER to continue...Press ENTER to finish...[root@localhost tools]# vim /etc/awstats/.conf修改站点统计配置文件修改:LogFile="/usr/local/httpd/logs/access_log"DirData="/var/lib/awstats"[root@localhost tools]# vim /usr/local/httpd/conf/httpd.conf 编辑httpd服务的主配置文件修改:[root@localhost tools]# /usr/local/httpd/bin/apachectl -t 验证配置的语法是否正确Syntax OK[root@localhost tools]# /etc/init.d/httpd start 启动httpd服务[root@localhost tools]# netstat -anpt | grep httpdtcp 0 0 :::80 :::* LISTEN 24688/httpd[root@localhost tools]# mkdir /var/lib/awstats 创建文件夹设置计划任务[root@localhost tools]# crontab -e输入*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now[root@localhost tools]# /etc/init.d/crond start 启动服务启动crond:[确定][root@localhost tools]# chkconfig --level 35 crond on修改hosts文件后访问[root@localhost tools]# vim /etc/hosts 修改hosts文件192.168.1.1 在linux中验证:在windows中验证:。
在Linux上搭建Web应用程序的开发环境Web应用程序的开发环境对于开发人员来说非常重要,它提供了一种开发、测试和调试Web应用程序的平台。
在Linux操作系统上,我们可以按照以下步骤搭建一个高效的Web应用程序开发环境。
1. 安装Linux操作系统:在开始搭建Web应用程序的开发环境之前,首先需要在计算机上安装Linux操作系统。
根据个人的需求,可以选择Ubuntu、CentOS等常见的Linux发行版。
安装完成后,确保系统已经更新到最新版本。
2. 安装Apache服务器:Apache是一个常用的开源Web服务器软件,它支持在Linux系统上搭建Web应用程序的开发环境。
在终端中运行以下命令,安装Apache服务器:```sudo apt-get install apache2```安装完成后,使用以下命令启动Apache服务器:```sudo service apache2 start```确保Apache服务器已经成功启动后,可以通过在浏览器中输入本地IP地址来验证。
3. 安装MySQL数据库:MySQL是一种流行的开源关系型数据库管理系统,用于存储Web应用程序的数据。
在终端中运行以下命令,安装MySQL数据库: ```sudo apt-get install mysql-server```安装过程中,会要求设置数据库的root用户密码。
安装完成后,使用以下命令启动MySQL数据库:```sudo service mysql start```运行以下命令进入MySQL命令行界面,并使用root用户登录:```mysql -u root -p```输入之前设置的root用户密码后,即可成功登录MySQL数据库。
4. 安装PHP解释器:PHP是一种广泛应用于Web开发的脚本语言,用于处理Web应用程序的后端逻辑。
在终端中运行以下命令,安装PHP解释器: ```sudo apt-get install php```安装完成后,可以创建一个php文件并在其中编写一些PHP代码,然后通过访问该文件来验证PHP解释器是否正常工作。
linux搭建一个web服务Linux搭建一个Web服务在当今互联网时代,搭建一个Web服务是非常常见的需求。
Linux 作为一个开源的操作系统,被广泛应用于这方面的搭建过程中。
本文将介绍如何在Linux系统上搭建一个稳定高效的Web服务。
1. 选择合适的Linux发行版在开始搭建Web服务之前,首先需要选择合适的Linux发行版。
一些常见而流行的Linux发行版包括Ubuntu、CentOS、Debian 等。
这些发行版都具有良好的社区支持和广泛的应用软件。
2. 安装必要的软件在搭建Web服务之前,需要安装一些必要的软件。
其中包括Web 服务器(如Apache、Nginx)、数据库服务器(如MySQL、PostgreSQL)、解释器(如PHP、Python)等。
可以使用软件包管理器如apt-get(适用于Debian系列)、yum(适用于CentOS系列)进行安装和管理。
3. 配置Web服务器搭建Web服务的核心是配置Web服务器。
这里以Apache为例进行说明。
在Apache配置文件中,通常需要设置服务器基本信息、虚拟主机、路径指向等。
可以通过编辑`/etc/apache2/apache2.conf`文件来配置Apache服务器。
4. 配置数据库服务器数据库服务器是Web服务的重要组成部分。
常见的关系型数据库服务器如MySQL、PostgreSQL都是优秀的选择。
在安装数据库服务器后,需要进行一些基本的配置,包括设置数据库用户名和密码、创建数据库等。
5. 配置解释器解释器是用来运行Web应用程序的重要组件。
根据需求选择合适的解释器,常见的有PHP、Python等。
需要确保解释器正常安装并配置相关的环境变量。
6. 创建Web应用程序在搭建Web服务的过程中,通常需要创建一个Web应用程序。
这可以是静态网页、动态网页或者是Web应用程序框架。
根据自己的需求来选择适合的方式。
7. 上传网页文件在创建Web应用程序后,需要将相关的网页文件上传到服务器上。
基于Linux 环境的Web 服务器及CGI 程序的实现基于Linux 环境的Web 服务器及CGI 程序的实现前言在Windows98/NT/2000 等操作系统普遍运用于PC 上的今天,Linux 系统异军突起,成为Windows NT 在服务器方面的最有力的竞争者。
Linux 是“free UNIX”,即免费的UNIX,是PC 硬件平台上的类UNIX 操作系统,它遵从国际上相关组织制定的UNIX 标准(POSIX),继承了UNIX 强大的功能和极佳的稳定性,并降低了对硬件环境的要求。
并且,随着Linux 本身的不断发展,Linux 将会呈现出越来越友好的用户界面。
CGI(Common Gateway Interface,通用网关接口)在Web 服务器和Web 应用程序之间建立了通信链接。
CGI Script 是一种由Web 服务器运行的程序,它的作用是处理Web 服务器的请求。
这里所指的请求有多种形式,最常见的一种形式是用户通过HTML 页面上的表格发出的,用户只要点击指向CGI 程序的链接,而HTML 页面则包含了程序端的所有资源。
CGI 程序为用户提供了这样一个图形式的界面。
本文主要描述的是一个用C 语言编写的基于Linux 操作系统的服务器程序,作者采用IE 浏览器作为客户端,利用CGI 程序将经过处理的由用户输入的信息提交给张晓东同学编写的解释程序进行分析,从而执行不同的功能。
在对数据库操作过程中,选择的数据库是MySQL。
MySQL 是一个真正的多用户、多线程SQL 数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL 是以一个客户机/服务器结构实现的,它由一个服务器守护程序mysqld 和很多不同的客户程序和库组成。
本文共分六章,前四章介绍了服务器编程所涉及到的一些知识,其中包括服务器系统结构、socket 编程、CGI 编程、HTTP 协议等。
如何在Linux上搭建Web服务器在Linux上搭建Web服务器的步骤和要点Web服务器是指能够接收客户端请求并发送相应信息的软件或硬件设备。
搭建一个稳定、安全的Web服务器是建立网站的关键一步。
本文将介绍如何在Linux系统上搭建Web服务器,并提供一些相关的要点和步骤。
1. 确定服务器需求在开始之前,需要明确自己的服务器需求。
根据网站的规模和访问量,选择合适的硬件配置和软件环境。
2. 选择合适的Linux发行版在Linux操作系统中,有许多不同的发行版可供选择,如Ubuntu、CentOS等。
选择适合自己的发行版,并进行安装。
3. 安装Apache服务器软件Apache是最常用的开源Web服务器软件,稳定且易于配置。
在Linux上安装Apache通常很简单,只需在终端中运行以下命令:```sudo apt-get updatesudo apt-get install apache2```安装完成后,Apache将自动启动,并且可以通过在浏览器中输入服务器的IP地址进行访问。
4. 配置Apache服务器在搭建Web服务器之前,需要进行一些必要的配置。
进入Apache 的配置文件目录,并进行编辑。
```cd /etc/apache2/sudo vi apache2.conf```在该文件中,可以修改服务器的一些默认设置,如监听端口、虚拟主机等。
根据自己的需求进行配置。
5. 安装和配置MySQL数据库MySQL是一个强大的关系型数据库管理系统,常用于Web应用程序的数据存储。
在Linux上安装MySQL,可以运行以下命令:```sudo apt-get install mysql-server```安装完成后,需要进行一些配置,如设置root用户密码等。
6. 安装和配置PHPPHP是一种通用脚本语言,在Web开发中广泛使用。
在Linux上安装PHP,可以运行以下命令:```sudo apt-get install php```安装完成后,需要进行一些配置,如在Apache中启用PHP模块。
web服务器的配置实验报告web服务器的配置实验报告一、引言在当今信息时代,互联网已经成为了人们获取信息、进行交流和开展业务的重要平台。
而作为支撑互联网运行的核心设备之一,web服务器的配置显得尤为重要。
本篇实验报告将对web服务器的配置进行详细的论述和分析。
二、背景介绍web服务器是指运行在服务器上的软件,用于接收和响应客户端发起的HTTP请求。
在配置web服务器时,需要考虑到服务器的硬件性能、操作系统环境以及相关的软件设置。
本次实验将以Apache服务器为例,对其配置进行实验和分析。
三、硬件配置在选择web服务器的硬件配置时,需要考虑到服务器的负载能力和稳定性。
首先,需要选择一台性能较好的服务器主机,具备足够的处理能力和存储空间。
其次,需要合理分配服务器的内存和带宽资源,以满足用户的访问需求。
最后,还需要选择合适的网络设备,确保服务器与用户之间的数据传输畅通无阻。
四、操作系统环境在配置web服务器的操作系统环境时,需要选择一种稳定、安全且易于管理的操作系统。
常见的选择包括Linux、Windows Server等。
本次实验将以Linux操作系统为例进行配置。
1. 安装操作系统首先,需要选择一种适合的Linux发行版,如Ubuntu、CentOS等。
然后,将操作系统安装到服务器主机上,并进行基本的系统设置,如设置主机名、网络配置等。
2. 安装Apache服务器在Linux操作系统下,可以通过包管理器来安装Apache服务器。
运行相应的命令,即可完成安装过程。
安装完成后,还需要进行一些基本的配置,如设置监听端口、启用虚拟主机等。
五、软件设置在配置web服务器的软件环境时,需要进行一些相关的设置,以提高服务器的性能和安全性。
1. 配置缓存为了提高网站的访问速度,可以配置缓存机制。
通过设置适当的缓存策略,可以减少对服务器的请求次数,从而提升网站的响应速度。
2. 设置访问权限为了保护服务器的安全,需要设置合适的访问权限。
如何在Linux系统下进行Web开发Linux系统是一种开源的操作系统,因其稳定性、安全性以及自由度高的特点,越来越多的开发者选择在Linux系统上进行Web开发工作。
对于初学者来说,如何在Linux系统下进行Web开发一直是一个头疼的问题。
本文将分享一些关于如何在Linux系统下进行Web开发的经验和知识。
一、选择合适的Linux发行版首先,选择一个合适的Linux发行版是非常重要的。
目前市面上有各种不同的Linux发行版,如Ubuntu、Debian、CentOS等等。
对于Web开发者来说,选择一款稳定、易用、常见的Linux发行版非常重要。
推荐使用Ubuntu或CentOS这两款发行版,它们都拥有广泛的社区支持和稳定的安全性能。
二、安装必要的软件在Linux系统下进行Web开发,需要安装一些必要的软件,如Web服务器、数据库和编程语言等等。
下面简单介绍一下这些软件:1、Web服务器Web服务器是Web开发中最重要的组件之一。
目前流行的Web服务器有Apache、Nginx等。
在Ubuntu系统中,可以通过以下命令安装Apache和Nginx:sudo apt install apache2sudo apt install nginx2、数据库数据库是Web应用程序中存储和管理数据的关键组件。
目前常见的关系型数据库有MySQL和PostgreSQL等。
在Ubuntu系统中,可以通过以下命令安装MySQL和PostgreSQL:sudo apt install mysql-serversudo apt install postgresql3、编程语言在Web开发中,常见的编程语言有PHP、Python、Ruby等。
在Ubuntu系统中,可以通过以下命令安装这些编程语言:sudo apt install phpsudo apt install pythonsudo apt install ruby三、选择合适的编辑器选择一个合适的编辑器是进行Web开发的关键之一。
实验十三 Linux环境下的WEB服务实验一、实验目的1、掌握在DM2410实验系统Linux下建立Web服务器的方法;2、掌握在DM2410实验系统Linux下动态Web技术的实现方法。
二、实验内容1、建立boa Web服务器;2、验证实验系统CGI服务。
三、实验设备1、硬件:PC机;DM2410实验系统;串口线;机对机网线;2、软件:PC机操作系统(WINDOWS2000,REDHAT Linux);Linux下ARM GCC交叉编译环境;实验系统附带文件;四、预备知识1、了解Linux操作系统;2、熟悉Linux系统的操作,熟悉REDHATLinux图形界面(本实验中建议使用KDE 图形界面);3、掌握实验一至实验三的内容;4、了解网络的相关知识。
五、基础知识(一)CGI简介CGI是Common Gateway Interface的简称。
其主要的功能是在WWW环境下,藉由从客户端传递一些信息给WWW Server,再由WWW Server去启动所指定的程式码来完成特定的工作。
所以更明确的说,CGI仅是在WWW Server上可执行的程式码,而她的工作就是控制信息要求而且产生并传回所需的文件。
使用CGI,你的Server可以读取并显示在客户端无法读取的格式(像是SQL Data Base)。
而且可以像闸道(Gateway)一样,在伺服端和客户端之间,产生客户端所需要的信息。
基本上,在此种主从式(Client/Server)的环境之下,其IPC(Inter Process Communication)的协定是利用信息传递及记忆体分享(环境变数)的方式来完成。
CGI有其特定的写法及规格,必须遵守其原则,方可达到主从端资讯交流的目的。
1、CGI的输入输出CGI可以使用在很多方面,大部份是控制ISINDEX和FORM的需求,亦即ISINDEX 和FORM最常被使用作CGI的输入介面。
但也有利用链结(LINK)的方式来呼叫所要执行的程式,通常是在使用者的资讯已固定,或是为达成某种单一目的而使用。
而使用链结方式其程式执行所需的参数是以GETMETHOD的方式含在URL中传入,亦即CGI程式在发展时必须使用GETMETHOD的方式来读取参数。
输出的部分则大部分是利用程式来产生虚拟文件,也就是文件并不是储存Server的储存媒体中,而是由程式建构出来的,浏览程式结束之后文件即不再存在。
大部分的文件格式是超本文标示语言(HTML)或是文字档。
也有利用程式链结到另一份文件,或是只记录使用者输入资讯而不做输出!下面是常见输入输出的例子∶――转换您的系统参考手册变成超本文标示语言(HTML)的格式,接着将结果送给客户端。
――当做WAIS和ARCHIE资料库的界面,将结果转成超本文标示语言(HTML)的格式送给客户端。
――允许使用者透过HTMLFORM和附加的CGI解码来回给你的Server。
在下面各节,我们将会进一步说明有关这一部分的使用方法,或是简单的范例。
2、CGI可用的程式语言至于CGI要使用何种程式语言来达成?从前面的说明可以知道,CGI仅是在WWW Server上可执行的程式码。
是故,只要是您的WWW Server以及WWW Server所在的作业系统可执行的程式语言皆能使用在CGI上。
以下列出几种较常在CGI中使用的语言∶1)C/C++2)PERL3)THEBOURNESHEL4)THECSHELL5)TCL6)Visual Basic7)Apple Script8)PHP这些程式在完成之后要放置于何处?事实上,不同的WWW Server有不同的规定。
以HTTPS为例,她只执行后缀名为EXE的执行文件,且程式不能为图形介面(GUI)的程式。
而程式只要放置在指定文件的树状目录中任意位置即可。
但是值得注意的是,大部分的WWW Server尤其是UNIX上的WWW Server,都将CGI程式放置在一共同的指定目录之下。
所以在放置CGI程式时,请先参考您的WWW Server手册。
Linux具有良好的网络支持,在其上建立Web服务器和设计动态Web网页是比较容易的事情,本实验将讲述如何在DM2410嵌入式教学实验系统中建立嵌入式Web服务器,以及怎样建立动态Web页面。
(二)Boa Web服务器Linux下嵌入式Web服务器主要有三个;httpd、thttpd和Boa。
Httpd是最简单的一个Web服务器,它的功能最弱,不支持认证,不支持CGI。
thttpd和Boa都支持认证、CGI 等,功能都比较全。
本实验使用boa Web服务器作为示例。
六、实验说明DM2410实验系统的WEB 管理软件由WEB SERVER(boa)+CGI 代码两部分构成。
其中boa 为一个标准的WWW server,用户可扩展部分就是CGI 代码部分,通过修改CGI 代码,用户可定制自己的管理软件。
WEB服务器编译流程Boa是一个单任务的http服务器,源代码开放、性能高。
实现Boa的过程比较简单。
1、下载boa源代码:boa Web服务器的源代码可以从http:// 下载。
可以从该网站下载最新的版本,本实验下载文件为:boa-O.94.13.tar.gz。
下载后将文件解压缩到/DM2410/examples目录下为了使用方便我们预定将解压后的/boa-O.94.13.tar目录更名为boa。
如果完成过实验一的自动安装过程,则在/DM2410/examples下已经有了这个目录并已经解压缩成功。
这里需要明确一下,我们的源代码在/DM2410/examples目录下进行编译后生成的文件也分布在这个文件的各级子目录中。
最后我们需要把生成的文件放到/DM2410/root目录中指定的目录中,通过实验二的学习我们知道这个/DM2410/root目录是实验系统的根目录。
这两个目录中有一些目录或文件名是重复的,阅读实验文档时需要明确那些是源文件那些时最终生成的文件。
2、编译boa源代码,生成可执行文件boa。
如果直接编译从网上下载的boa-O.94.13.tar.gz文件中解压缩出来的文件我们应该首先执行这一步:在/DM2410/examples /boa/src中运行:#./configure我们解压缩在这个/DM2410/example/boa目录下的文件是已经设置好的,无须进行此步操作。
只需要修改/DM2410/examples /boa/src 中Makefile里的相关代码如下:CC =/usr/local/arm/2.95.3/bin/arm-linux-gccCPP= /usr/local/arm/2.95.3/bin/arm-linux-gcc -E然后在/DM2410/examples /boa/src目录下执行make就可以了。
#make如果无法编译或已经编译过这个文件而想再次编译,那么首先执行下面的命令:#make clean然后再make即可。
可以看到在同级目录下生成boa文件。
3、应在编译内核前先建好要用到的目录。
建立/DM2410/root目录(也就是未来实验系统中的根目录)下的/etc/boa目录。
在/DM2410/root目录下建立/www目录。
这两个目录的作用在后面会讲到4、需要对Boa做一些配置和修改。
这主要通过对defines.h、boa.conf和mime.types 文件进行修改来实现,需要改动的配置有以下几项。
1) 修改defines.h指定Web服务器的根目录路径(SERVER_ROOT)进入/boa/src/目录,通过修改defines.h文件中#define SERVER_ROOT“/etc/boa”语句来指定SERVER_ROOT。
这样就要求生成的 boa.conf放到DM2410/root/etc/boa 目录下。
Boa文件会到这个目录下的boa.conf文件中查找相关配置。
2)修改boa.conf文件该文件由一些规则组成,用于配置boa服务器,指定相应端口,服务器名称,一些相关文件的路径等等。
Boa服务器要想正确运行,必须保证该文件是正确配置的,而且该文件和某些静态网页,CGI可执行程序等都放于某特定目录下,如本实验中放在了实验系统的根目录下的/www/目录下(在PC机的/DM2410/root/www/目录下)。
boa.conf文件非常重要,所以下面给出它的内容,并且详细说明每个规则。
# 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 rootGroup root# 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 /dev/nullErrorLog /dev/console# 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 /dev/null# 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 .hereServerName DM2410# 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 /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 DirectoryMakerDirectoryIndex 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 processingKeepAliveMax 1000# KeepAliveTimeout: seconds to wait before keepalive connection times outKeepAliveTimeout 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# 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/ /usr/lib/cgi-bin/请特别注意上面加重了的规则行。