首页 后端开发 php教程 凡事不求甚解,遇事必定抓瞎——PHP开发Apache服务器配置备忘录

凡事不求甚解,遇事必定抓瞎——PHP开发Apache服务器配置备忘录

Aug 08, 2016 am 09:21 AM
conf directory httpd wamp

照此配置流程,绝对一路畅通,可保无虞。

昨天弄了个PHP小程序,想在本地跑一下测试,可是工作电脑没有安装环境,于是下载了一个wamp,一路畅通,Apache、Mysql、PHP就全有了。启动wamp服务,在浏览器里输入“http://localhost”,访问正常,跳出wamp首页。于是,下面想把自己的CrashServer网站配置到Apache里,可以通过虚拟域名在本地访问测试,结果遇到不少问题,今日一通Google研究,终于任督二脉全通。

1、首先,Apache的配置文件是httpd.conf和httpd-vhosts.conf,我们先来看下wamp安装好后,httpd.conf的默认配置。

<span>DocumentRoot "d:/wamp/www/"

</span><span><span>Directory </span><span>/></span><span>    AllowOverride none
    Require all denied
</span><span></span><span>Directory</span><span>></span><span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span>    Options Indexes FollowSymLinks
    AllowOverride all
    Require local
</span><span></span><span>Directory</span><span>><br></span></span></span>
登录后复制

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

<span> </span>
登录后复制

要想通过虚拟域名访问网站,就需要配置一下httpd-vhosts.conf。那么需要启动httpd-vhosts.conf,因为默认是关闭的,所以把配置文件中#Include conf/extra/httpd-vhosts.conf前面的#去掉。于是httpd-vhosts.conf启用了,那么我们去编辑httpd-vhosts.conf这个文件。

2、httpd-vhosts.conf文件的位置,在apache目录下的conf/extra,上面的Include conf/extra/httpd-vhosts.conf其实已经告诉了你它的位置。

在这个文件中,添加配置我上面的CrashServer网站:

<span>NameVirtualHost *:80</span><span><span>VirtualHost </span><span>*:80</span><span>></span><span>    DocumentRoot "D:/wamp/www/CrashServer"
    ServerName crash.com
</span><span></span><span>VirtualHost</span><span>></span></span>
登录后复制

首先,我的CrashServer是放在wamp/www下面的,这是wamp默认的网站目录,其次,我想在本地测试的时候,用crash.com就能访问到CrashServer,于是配置如上。

在这里,为了让我们能通过crash.com访问本地站点,所以需要修改hosts文件,添加 127.0.0.1  crash.com。

到这里,配置完毕了,于是重启Apache,输入crash.com访问,结果正常访问。但是,当以localhost访问时,原来出现的是wamp的主页,现在却显示CrashServer了,于是还要在hosts里追加 127.0.0.1  localhost,在httpd-vhosts.conf中,追加上localhost的站点配置,现在看起来就是这样了:

<span>NameVirtualHost *:80

</span><span><span>VirtualHost </span><span>*:80</span><span>></span><span>    DocumentRoot "D:/wamp/www"
    ServerName localhost
</span><span></span><span>VirtualHost</span><span>></span><span><span>VirtualHost </span><span>*:80</span><span>></span><span>    DocumentRoot "D:/wamp/www/CrashServer"
    ServerName crash.com
</span><span></span><span>VirtualHost</span><span>></span></span></span>
登录后复制

OK,到此基本可以结束了,网站都配置好了,看起来非常非常的简单。但是对于我却不是这样的,我昨天碰到了如下问题。

首先,我的CrashServer一开始不是放在wamp/www下的,而是放在E:\360Downloads下面的,于是就有了如下配置:

<span><span>VirtualHost </span><span>*:80</span><span>></span><span>    DocumentRoot "E:/360Downloads/CrashServer"
    ServerName crash.com
</span><span></span><span>VirtualHost</span><span>></span></span>
登录后复制

这没错吧,路径都对,虚拟域名也对,可是访问的时候,却提示403 Forbidden,没有权限。于是Google,哦,知道了原来是要给CrashServer目录加上权限,于是修改配置如下:

<span><span>VirtualHost </span><span>*:80</span><span>></span><span>    DocumentRoot "E:/360Downloads/CrashServer"
    ServerName crash.com

    </span><span><span>Directory </span><span>E:/360Downloads/CrashServer</span><span>></span><span>        Order Allow,Deny
        Allow from All
        Require all granted
    </span><span></span><span>Directory</span><span>></span><span></span><span>VirtualHost</span><span>></span></span></span>
登录后复制

重启Apache,访问正常了。首先,新增的Directory,是可以在httpd.conf中添加的,也可以在httpd-vhosts.conf中添加,我认为在后者里面添加更好,配置内容更加清晰明了,项目目录权限跟随着项目站点配置。在上面新增的Directory中,我们给了360Downloads下的CrashServer目录加了权限,允许访问了,所以就不再提示403 Forbidden了。

这个问题,现在写起来是这么的简单轻松,可问题出现的时候,却很让人困扰和郁闷。对于项目在wamp/www之外的,需要给项目目录权限才可,注意:

<span>Order Allow,Deny
Allow from All
Require all granted</span>
登录后复制

这三条缺一不可,这是配置了允许外部计算机访问服务器站点。

3、今天问题解决后,想到通过同一局域网下的其他设备访问我的站点,于是用手机,在浏览器中输入我的电脑的ip,不能访问,再次Google,原来需要修改在httpd.conf中的配置:

<span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span>    Options Indexes FollowSymLinks
    AllowOverride all
    Require local
</span><span></span><span>Directory</span><span>></span></span>
登录后复制

其中,Require local,没Google出来,但看名字知道,是只允许本地访问,于是改成Require all granted,允许所有请求访问,手机就可以访问了。

参考,http://roteg.iteye.com/blog/1465380,这里是访问验证配置的解释。

这里,有篇老外写的配置博文,很好,https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp#wamp-step-7,但是唯独一点,在他的Step 7的时候,给项目目录添加权限:

<span><span>Directory </span><span>C:/Users/Kristen/Documents/Projects</span><span>></span><span>    Order Deny,Allow   
    Allow from all 
</span><span></span><span>Directory</span><span>></span></span>
登录后复制

却恰恰少了Require all granted,导致最后还是403 Forbidden,搞得我非常郁闷。

此配置是在如下wamp环境进行的:

至此,在Apache下配置PHP站点,全部完成。

以上就介绍了凡事不求甚解,遇事必定抓瞎——PHP开发Apache服务器配置备忘录,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Active Directory 用户和计算机丢失 [以 3 种方式修复] Active Directory 用户和计算机丢失 [以 3 种方式修复] Apr 20, 2023 pm 01:25 PM

ActiveDirectory用户和计算机(ADUC)丢失是许多WindowsPro用户报告的最令人沮丧的问题之一。ADUC是一个令人难以置信的MMC管理单元,它使管理员能够管理MicrosoftActiveDirectory。但是,由于某种原因,它在Windows服务器或Enterprise/Pro版本中缺失。让我们深入了解它丢失的原因以及我们如何修复它。Windows11是否有ActiveDirectory?ActiveDirectory是任何想要管理远程

教你创建虚拟主机并运行php项目(phpstudy   wamp) 教你创建虚拟主机并运行php项目(phpstudy wamp) Aug 07, 2022 pm 03:17 PM

本文涉及两款php的集成环境,这两款都含mysql apache php,phpstudy的功能比wamp要强大,并且十分简单容易上手。

【总结】WAMP无法解析PHP文件的原因和解决方法 【总结】WAMP无法解析PHP文件的原因和解决方法 Mar 22, 2023 am 10:38 AM

​WAMP是一个免费开源的Web服务器软件包,允许用户在Windows操作系统上搭建Web服务器环境。但是,当用户尝试在WAMP中运行PHP文件时,可能会遇到无法解析的错误。在本文中,我们将探讨WAMP无法解析PHP文件的原因和解决方法。

wamp中怎么修改php.ini文件 wamp中怎么修改php.ini文件 Mar 20, 2023 pm 03:33 PM

Wampserver是一个可以在Windows计算机上安装Apache、PHP和MySQL的软件包。使用Wampserver可以轻松地在本地计算机上开发和测试PHP网站。在开发过程中,我们可能需要修改PHP配置文件php.ini。本文将介绍如何在Wampserver中修改php.ini文件。

浅析WAMP环境中PHP文件乱码问题的解决方法 浅析WAMP环境中PHP文件乱码问题的解决方法 Mar 22, 2023 am 09:30 AM

在使用WAMP作为本地服务器环境的过程中,有时候会出现PHP文件乱码问题。这种问题不仅会影响到我们的代码编写,同时也会影响到我们网站的正常运行。在这篇文章中,我们将会介绍一些解决WAMP中PHP文件乱码的方法。

解决Yum Httpd无法解析PHP的问题 解决Yum Httpd无法解析PHP的问题 Mar 22, 2024 pm 01:06 PM

解决YumHttpd无法解析PHP的问题,需要具体代码示例在搭建网站时,经常会遇到Yum安装的Httpd无法解析PHP的问题,导致无法正常访问网站页面。这个问题一直困扰着很多网站管理员和开发者,在本文中,我们将针对这个问题提供一些解决方案,并给出具体的代码示例。首先,我们需要明确问题的根源。Httpd无法解析PHP通常是因为缺少必要的PHP模块或配置不正确

Centos7系统配置DNS服务 Centos7系统配置DNS服务 Feb 19, 2024 pm 07:40 PM

在CentOS7系统中配置DNS服务有很多不同的方法,本文将介绍两种最常用的方法:使用NetworkManager和使用resolv.conf文件。使用NetworkManager配置DNS服务NetworkManager是一个常见的网络管理器,可以帮助用户管理系统网络配置。以下是使用NetworkManager配置DNS服务的步骤:打开NetworkManager配置文件:$sudovi/etc/NetworkManager/NetworkManager.conf在文件中添加以下内容:[mai

Yum Httpd遇到PHP解析困难怎么办? Yum Httpd遇到PHP解析困难怎么办? Mar 22, 2024 pm 05:12 PM

YumHttpd遇到PHP解析困难怎么办?在搭建网站的过程中,常常会遇到Apache的Httpd服务器无法正确解析PHP脚本的情况。这会导致网站无法正常运行,给开发者和用户带来不便。那么,当遇到这种情况时,应该如何解决呢?本文将介绍如何通过配置来解决Yum安装的Httpd服务器无法正确解析PHP脚本的困扰。首先,我们需要确认是否已经安装了PHP和Httpd

See all articles