Apache服务器配置与管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设置目录权限(3)
Order:设置默认的访问权限和Allow和Deny语句的处 理顺序
Order allow,deny
默认禁止所有客户端的访问,且Allow语句在Deny语句之前被匹配。 如果某条件同时匹配Deny和Allow语句,则Deny语句起作用(Allow 语句被覆盖)
Order deny, allow
AllowOverride:定义位于每个目录下的.htaccess(访问控制)文 件中的指令类型
出于效率和安全的原因,通常应该避免使用.htaccess
AllowOverride None
注意:为了让主目录允许目录浏览,需要删除/etc/httpd/conf.d 目录下的welcome.conf文件,然后重启Apache。(这里不能将 welcome.conf重命名为welcome2.conf,为什么?)
Apache服务器配置与管理
主要内容
Web服务概述 Apache服务器 安装Apache服务器 Apache服务器的基本配置 使用Webalizer进行日志统计分析
Web服务概述
Web服务是Internet中最为重要的应用 Web服务采用客户端/服务器模型 客户端为浏览器,它提供了良好、统一的用户界面。
启动Apache服务器
service httpd restart 或者
/etc/init.d/httpd restart
测试Apache服务器
注意:防火墙的配置
Apache服务器的基本配置
默认的配置文件信息 http.conf文件的格式 Web服务的基本配置 个人目录 创建虚拟目录 设置目录权限 用户认证 虚拟主机配置 页面重定向
Order deny,allow Deny from hacker.com Deny from 192.168.16.111
例3:仅允许来自网络192.168.16.0/24的客户端访问
Order allow,deny Allow from 192.168.16.0/24
设置目录权限(5)
httpd.conf文件的格式
httpd.conf配置文件主要由全局环境、主服务器配置和 虚拟主机3个部分组成
配置语句的语法格式:
配置参数名称
参数值
Web服务的基本配置(1)
主目录的路径(DocumentRoot)
默认位置:/var/www/html 可以将需要发布的网页放在这个目录下
默认的配置文件信息
主配置文件:/etc/httpd/conf/http.conf 服务器的根目录(ServerRoot):/etc/httpd 根文档目录(DocumentRoot):/var/www/html 访问日志文件:/etc/httpd/logs/access_log 错误日志文件:/etc/httpd/logs/error_log 模块存放路径:/etc/httpd/modules
注意:在认证组文件中指定的用户名,必须先添加到认证 口令文件中
虚拟主机配置
虚拟主机的优点 基于IP的地址的虚拟主机 基于域名的虚拟主机
虚拟主机的优点
节约投资 节约维护费用 可以获得专业的维护而无需维护人员与昂贵的电源系
统 拥有更加稳定的性能
基于IP的地址的虚拟主机
在服务器里绑定多个IP地址,然后配置Apache,把多 个网站绑定到不同的IP上
访问服务器上的不同IP地址,就可以看到不同的网站 例子
<VirtualHost 192.168.16.201> ServerName 192.168.16.201:80 ServerAdmin web@163.com DocumentRoot “/usr/www/web1” DirectoryIndex index.html ErrorLog logs/web1/error_log CustomLog logs/web1/access_log combined
使用Alias选项创建虚拟目录
Alias /icons/ “/var/www/icons/” Alias /ftp “/var/ftp”
设置目录权限(1)
可以使用<Directory 目录路径>和</Directory>为主目 录或虚拟目录设置权限
例子:
<Directory “/var/www/icons”> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all
默认允许所有客户端的访问,且Deny 语句在Allow语句之前被匹配 。如果某条件同时匹配Deny和Allow语句,则Allow语句起作用( Deny语句被覆盖)
例1:允许所有客户端访问
Order allow,deny
Allow from all
设置目录权限(4)
例2:除了来自hacker.com域和IP地址为192.168.16.111的客户 端外,允许其他所有客户端访问
用户认证(2)
1. 建立口令文件
要实现用户认证功能,首先需要建立保存用户名和口令的 文件
Apache自带的htpasswd提供了建立和更新存储用户名、密 码的口令文件的功能
注意:口令文件必须放在不能被网络访问的位置,以避免 被下载
本例中将口令文件放在/etc/httpd目录下,文件名为 mysecretpwd
设置Apache服务器自身的主机名
ServerName 192.168.100.222:80
设置默认字符集
AddDefaultCharset GB2312(避免出现中文乱码)
创建虚拟目录
如果希望在主目录以外其他目录中进行网页发布,需 要设置虚拟目录
使用虚拟目录的特点
便于访问 便于移动站点中的目录 能灵活加大磁盘空间 安全性好,可设置不同的访问权限
</VirtualHost>
基于域名的虚拟主机(1)
场景例子
假设Apache服务器的IP地址为192.168.100.222,所在的域为 mycorp.com
现需要使用域名abc.mycorp.com、yz.mycorp.com分别建立 两台虚拟主机,每台虚拟主机都对应不同的主目录
根据著名的Web服务器调查公司Netcraft的调查结果, 截至2005年10月,Apache的市场占有率为69.89%,而 同期IIS的市场占有率为20.55%
Apache的优点
跨平台。能运行在UNIX、Linux和Windows等多种操作系统 平台上
无限可扩展性。借助开放源代码开发模式的优势,全世界 的许多程序员为Apache编写了许多功能模块
例4:仅允许来自网络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条语句实际上允许所有的客户进行访问
htpasswd -c /etc/httpd/mysecretpwd linden(c表示创建新文件)
htpasswd /etc/httpd/mysecretpwd tom 如果要删除用户,可以直接删除认证口令文件中相应的行
用户认证(3)
2. 建立虚拟目录并配置用户认证
① 在Apache的主配置文件httpd.conf文件中,加入以下语句 Alias /mysecret “/var/local/mysecret” <Directory “/var/local/mysecret”>
</Directory>
设置目录权限(2)
Options:定义目录使用哪些特性
Indexes:允许目录浏览(通常应该禁用此功能) MultiViews:允许Content negotiation的多视图 All:包含除了MultiViews之外的所有特性。如果没有Options语句,默认
为All ExecCGI:允许执行CGI脚本 FollowSymLinks:可以在该目录中使用符号链接
默认文档
在浏览器中,输入Web站点的IP地址或域名即显示出来的 Web页面
DirectoryIndex index.html index.htm index.php index.html.var
配置Apache监听的IP地址和端口号
Listen 80(在本机所有可用IP地址上监听TCP 80端口) 只监听IP地址为192.168.16.177的80端口和192.168.18.178的
设置日志文件
错误日志 ErrorLog logs/error_log(位于目录/var/httpd)
访问日志
CustomLog logs/access_log combined
Web服务的基本配置(3)
设置网络管理员的Email地址
ServerAdmin xiaoyk@mycorp.com
AuthType Basic Authname “This is a private directory. Please Login” AuthUserFile /etc/httpd/mysecretpwd Require user linden tom # Require valid-user(授权给认证口令文件中的所有用户) </Directory> ② 建立虚拟目录/var/local/mysecret mkdir /var/local/mysecret chcon -t httpd_sys_content_t /var/local/mysecret (激活SELinux时) echo “Test Page” > /var/local/mysecret/index.html
浏览器的作用为解释和显示Web页面,响应用户的输 入请求,并通过HTTP协议将用户请求传递给Web服 务器 Web服务器运行服务器程序,最基本的功能是侦听和 响应客户端的HTTP请求,向客户端发出请求处理结 果信息 HTTP协议的默认端口为80
Apache服务器
从1996年4月以来,Apache已经成为Internet上最流行 的Web服务器
用户认证(4)
2. 测试用户认证
① 重启httpd服务 service httpd restart
② ຫໍສະໝຸດ Baidu客户端浏览器中,测试虚拟目录
用户认证(4)
创建认证用户组
添加认证用户admin htpasswd /etc/httpd/mysecretpwd admin
创建认证组文件/etc/httpd/authgroup,内容如下 administrator: admin mysecret: linden tom
用户认证(1)
用户认证是保护网络系统资源的第一道防线,控制 着所有登录并检查访问用户的合法性,其目标是仅 让合法用户以合法的权限访问网络系统资源
例子
假设有一个名为myscret的虚拟目录,其对应的物理路径是 /usr/local/myscret,现需要对其启用用户认证功能,只允 许用户linden和tom访问
工作性能和稳定性远远领先于其他同类产品
安装Apache服务器
查询系统是否安装了Apache
rpm -qa | grep httpd
如果没有安装,则插入RHEL4的第2张安装盘,运行 如下命令进行安装
rpm -vih /media/cdrom/Redhat/RPMS/httpd-2.0.5219.ent.i386.rpm
8080端口 Listen 192.168.16.177 80 Listen 192.168.18.178 8080
Web服务的基本配置(2)
设置相对根目录路径
相对根目录通常是Apache存放配置文件、日志文件、模块 文件等的地方。
在默认情况下,相对目录为/etc/httpd,它一般包含conf和 logs子目录 ServerRoot “/etc/httpd”