apache安装配置及使用

Posted 富坚老贼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache安装配置及使用相关的知识,希望对你有一定的参考价值。

一、apache安装

假设我们我们的安装路径是 C:\\Apache2.2

运行软件

如果是本地学习使用 第二行服务名localhost 其他随便

一个自动安装,一个自定义安装,没有什么特别重要的,一直下一步到安装完成

 正常安装完成后,默认是apache服务是启动的

想要测试是否安装成功的话在浏览器中输入 http://localhost/ 如果页面显示为

表示已经成功安装

二、apache的启动方法

1、从服务启动

apache服务默认自动开机会自动运行,如果设置成手动则需要自己控制。

2、安装后右下角有个小图标可以控制启动停止服务

3、dos启动

为了方便先设置下环境变量

配置完环境变量后打开dos(如果你打开了dos请关闭后重新打开才能生效)输入:httpd -k start/stop  就能控制关闭开启了

 

三、端口修改

apache的默认端口是80,如果想修改端口

C:\\Apache2.2\\conf下的httpd.conf用记事本打开

Listen 80  修改80然后保存即可

注意:修改完端口以后,一定要重启apache才能生效。

 

四、apache目录结构

五、apache加载模块

加载模块就是增加某种功能

在httpd.conf的配置文件中

类似于
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so

这些东西就是模块,行前的#表示注释,去掉注释就加载了某个模块。

PS:apache的运行机制和生命周期等以后再学,不会这些对初学php应该不受应该。学习应该要有效率,时间就是生命

 

六、配置虚拟目录

配置虚拟目录的目的是不使用apache下的htdocs站点,而是在硬盘的任意位置创建一个站点。
需要两步
在httpd.conf文件里

1、

注释掉#DocumentRoot "C:/Apache2.2/htdocs"    (试了下不注释掉好像也没问题)

2、在<IfModule dir_module> </IfModule>里添加如下代码

#欢迎页面
DirectoryIndex index.html
#创建的站点的目录路径
Alias /me "D:/me"
<Directory "d:/me">
访问权限设置
Order allow,deny
Allow from all
</Directory>

3、在浏览器输入 http://localhost/me/haha.html (haha.html是me文件夹下的一个html文件)

 

另:在注释掉#DocumentRoot "C:/Apache2.2/htdocs" 这句的,创建了其他站点的情况下如果在输入 http://localhost 不会出现的It works!。

而是

Forbidden

You don\'t have permission to access / on this server.

这两行报403的错误

 

 

七、欢迎页面设置

在 DirectoryIndex  index.html 一行中加入haha.html
变成 DirectoryIndex haha.html  index.html (如果找不到 haha.html 就会找  index.html 依次往后)
在浏览器输入中输入 http://localhost/me 就能显示出 haha.html的页面

 

八、访问权限设置

对之前的访问权限设置进行解释

<Directory "d:/me">
Order allow,deny
Allow from all
</Directory>

1、权限设置只对在"d:/me"里的网页有效

2、allow和deny的意思

allow  意思是:允许所有的ip地址访问

deny  意思是:禁止所有的ip地址访问

3、allow和deny的顺序(有点饶别,但是很重要)

在Order这一行里他两是有顺序的,而order下面的那两行要看要看 order和deny的顺序,谁在前就执行谁。

例如

<Directory "d:/me">
Order deny,allow

allow from 192.168.10.2

deny  from 192.168.10
</Directory>

意思就是先禁止所有的ip访问,后允许所有的ip访问,其实 Order deny,allow 这句话的意思就是允许所有ip访问

然后再执行 deny from 192.168.10 禁止192.168.10段上的ip不能访问,再再执行 allow from 192.168.10.2 允许192.168.10.2这一个ip能访问"d:/me"里的网页

最终这个例子的意思是:192.168.10段上除了192.168.10.2以外的ip地址都不能访问"d:/me"里的网页,并且剩下的所有ip地址都可以访问。

有一点要注意

allow from 192.168.10.2

deny  from 192.168.10

这两行不是从上到下按顺序执行的,颠倒顺序不会影响这个例子的意思,因为他们要看 Order 这一行,deny和allow谁在前下面两行就先执行哪句

 

九、虚拟主机设置

 1、启用httpd-vhosts.conf
在httpd.conf文件里搜索 Virtual hosts,并找到这两行
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
启用Include conf/extra/httpd-vhosts.conf(去掉第二行#)

2、配置httpd-vhosts.conf

找到刚才启用的文件,C:\\Apache2.2\\conf\\extra路径下的httpd-vhosts.conf

在最后一行添加如下代码:

<VirtualHost 127.0.0.1:80>
    DocumentRoot "d:/me"
    DirectoryIndex index.html
    <Directory />
    Options FollowSymLinks
    #不允许别人修改我们的页面
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

 3、修改hosts文件

 

 十、Hosts文件介绍

host是一个没有后缀名的文件,可以用记事本打开。

将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,

当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址

一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析.

打开后大概是这个样子

 

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a \'#\' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost

 

一个ip可以对应多个域名
1一个域名也可以对应多个ip
ip要写在域名的前面

它有那么几个作用

1、加快域名解析

我们就可以这么设置 在hosts文件中添加一行
61.135.169.121  www.baidu.com
这样的话当你在浏览器中输入www.baidu.com是就不需要DNS帮你解析这个域名了。
相当于你在浏览器里直接输入的是61.135.169.121 这个IP地址

2、上谷歌搜索

目前google搜索已经被国家屏蔽了,可以用修改hosts的方法从新开启google搜索之旅

详见 http://www.williamlong.info/archives/3983.html

3、屏蔽网站

4、局域网域名跳转

公司局域网里有台DNS服务器,因为没买域名,只能用IP地址登陆(ip地址是192.168.8.8),每次登陆都要输入IP地址不是特别的方便

在你使用的电脑的hosts的文件里添加 

192.168.8.8   xx.xx

就能在你的浏览器中输入xx.xx就能访问 192.168.8.8的服务器了

其实这么设置并不是很方便,更简单方便的方法是在把这个ip地址添加到浏览器收藏夹岂不更方便。

第4条延伸下,真正能在局域网内实现域名跳转的方法

作为一个网络管理员,公司有上白台电脑,不可能去挨个修改每台电脑的hosts,而且对于不懂电脑的人教他们怎么修改hosts也很麻烦

有一个比较好的方法就是在你的windows server 的域服务器 建立好一个dns服务器  -开始-程序-管理工具-dns -设置正向查找区域。

之后只要用户的主DNS是你dns服务器的ip地址就可以在浏览器里输入你在正向查找区域里设置的域名就能挑转到对应的ip了。

正向查找区域的详细步骤不具体先不具体说了,有时间在补充。

 

以上是关于apache安装配置及使用的主要内容,如果未能解决你的问题,请参考以下文章

Apache 动态虚拟主机 - 403 Forbidden

Apache Forbidden 403错误提示

安装phpstudy 测试出现403错误 Forbidden You don't have permission to access / on this server. 跪求解

403 Forbidden You don‘t have permission to access this resource. Apache Server at IP Port 80的解决方法

403 Forbidden You don‘t have permission to access this resource. Apache Server at IP Port 80的解决方法(代码

Mac自带apache2搭建服务请求localhost报 403 Forbidden