Apache安装使用笔记
下载
打开网页http://httpd.apache.org/,点击
在download页面点击
然后在新页面选择
在新窗口选择
选择32位或64位apache下载,此处下载64位的apache:
httpd-2.4.34-o110h-x64-vc14.zip
安装
将httpd-2.4.34-o110h-x64-vc14.zip解压开到某个目录,打开readme_first.html会有完整的介绍。下图是apache支持的操作系统
下载Visual C++ 2015 x64 Redistribution并安装
启动服务
将apache加入到windows服务
到D:\green\Apache24\bin目录下执行httpd -k install,会在windows服务中看见apache的服务项
红色部分为测试apache启动,有错误是因为apache目录在httpd.conf中指定的不对,打开httpd.conf,找到38行,将Define SRVROOT "/Apache24"修改为实际目录
Define SRVROOT "D:/green/Apache24"
Apache命令
Start Apache httpd –k start
Stop Apache
httpd -k stop
Restart Apache
httpd -k restart
Uninstall Apache Service
httpd -k uninstall
Test Config Syntax
httpd -t
Version Details
httpd -V
Command Line Options List
httpd -h
配置
Listen 配置
,即侦听所有的地址的80端口,注意这里也可以写成IP地址的侦听形式,不写即默认的地址:0.0.0.0
ServerRoot 配置
Apache服务管理员通知邮箱地址
此选项主要用指定Apache服务管理员通知邮箱地址,选择默认值即可,如果有真实的邮箱地址也可以设置此值
Apache根目录访问权限设置
此选项主要是针对用户对根目录下所有的访问权限控制,默认Apache对根目录访问都是拒绝访问
Apache的默认网站根目录设置及访问控制
Apache的默认首页设置
虚拟目录配置
修改httpd-vhost.conf
打开Apache24\conf\extra\httpd-vhost.conf文件,添加如下内容:
<VirtualHost *:8090>
DocumentRoot "d:\wwwroot"
ServerName www.xframe.com
ServerAlias xframe.com
<Directory "d:\wwwroot">
Options Indexes FollowSymLinks MultiViews
AllowOverride none
<RequireAll>
Require all granted
</RequireAll>
</Directory>
</VirtualHost>
添加端口监听
以外的端口就不需要这样做。
打开对虚拟机的支持
在httpd.conf中找到Include conf/extra/httpd-vhosts.conf,将前面的#号删掉
修改hosts
打开C:\Windows\System32\drivers\etc中的hosts文件,添加如下内容:
127.0.0.1 xframe.com
::1 xframe.com
关闭该文件,打开cmd窗口,执行如下命令刷新dns缓存:
ipconfig /flushdns
重启服务并访问
重新启动apache,在5.1中,我们建立的虚拟机对应的物理目录为d:\wwwroot,虚拟主机名为xframe.com,我们在该目录下拷贝一个index.html文件,用如下任何地址都可以进行访问了:
apache的AllowOverride以及Options使用详解
AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.
通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即
<Directory />
AllowOverride None
</Directory>在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。
而对于 URL rewrite 来说,至少需要把目录设置为< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All
Alias /php "c:/web/php/"
<Directory "c:/web/php/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>这样通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite
1 AuthConfig 允许使用所有的权限指令,他们包括AuthDBMGroupFile AuthDBMUserFile AuthGroupFile AuthName AuthTypeAuthUserFile和Require
2 FileInfo 允许使用文件控制类型的指令。它们包括AddEncoding AddLanguage AddType DEfaultType ErrorDocument LanguagePriority
3 Indexes 允许使用目录控制类型的指令。它们包括AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName
4 Limit 允许使用权限控制指令。它们包括Allow Deny和Order
5 Options 允许使用控制目录特征的指令.他们包括Options 和XBitHack
Options
1 All 准许以下除MultiViews以外所有功能
2 MultiViews 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用
3 Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择
4 IncludesNOEXEC 准许SSI,但不可使用#exec和#include功能
5 Includes 准许SSI
6 FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在<Local>;标记内设置,该选项会被忽略
7 SymLinksIfOwnerMatch 在该目录中仅仅跟踪本站点内的链接
8 ExecCGI 在该目录下准许使用CGI
使用require指令进行访问控制
从Apache2.2升级到Apache2.4后,发现原来用来限制部分IP和垃圾网络爬虫的访问控制规则不起作用,查询后才发现,Apache2.4中开始使用mod_authz_host这个新的模块来进行访问控制和其他的授权检查。原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。
注意:使用require指令时,需要在指令外添加<RequireAll></RequireAll>标签对,否则重启Apache2.4加载规则时将出现错误:" negative Require directive has no effect in <RequireAny> directive "。
下面直接给出一些实例对Require指令的使用进行说明:
允许所有访问请求
Apache2.4下的配置:
<Directory xxx/www/yoursite>
<RequireAll>
Require all granted
</RequireAll>
</Directory>
拒绝所有访问请求
<Directory xxx/www/yoursite>
<RequireAll>
Require all denied
</RequireAll>
</Directory>
只允许来自特定域名主机的访问请求,其他请求将被拒绝
<Directory xxx/www/yoursite>
<RequireAll>
Require host google.com
</RequireAll>
</Directory>
只允许来自特定IP或IP段的访问请求,其他请求将被拒绝
<Directory xxx/www/yoursite>
<RequireAll>
Require ip 192.120 192.168.100 192.168.1.1
</RequireAll>
</Directory>
允许所有访问请求,但拒绝来自特定IP或IP段的访问请求(阻止恶意IP或恶意爬虫网段的访问)
<Directory xxx/www/yoursite>
<RequireAll>
Require all granted
Require not ip 192.168.1.1
Require not ip 192.120 192.168.100
</RequireAll>
</Directory>
允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)
使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。
<Directory xxx/www/yoursite>
SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT
SetEnvIfNoCase User-Agent "brandwatch" BADBOT
SetEnvIfNoCase User-Agent "rogerbot" BADBOT
<RequireAll>
Require all granted
Require not env BADBOT
Require not ip 192.168.100.1
</RequireAll>
</Directory>
其它require访问控制指令用法
Require all granted #允许所有
Require all denied #拒绝所有
Require env env-var [env-var] ... #允许匹配环境变量中任意一个
Require method http-method [http-method] ... #允许特定的HTTP方法(GET/POST/HEAD/OPTIONS)
Require expr expression #允许,表达式为true
Require user userid [ userid ] ... #允许特定用户
Require group group-name [group-name] ... #允许特定用户组
Require valid-user # #允许,有效用户
Require ip 192.100 192.168.100 192.168.100.5 #允许特定IP或IP段,多个IP或IP段间使用空格分隔
apache禁止列目录
- 两步:
- 1、修改Apache配置文件httpd.conf,把Options Indexes FollowSymLinks改成Options FollowSymLinks
- 2、如果配置了虚拟目录,则打开httpd-vhosts.conf,将你的虚拟目录下的Options Indexes FollowSymLinks MultiViews 修改为Options FollowSymLinks MultiViews
Apache安装使用笔记的更多相关文章
- php +apache +mysql 配置笔记
2013年11月5日 14:27:46 php +apache +mysql 配置笔记 mysql 正常安装 忽略. 1,配置笔记:安装apache 的成功标志是:安装完成之后,在浏览器输入http: ...
- CentOS(Linux) - 安装软件笔记(总) - 开发环境安装顺序及汇总
1.安装java环境 参考文章 CentOS7.1 使用资源搜集 2.需要可视化管理服务器时,需要先安装VPSmate 参考文章 CentOS(Linux) - 安装软件笔记(一) - VPSMate ...
- apache 安装及配置
近期想用apache运行网站,在网上查询windows 版本的中文说明文档有特别少,所以将学习到的在这里做个笔记,以便日后学习以及大家相互交流. 相关文档:http://httpd.apache.or ...
- CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面
前言 上一篇,安装了Qt5环境. 本篇在服务器CentOs8.2上安装geant4软件,geant4使用Qt5来显示. GEANT4 介绍 Geant4 是一个用于模拟粒子穿过物质的工具 ...
- SLES 10安装Oracle10gR2笔记
SLES 10安装Oracle10gR2笔记 一. 数据库安装 . 安装C/C++ Compiler gcc --version验证是否安装 . 验证Service Pack版本 SPident –v ...
- apache安装mod_deflate配置支持gzip
apache 配置支持gzip apache使用gzip压缩能够大幅提高网站访问速度并节省网络流量,在网页响应头信息中可以判断是否支持压缩. HTTP/1.1 200 OK Date: Wed, 14 ...
- Apache安装
记录安装Apache的流程,没有进行详细配置,只是记录搭建服务器的流程用于学习Ajax等知识,方便以后重新安装,不用每次都翻别人博客学习安装了,大神看到这里可以关掉这个粗糙简陋的博文了. 1. 官网上 ...
- Apache安装配置步骤
注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...
- CentOS 6.4 快速安装Nginx笔记
CentOS 6.4 快速安装Nginx笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/9860 ...
随机推荐
- 一文熟练使用python mock
mock作为python测试模拟对象工具,在单元测试当中使用较多,官方文档详细不够精简,这篇文章介绍mock常用的用法,以下为引用全文,留给自己和有需要的人查阅. https://realpython ...
- python认识及环境变量
什么是python? python是一种脚本语言,是高级语言.计算机只能识别机器语言,在机器语言上是汇编语言,再往上是高级语言.高级语言的基础是C语言. python语言较为简单,易入门. pytho ...
- 【大道至简】NetCore3.1快速开发框架一:搭建框架
这一章,我们直接创建NetCore3.1的项目 主要分为1个Api项目,和几个类库 解释: 项目——FytSoa.Api:提供前端接口的Api项目 类库——FytSoa.Core:包含了数据库操作类和 ...
- Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率
本片博客是紧接着Spring Boot 入门(十一):集成 WebSocket, 实时显示系统日志写的 关于poi.jxl和esayExcel的介绍自行百度. jxl最多支持03版excel,所以单个 ...
- java 三元运算
一.格式: 数据类型 变量名称 = 条件判断 ? 表达式a : 表达式b; 二.注意: 1.不是打印操作时,需要 三元运算的右则 2.表达式a和表达式b的值,必须要和变量名称 的数据类型相等 貌似和C ...
- linux 网络有关的5个命令
1:ifconfig 2:ifdown & ifup 3:route 4:traceroute 5:iptables 6
- NOI2.5 1817:城堡问题
描述 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####---#####---#---#####---# 2 # # ...
- Java容器解析系列(13) WeakHashMap详解
关于WeakHashMap其实没有太多可说的,其与HashMap大致相同,区别就在于: 对每个key的引用方式为弱引用; 关于java4种引用方式,参考java Reference 网上很多说 弱引用 ...
- php---> xhprof安装及使用
xhprof 简介 xhprof是一款网站的性能工具 安装(lnmp) php --ri xhprof #检查php是否有这个扩展 cd xhprof-0.9.4/xhprof-0.9.4/exten ...
- vue-cli3中引入图片的几种方式和注意事项
如果你是在数据中引入图片,他是从项目中引入的应该按第一种方式引入 如果不是在数据中引入图片,按第二种方式引入