1、下载apache软件http://www.apache.org
2、安装
以管理员身份进行安装
3、设置主机名与域名
4、选择安装类型
5、自定义安装路径
6、开始安装
7、安装结束
8、测试:
在浏览器的地址栏输入localhost
httpd.conf是主配置文件,位于conf目录中
SeverRoot
服务器根目录(apache的安装目录)
示例:
ServerRoot "D:/wamp1027"
Listen 80
监听端口
示例:
Listen 80
设置多个监听端口
Listen 80
Listen 5000
加载功能模块
user 用户所属的组名
示例:
User daemon
group 组名
示例:
Group daemon
ServerAdmin
管理员邮箱
示例:
ServerAdmin 20151027@itcast.net
ServerName
设置域名(主机名)
示例:
#ServerName localhost:80
DocumentRoot
站点根目录,主要用于在内部建议域名与目录的映射关系
示例:
DocumentRoot "D:/wamp1027/htdocs"
域名的作用:
1、对外提供访问(ISP 的DNS服务器完成功能)
2、对内建立域名与目录的映射关系(只要在配置文件中使用servername与documentroot选项进行配置即可)
对目录的相关设置
#目录相关配置
目录相关配置:
默认首页
DirectoryIndex 主要用于当访问的请求仅指定了域名没有指定具体文件时,返回的首页文件
示例:
DirectoryIndex 首页1 首页2
是否允许列出目录结构
Options Indexes
作用:当所请求的首页文件不存在时,是否允许列出目录结构,非常不安全,网站上线后一定关闭(不书写此项)
AllowOverride
主要用于设置是否开启外部配置文件(.htaccess)
对目录权限设置
order
形式1:
order deny,allow
作用:如果没有明确的拒绝则全部允许
形式2:
order allow,deny
作用:如果没有明确的允许则全部拒绝
具休拒绝项与允许项使用deny与allow进行配置
示例1:
order deny,allow
deny from 192.168.10.11
allow from all
除了192.168.10.11拒绝外,其余全部允许(与deny与allow具体项的顺序无关)
示例2:
order allow,deny
allow from 192.168.10.11
deny from all
只允许192.168.10.11访问,其余全部拒绝(与deny与allow具体项的顺序无关)
扩展配置文件httpd-vhosts.conf,位于conf目录下的extra目录
NameVirtualHost 开启基于域名的虚拟主机
NameVirtualHost *:80
虚拟主机使用:
#主机配置项
需求:
有个公司有一台服务器,有三个网卡
网卡1:192.168.10.11 www.fist.com d:/php_folder/20151027/20151201/first
网卡2:192.168.10.22 www.second.com
d:/php_folder/20151027/20151201/second
网卡3:192.168.10.33 www.third.com
d:/php_folder/20151027/20151201/second
配置步骤:
1、使用host文件模拟DNS服务器
2、在主配置文件中开启对扩展配置文件的加载
在扩展 配置文件中创建虚拟主机
需求:A公司有一台服务器,只有网卡接口
配置二个主机
192.168.20.11 www.one.com d:/php_folder/20151027/20151201/one
192.168.20.11 www.two.com d:/php_folder/20151027/20151201/two
示例:
需求:
A公司有一个服务器
一个固定IP:192.168.30.11
对于所有的普通用访问时使用www.234.com域名通过80端口进行操作
要求所有的管理员对后台系统的管理使用5000端口
示例:
监听端口
host文件
虚拟主机配置
用于开启外部配置文件.htaccess
.htaccess主要作用是重定向、防盗链、自定义错误信息提示页面
.htaccess文件的修改不需要重新启动apache
.htaccess文件需要使用编辑器另存的方法创建
.htaccess文件只对当前目录生效
示例1:
第1步:开启外部配置文件.htaccess文件
第2步:在.htaccess文件中设置自定义错误信息页面
示例2:
第1步:
第2步:
在根目录下创建一个image资源目录,在此目录内创建一个.htaccess文件,内容如下:
禁止访问此目录内所有的文件
第3步:
当访问站点根目录内的A目录内的文件时,自动转身B目录(或另一个主机下的目录)
Apache默认只支持HTML文件,通过模块(插件)可以支持PHP,还可以与Tomcat连通来支持JSP。
Apache所有的功能的扩展都是模块的形式实现,模块可以理解为插件。
图解:
示例:
第一步:开启以下功能模块
第二步:
使用htpasswd.exe文件创建密码文件,运行环境为cmd
htpasswd语法:
htpasswd -c 密码文件 用户名
作用是用于重新创建密码文件,
示例:
第三步:
设置认证方式
语法:
AuthType Basic
第四步:
设置realm,作用就是为认证的文件夹起一个显示名,当用户访问时显示给用户看。
语法:
AuthName '提示信息'
示例:
第五步:
设置认证用户密码文件
语法:
AuthUserFile '密码文件所在的目录'
示例:
第六步:设置验证用户名
对多个用户进行认证
require user 用户1 用户2 用户3
对所有的用户进行认证
require valid-user
添加认证用户
语法:
htpasswd '用户密码文件' 用户名
示例:
删除用户
语法:
htpasswd -D '用户密码文件' 用户名
完整代码示例: