WEB服务器也称为WWW(WORLD WIDE WEB)即是所谓的万维网服务器,主要功能是提供网上信息浏览服务。 

最常用的大型Web服务器是Apache微软的Internet信息服务器(Internet Information Server,所谓的IIS服务器)、IBM WebSphere以及BEA WebLogic等。

Internet上的服务器也称为Web服务器,可以向Internet上的客户机提供WWWEmailFTP等各种Internet服务。Web服务器的工作原理并不复杂,一般可分成如下4个步骤:连接过程、请求过程、应答过程以及关闭连接。

WindowsLinuxUnix3个操作系统是架设Web服务器比较常见的操作系统。Linux的安全性能在这3个操作系统中最高,可以支持多个硬件平台,其网络功能比较强大,所以现在使用的人数也是最多的。

下面我们来介绍一下linux比较常见的apache服务器,这里我使用的redhat5.4下自带的apache2.2.3的。

httpd-2.2.3-22.el5.i386.rpm         apache主程序

httpd-devel-2.2.3-22.el5.i386.rpm           开发工具

httpd-manual-2.2.3-22.el5.i386.rpm        配置手册

system-config-httpd-1.3.3.3-1.el5.noarch.rpm    图形配置

要学习apache必须先知道apache的安装与配置,现在我们来安装一下redhat自带的apache软件。

安装apache可以使用两种方式,第一种是rpm的安装。第二种是yum安装。个人比较偏爱于yum的安装方式,因为yum安装很好的解决了依赖关系,自己寻找依赖包进行安装,比较方便。关于安装方式在前面的博客中我已经介绍过了,我就不多介绍了。

由于我已经安装过了  所以显示的是已经安装最新版了  然后启动apache服务并且查看端口

 

输入本地环回地址可以发现,我们web服务器已经安装成功了

如果想配置apache就必须知道apache配置的相关目录

 

例如:/etc/httpd/   这是apache服务器的配置目录

 /etc/httpd/conf/httpd.conf apache服务器的配置文件

/var/www/html     apache服务器默认的web站点目录

/var/log/httpd/   apache服务器的运行日志目录

我们可以自己添加一个网页到自己的web服务器然后查看一下效果

从上面的目录我们知道apacheweb默认站点是/var/www/html/

 

 

进入文件夹我们发现是空的,我们要建立一个主页

 

 

我们刷新一下页面可以发现自己所建立的web网页

 

输入本地环回地址后你可以发现web服务器自动寻找你所建立的默认的站点,因为这都是在/etc/httpd/conf/httpd.conf文件中配置的,可以自行定制你的主页名称。如果你想更改站点目录这时需要更改相关文件配置,可以在配置文件的这个位置修改。


 

我们在企业中会让工作人员下载公司的相关文件,所以我们来介绍一下怎么建立自己web资源库。首先要建立资源库文件夹mkdir /Download向此文件夹内添加内容,然后修改apache的配置文件/etc/httpd/conf/httpd.conf。可以参照配置文件的目录的配置,然后制定自己的目录

然后重启apache服务,进入本地的/Download目录可以发现可以供下载

 

Linux的一个文本浏览器,不用在浏览器中查看,可以尝试一下

# rpm -ivh lynx-2.8.5-28.1.el5_2.1.i386.rpm

# lynx http://10.106.6.254

在企业的网络中是连到internet网中的,大家要知道你建立的资源库是不安全的,所以要提高网络的安全性,必须实施web的安全管理,在apache的配置文件中我们可以找到安全的配置内容

 

 

AllowOerride选项是控制验证的开关All表示开启,None表示关闭,下面的Allow选项,那就是控制访问IP的,还有一个文件.htaccess(站点根目录下)文件,这个是用于描述访问控制的文件,里面内容设置一些基本的访问规则,例如

authuserfile /var/www/.htpasswd    //合法用户的用户名和密码,用工具生成

authtype basic [md5]              //认证类型

authname "please input your name and password"//登录提示

require valid-user                //所有.htpasswd文件中的用户都能访问,也可以指定特定用户名

举一个例子,要想让企业网外部的用户拒绝访问可以设置访问策略

<Directory "/tmp/pub">

Options Indexes

Allowoverride All  //身份认证

Order allow,deny  //顺序很重要不然就无法实现访问控制

Allow from all    //允许所有IP地址

Deny from 192.168.1.1  //被拒绝的IP地址

</Directory>

然后需要修改.htaccess

编辑网站根目录下的.htaccess文件(没有发现这个文件不要郁闷,因为它是默认不存在)

# vim /var/www/html/.htaccess 内容如下

 

有了权限的设置必须生成.htpasswd文件来通过验证,使用htpasswd指令,使用方法

htpasswd使用格式

htpasswd [ -c ] [ -m ] [ -D ] passwdfile username

这里的用户不是系统的登录用户,是随机生成的,进入到web服务器的根目录下

例如要允许企业内部用户user1登录,密码都是123456

第一次使用要加-c参数

然后重启apache服务出现下面的对话框,说明1访问策略已经生效了

 

虚拟站点的实现

服务器是面向N多个用户的吧,可是IP是有限的,一台服务器就挂载一个网站就太浪费了,如果想要挂载多个站点,可以通过下列五种方法实现,主要实现第五种虚拟主机头用处比较大

1.物理目录

2.虚拟目录

 目录可以在任何位置 名称可以使用别名

3.基于多个ip地址

4.基于端口

5.基于主机头

使用少量ip 多个名字 标准端口 多个站点

首先修改httpd.conf文件,添加以下内容

 

去掉注释

 

然后建立website1website2的站点目录和测试主页

# mkdir /var/www/html/website1 /var/www/html/website2

# echo “Here is website1”>/var/www/html/website1/index.html

# echo “Here is website2”>/var/www/html/website2/index.html

step 3:重新启动apache服务器

# service httpd restart

step 4:集中测试

因为没有在外部因特网测试,所以要修改客户机的hosts文件,加入以下条目

192.168.10.10 www.website1.com

192.168.10.10 www.website2.com

打开客户机浏览器访问站点目录