1、第六章 配置Apache服务器,微软最有价值专家(MVP) IT集成课程视频教学下载地址 http:/,本章内容,6.1 LAMP平台概述 6.2 Apache服务器 6.3 安装Apache服务器 6.4 Apache服务器的基本配置 6.5 构建虚拟Web主机 6.6 配置目录安全 6.7 配置密码认证 6.8 禁用和启用Apache模块 6.9 Apache日志,6.1 LAMP平台概述,什么是LAMP 目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境 构成组件 Linux、Apache、MySQL、PHP/Perl/Python LAMP的优势 成本低廉 可定制、
2、易于开发 方便易用、安全和稳定,6.2 Apache服务器,从1996年4月以来,Apache已经成为Internet上最流行的Web服务器 根据著名的Web服务器调查公司Netcraft的调查结果,截至2005年10月,Apache的市场占有率为69.89%,而同期IIS的市场占有率为20.55% Apache的优点 跨平台。能运行在UNIX、Linux和Windows等多种操作系统平台上 无限可扩展性。借助开放源代码开发模式的优势,全世界的许多程序员为Apache编写了许多功能模块 工作性能和稳定性远远领先于其他同类产品,6.3安装Apache服务器,查询系统是否安装了Apache roo
3、tWeb:# dpkg -l apache2 安装apache2 rootWeb:# apt-get install apache2 启动Apache服务器rootWeb:# /etc/init.d/apache2 restart 查看Apache侦听的端口 rootWeb:# netstat -antp 测试Apache服务器 禁用Ubuntu防火墙 rootWeb:# ufw disable 在Windows telnet 192.168.1.223 80测试,6.4 Apache服务器的基本配置,默认的配置文件信息 Apache2.conf设置全局参数 导入的配置,默认的配置文件信息,主
4、配置文件:/etc/apache2/apache2.conf 服务器的根目录(ServerRoot):/etc/apache2 默认网站根文档目录(DocumentRoot):/var/www/html 访问日志文件:/var/log/apache2/access_log 错误日志文件:/var/log/apache2/error_log 模块存放路径:/ etc/apache2/,Apache2.conf设置全局参数配置,Timeout 300 接收和发送前超时秒数 KeepAlive On是否允许稳固的连接(每个连接有多个请求),设为“Off“则停用 MaxKeepAliveRequest
5、s 100 在稳固连接期间允许的最大请求数,设为0表示无限制接入。我们推荐你将其设为一个较大的值,以便提高性能 KeepAliveTimeout 5 在同一个连接上从同一台客户上接收请求的超时秒数,Apache2.conf配置文件(2),ErrorLog:错误日志文件的位置 ErrorLog $APACHE_LOG_DIR/error.log CustomLog:访问日志文件的位置 ErrorLog $APACHE_LOG_DIR/error.log Include:需要包含进来的其他配置文件 Include conf.d/ Include ports.conf 全局端口设置 Include
6、mods-enabled/*.load Include mods-enabled/*.conf Include sites-enabled/ 针对具体网站的配置,小结:Apache关键文件和目录,全局配置文件: /etc/apache2/apache2.conf 针对某个网站的设置,比如default网站 /etc/apache2/sites-available/default 网站目录 /var/ /var/ 建议这样命名网站目录,6.5构建虚拟Web主机,虚拟Web主机 即在同一台服务器中运行多个Web站点的应用,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型 基
7、于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机,虚拟主机的优点,节约投资 节约维护费用 可以获得专业的维护而无需维护人员与昂贵的电源系统 拥有更加稳定的性能,创建虚拟Web主机步骤,创建网站文件夹 /var/ /var/ 创建网站配置文件 cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ 禁用默认站点,启用创建的虚拟Web主机 rootubuntuSer
8、ver:# a2dissite default rootubuntuServer:# a2ensite rootubuntuServer:# a2ensite 重启Apache服务 rootubuntuServer:# /etc/init.d/apache2 restart,基于IP的地址的虚拟主机,在服务器里绑定多个IP地址,然后配置Apache,把多个网站绑定到不同的IP上 访问服务器上的不同IP地址,就可以看到不同的网站 例子ServerName 192.168.16.201:80ServerAdmin DocumentRoot “/usr/www/web1”DirectoryInd
9、ex index.htmlErrorLog logs/web1/error_logCustomLog logs/web1/access_log combined注意:虚拟主机前要加上,listen 192.168.16.201:80,基于域名的虚拟主机,在Apache的主配置文件httpd.conf中,添加如下语句NameVirtualHost 192.168.100.222#虚拟主机ServerName :80ServerAdmin DocumentRoot “/var/www/web1”DirectoryIndex index.htmlErrorLog logs/web1/error_lo
10、gCustomLog logs/web1/access_log combined创建相应的documentroot目录mkdir /var/www/web1mkdir /var/www/web2,网站配置文件主要内容, 网站使用的端口ServerName 网站使用的域名ServerAdmin webmasterlocalhost 网站管理员DocumentRoot /var/ 网站根目录Options FollowSymLinksAllowOverride NoneOptions Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder
11、 allow,denyallow from allDirectoryIndex baidu.htm 网站首页,创建虚拟目录,如果希望在主目录以外其他目录中进行网页发布,需要设置虚拟目录 使用虚拟目录的特点 便于访问 便于移动站点中的目录 能灵活加大磁盘空间 安全性好,可设置不同的访问权限 使用Alias选项创建虚拟目录 Alias /icons/ “/var/www/icons/” Alias /ftp “/var/ftp”,6.6设置目录权限(1),可以使用和为主目录或虚拟目录设置权限 例子:Options Indexes MultiViewsAllowOverride NoneOrder
12、allow,denyAllow from all ,设置目录权限(2),Options:定义目录使用哪些特性 Indexes:允许目录浏览(通常应该禁用此功能) MultiViews:允许Content negotiation的多视图 All:包含除了MultiViews之外的所有特性。如果没有Options语句,默认为All ExecCGI:允许执行CGI脚本 FollowSymLinks:可以在该目录中使用符号链接 AllowOverride:定义位于每个目录下的.htaccess(访问控制)文件中的指令类型 出于效率和安全的原因,通常应该避免使用.htaccess AllowOverri
13、de None 注意:为了让主目录允许目录浏览,需要删除/etc/httpd/conf.d目录下的welcome.conf文件,然后重启Apache。(这里不能将welcome.conf重命名为welcome2.conf,为什么?),设置目录权限(3),Order:设置默认的访问权限和Allow和Deny语句的处理顺序 Order allow,deny 默认禁止所有客户端的访问,且Allow语句在Deny语句之前被匹配。如果某条件同时匹配Deny和Allow语句,则Deny语句起作用(Allow语句被覆盖) Order deny, allow 默认允许所有客户端的访问,且Deny 语句在All
14、ow语句之前被匹配。如果某条件同时匹配Deny和Allow语句,则Allow语句起作用( Deny语句被覆盖) 例1:允许所有客户端访问 Order allow,deny Allow from all,设置目录权限(4),例2:除了来自域和IP地址为192.168.16.111的客户端外,允许其他所有客户端访问 Order deny,allow Deny from Deny from 192.168.16.111 例3:仅允许来自网络192.168.16.0/24的客户端访问 Order allow,deny Allow from 192.168.16.0/24,设置目录权限(5),例4:仅
15、允许来自网络192.168.16.0/24的客户端访问,但是IP地址为192.168.16.111的客户端除外 Order allow,deny Allow from 192.168.16.0/24 Deny from 192.168.16.111 对比如下的配置 Order deny,allow Allow from 192.168.16.0/24 Deny from 192.168.16.111 上述3条语句实际上允许所有的客户进行访问,6.7配置密码认证,创建一个文件夹存需要身份验证的网页 编辑网站配置文件,指定身份验证的目录 创建认证文件,添加用户 在需要身份验证的目录下创建.htaccess文件指定身份验证认证文件位置,6.8 禁用和启用Apache模块,查看可用的模块 rootubuntuServer:# ls /etc/apache2/mods-available 禁用模块 rootubuntuServer:# a2dismod auth_basic 启用模块 rootubuntuServer:# a2enmod auth_basic,6.9 Apache日志,错误日志 访问日志在apache2.config全局配置定义了错误日志的格式和存放位置 在网站的配置配文件中也定义了访问日志的存放位置,