论文部分内容阅读
摘 要:Apache是Linux系统下最常用的Web服务器软件,它功能强大,运行稳定,是各大Web服务器的首选。本文介绍了Apache的安装、httpd.conf文件参数的设置、用户访问的控制和认证、以及虚拟主机的设置等。
关键词:Linux;Apache;httpd.cofn;认证;虚拟主机
中图分类号:TP393.08
目前人们从互联网获得的绝大部分信息来自于Internet的Web服务器,为人们提供诸如文本、图像、声音、视频等信息浏览服务,称为“WWW”服务或Web服务。
Web服务器负责Web站点的管理与发布,通过Web服务器软件来实现。目前常见的服务器软件有基于Linux的Apache、基于Windows的IIS,和来自俄罗斯的Nginx构成。根据著名的Web服务器调查公司Netcraft(http://news.netcraft.com)的统计,截止2014年6月,Apache占据了Web服务器软件市场近38%的份额,超过微软的IIS所占33%的份额,另外nginx占据了14%的份额。而从1996年以来,Apache就牢牢的占据了Web服务器软件市场近40%的份额。
Apache之所以成为构建Web服务器的首选,是基于Apache的跨平台特性。它可以在UNIX、Linux和Windows等多种操作系统平台上部署,功能强大、运行稳定、而且是自由软件,代码完全开放。Linux操作系统凭借其超强的稳定性成为架设Web服务器的首选平台,而在其上部署Web服务,Apache又成为首选软件。
1 Apache服务器软件的安装
在某些Linux发行版,如RHEL5,默认没有安装Apache软件包,可以从http://httpd.apache.org官网下载最新版本Apache进行安装。
Apache服务器要成功运行,还必须安装关联软件包,包括:postgresql类库、Apache运行工具类库、Apache环境类库和Apache服务器软件,通过rpm命令依次将上述软件包安装完毕即可。
安装完成后,要正常运行Apache,还需要打开Linux防火墙的WWW服务,并且还要启动httpd守护进程。
2 Apache服务的配置文件
Apache服务器的正常运行,需要依赖位于/etc/httpd/conf/目录下的配置文件httpd.conf、/var/www目录下保存的web站点文件、和/var/log/httpd目录下的日志文件。其中httpd.conf文件是最重要的Apache服务器配置文件,其参数众多,配置复杂。打开httpd.conf文件,可以看到主要由三部分组成,全局环境参数(Section 1:Global Environment)、主服务器配置(Section 2:Main server configuration)和虚拟主机(Section 3:Virtual Hosts),每个部分由相应的配置语句实现。
2.1 全局环境参数
(1)Timeout。指定Web站点的访问响应时间,默认300秒。如果该段时间内仍没有任何数据传输,那么Apache服务器将断开此次访问连接。
(2)KeepAlive。允许服务器保持连接,默认值为off,通常设置为on,以增加访问稳定性。
(3)MaxKeepAliveRequests。指定服务器允许的最大访问请求数,默认值为100,设为0则无限制。
(4)MaxClients。指定服务器某个时刻允许的最大连接数,默认为150。
2.2 主服务器配置
(1)Port。指定Standalone模式下httpd进程使用的端口号,标准端口是80。
(2)ServerAdmin。指定Apache服务器管理员的e-mail地址,默认是root@localhost,应该改成实际管理员的电子邮件地址。
(3)ServerName。指定服务器主机的名称。
(4)DocumentRoot。指定Web站点的根目录,默认为“/var/www/html”。
(5)DirectoryIndex。当用户访问Apache服务器时未指定网页,则指向本参数指定目录下的index.html页面。
2.3 虚拟主机
在VirtualHost字段里可以看到以下参数:
(1)ServerAdmin。指定虚拟主机管理员的电子邮箱地址。
(2)DocumentRoot。指定虚拟主机的根目录。
(3)ServerName。指定虚拟主机的名称。
(4)ErrorLog。指定虚拟主机错误日志文件的存储路径。
(5)CustomLog。指定虚拟主机访问日志文件的存储路径。
3 访问控制和认证
3.1 访问控制
访问控制和认证,是Apache服务器能提供安全、便捷访问的保障。利用Deny、Allow、Order这三个参数来实现对指定目录的访问控制。
参数Deny用于定义拒绝访问列表,Allow用于定义允许访问列表,Order用于指定列表访问时的先后顺序。
在Deny和Allow定义的访问列表中可用all(表示所有客户)、域名(表示域内的所有客户)和IP(表示指定IP的客户)等参数来实现。
3.2 认证
Apache服务器提供了用户访问认证模式,通过验证用户名和口令,可实现对指定目录访问的认证控制,验证通过之后才能访问。包括基本(Basic)认证和摘要(Digest)认证,目前常用的为Basic认证模式,相关认证参数如下: (1)AuthName。指定用户认证领域的名称。
(2)AuthType Basic|Digest。设定用户认证的模式,基本或是摘要认证,一般采用基本认证模式。
(3)AuthUserFile。指定认证用户文件名及保存路径。
(4)AuthGroupFile。指定认证组群文件名及保存路径。
4 虚拟主机
虚拟主机技术的出现,是对Internet技术和网络发展的重大贡献,以较低的成本,建立自己的网络空间,极大的丰富了互联网的资源。作为Web服务器软件,Apache支持两种类型的虚拟主机,基于IP的虚拟主机和基于域名的虚拟主机。
4.1 基于IP的虚拟主机
基于IP的各虚拟主机,可以使用同一IP的不同端口号,也可以使用不同的IP地址,用户可以直接通过IP地址来访问虚拟主机。不论是配置基于IP的虚拟主机,还是基于域名的虚拟主机,都需要配置httpd.conf文件中的VirtualHost语句块的相应参数。
实例1:某台主机仅有一块网卡,要设置成两台虚拟主机,分别使用202.105.96.51和202.105.96.52两个IP地址。
步骤如下:
(1)只有一块网卡,所以首先要创建两个设备别名,同时赋予相应IP。
#ifconfig eth:0 202.105.96.51
#ifconfig eth:1 202.105.96.52
(2)在目录/var/www下新建两个虚拟主机主页目录vhost-1,vhost-2,分别在目录中创建主页文件index.html。
(3)编辑httpd.conf文件中的VirtualHost语句块,添加如下内容:
(4)重启httpd进程,在IE地址栏输入http://202.105.96.51或http://202.105.96.52,即可访问相应虚拟主机的主页了。
4.2 基于域名的虚拟主机
用域名来访问,更符合人们的使用习惯,配置基于域名的虚拟主机时,还要向DNS服务器注册域名,否则域名无法解析。
实例2:某主机的IP地址为202.105.96.50,要设置成两台虚拟主机,域名分别为www.example1.org和www.example2.org。
步骤如下:
(1)首先通过DNS服务器管理员向正向区域文件添加A记录,向反向区域文件添加PTR记录,表明域名与IP的对应关系。
(2)在目录/var/www下新建两个虚拟主机主页目录vhost-a,vhost-b,分别在目录中创建主页文件index.html。
(3)编辑httpd.conf配置文件,添加如下内容:
(4)重启httpd进程,在IE地址栏输入http://www.example1.org或http://www.example2.org即可访问相应主页。
5 结束语
Apache作为Linux系统下Web服务器的首选软件,有着成本低廉、功能强大、运行稳定的特点。随着Linux系统在服务器市场上的份额越来越大,Apache必将发挥更大作用。
参考文献:
[1]王江伟.Apache服务器配置与使用工作笔记[M].北京:电子工业出版社,2012.
[2]余洪春.构建高可用Linux服务器(第二版)[M].北京:机械工业出版社,2012.
[3]高源.Red Hat Linux9下Apache服务器的创建与配置探讨[J].软件导刊,2007(21).
[4]张敬东.Linux服务器配置与管理[M].北京:清华大学出版社,2014.
[5]林天峰,谭志彬.Linux服务器架设指南[M].北京:清华大学出版社.2014.
作者简介:谢辉(1975.03-),男,福建政和人,学士学位,讲师,研究方向:计算机网络、Linux操作系统。
作者单位:闽北职业技术学院,福建南平 353000
关键词:Linux;Apache;httpd.cofn;认证;虚拟主机
中图分类号:TP393.08
目前人们从互联网获得的绝大部分信息来自于Internet的Web服务器,为人们提供诸如文本、图像、声音、视频等信息浏览服务,称为“WWW”服务或Web服务。
Web服务器负责Web站点的管理与发布,通过Web服务器软件来实现。目前常见的服务器软件有基于Linux的Apache、基于Windows的IIS,和来自俄罗斯的Nginx构成。根据著名的Web服务器调查公司Netcraft(http://news.netcraft.com)的统计,截止2014年6月,Apache占据了Web服务器软件市场近38%的份额,超过微软的IIS所占33%的份额,另外nginx占据了14%的份额。而从1996年以来,Apache就牢牢的占据了Web服务器软件市场近40%的份额。
Apache之所以成为构建Web服务器的首选,是基于Apache的跨平台特性。它可以在UNIX、Linux和Windows等多种操作系统平台上部署,功能强大、运行稳定、而且是自由软件,代码完全开放。Linux操作系统凭借其超强的稳定性成为架设Web服务器的首选平台,而在其上部署Web服务,Apache又成为首选软件。
1 Apache服务器软件的安装
在某些Linux发行版,如RHEL5,默认没有安装Apache软件包,可以从http://httpd.apache.org官网下载最新版本Apache进行安装。
Apache服务器要成功运行,还必须安装关联软件包,包括:postgresql类库、Apache运行工具类库、Apache环境类库和Apache服务器软件,通过rpm命令依次将上述软件包安装完毕即可。
安装完成后,要正常运行Apache,还需要打开Linux防火墙的WWW服务,并且还要启动httpd守护进程。
2 Apache服务的配置文件
Apache服务器的正常运行,需要依赖位于/etc/httpd/conf/目录下的配置文件httpd.conf、/var/www目录下保存的web站点文件、和/var/log/httpd目录下的日志文件。其中httpd.conf文件是最重要的Apache服务器配置文件,其参数众多,配置复杂。打开httpd.conf文件,可以看到主要由三部分组成,全局环境参数(Section 1:Global Environment)、主服务器配置(Section 2:Main server configuration)和虚拟主机(Section 3:Virtual Hosts),每个部分由相应的配置语句实现。
2.1 全局环境参数
(1)Timeout。指定Web站点的访问响应时间,默认300秒。如果该段时间内仍没有任何数据传输,那么Apache服务器将断开此次访问连接。
(2)KeepAlive。允许服务器保持连接,默认值为off,通常设置为on,以增加访问稳定性。
(3)MaxKeepAliveRequests。指定服务器允许的最大访问请求数,默认值为100,设为0则无限制。
(4)MaxClients。指定服务器某个时刻允许的最大连接数,默认为150。
2.2 主服务器配置
(1)Port。指定Standalone模式下httpd进程使用的端口号,标准端口是80。
(2)ServerAdmin。指定Apache服务器管理员的e-mail地址,默认是root@localhost,应该改成实际管理员的电子邮件地址。
(3)ServerName。指定服务器主机的名称。
(4)DocumentRoot。指定Web站点的根目录,默认为“/var/www/html”。
(5)DirectoryIndex。当用户访问Apache服务器时未指定网页,则指向本参数指定目录下的index.html页面。
2.3 虚拟主机
在VirtualHost字段里可以看到以下参数:
(1)ServerAdmin。指定虚拟主机管理员的电子邮箱地址。
(2)DocumentRoot。指定虚拟主机的根目录。
(3)ServerName。指定虚拟主机的名称。
(4)ErrorLog。指定虚拟主机错误日志文件的存储路径。
(5)CustomLog。指定虚拟主机访问日志文件的存储路径。
3 访问控制和认证
3.1 访问控制
访问控制和认证,是Apache服务器能提供安全、便捷访问的保障。利用Deny、Allow、Order这三个参数来实现对指定目录的访问控制。
参数Deny用于定义拒绝访问列表,Allow用于定义允许访问列表,Order用于指定列表访问时的先后顺序。
在Deny和Allow定义的访问列表中可用all(表示所有客户)、域名(表示域内的所有客户)和IP(表示指定IP的客户)等参数来实现。
3.2 认证
Apache服务器提供了用户访问认证模式,通过验证用户名和口令,可实现对指定目录访问的认证控制,验证通过之后才能访问。包括基本(Basic)认证和摘要(Digest)认证,目前常用的为Basic认证模式,相关认证参数如下: (1)AuthName。指定用户认证领域的名称。
(2)AuthType Basic|Digest。设定用户认证的模式,基本或是摘要认证,一般采用基本认证模式。
(3)AuthUserFile。指定认证用户文件名及保存路径。
(4)AuthGroupFile。指定认证组群文件名及保存路径。
4 虚拟主机
虚拟主机技术的出现,是对Internet技术和网络发展的重大贡献,以较低的成本,建立自己的网络空间,极大的丰富了互联网的资源。作为Web服务器软件,Apache支持两种类型的虚拟主机,基于IP的虚拟主机和基于域名的虚拟主机。
4.1 基于IP的虚拟主机
基于IP的各虚拟主机,可以使用同一IP的不同端口号,也可以使用不同的IP地址,用户可以直接通过IP地址来访问虚拟主机。不论是配置基于IP的虚拟主机,还是基于域名的虚拟主机,都需要配置httpd.conf文件中的VirtualHost语句块的相应参数。
实例1:某台主机仅有一块网卡,要设置成两台虚拟主机,分别使用202.105.96.51和202.105.96.52两个IP地址。
步骤如下:
(1)只有一块网卡,所以首先要创建两个设备别名,同时赋予相应IP。
#ifconfig eth:0 202.105.96.51
#ifconfig eth:1 202.105.96.52
(2)在目录/var/www下新建两个虚拟主机主页目录vhost-1,vhost-2,分别在目录中创建主页文件index.html。
(3)编辑httpd.conf文件中的VirtualHost语句块,添加如下内容:
(4)重启httpd进程,在IE地址栏输入http://202.105.96.51或http://202.105.96.52,即可访问相应虚拟主机的主页了。
4.2 基于域名的虚拟主机
用域名来访问,更符合人们的使用习惯,配置基于域名的虚拟主机时,还要向DNS服务器注册域名,否则域名无法解析。
实例2:某主机的IP地址为202.105.96.50,要设置成两台虚拟主机,域名分别为www.example1.org和www.example2.org。
步骤如下:
(1)首先通过DNS服务器管理员向正向区域文件添加A记录,向反向区域文件添加PTR记录,表明域名与IP的对应关系。
(2)在目录/var/www下新建两个虚拟主机主页目录vhost-a,vhost-b,分别在目录中创建主页文件index.html。
(3)编辑httpd.conf配置文件,添加如下内容:
(4)重启httpd进程,在IE地址栏输入http://www.example1.org或http://www.example2.org即可访问相应主页。
5 结束语
Apache作为Linux系统下Web服务器的首选软件,有着成本低廉、功能强大、运行稳定的特点。随着Linux系统在服务器市场上的份额越来越大,Apache必将发挥更大作用。
参考文献:
[1]王江伟.Apache服务器配置与使用工作笔记[M].北京:电子工业出版社,2012.
[2]余洪春.构建高可用Linux服务器(第二版)[M].北京:机械工业出版社,2012.
[3]高源.Red Hat Linux9下Apache服务器的创建与配置探讨[J].软件导刊,2007(21).
[4]张敬东.Linux服务器配置与管理[M].北京:清华大学出版社,2014.
[5]林天峰,谭志彬.Linux服务器架设指南[M].北京:清华大学出版社.2014.
作者简介:谢辉(1975.03-),男,福建政和人,学士学位,讲师,研究方向:计算机网络、Linux操作系统。
作者单位:闽北职业技术学院,福建南平 353000