Apache运行php和配置主机的设置

配置Apache使得apache可以调用php引擎执行php语言

在httpd.conf文件设置

#第一步:
#装载php“模块”——其实就是指php语言包中的一个文件而已!需要给出php5apache2_2.dll的完成路径,这里最后的那个2_2不是瞎写的,之前php
#版本可能过高,后面的是2_4,表示要求apache版本是2.4。
LoadModule php5_module "E:/itcast/amp/php/php5apache2_2.dll"

#第二步:
#告知apache,凡是“.php”后缀文件,找php语言模块(这里称为application/x-httpd-php)
#<FilesMatch "\.php$">
#   setHandler  application/x-httpd-php
#</FilesMatch>
#第二步的另一个语法形式:作用相同,但更灵活一些:
AddType  application/x-httpd-php  .php  .pap  .phtml

#第三步 让apache知道,php.ini的所在位置(此时不要写出php.ini的文件名,只要目录):
PHPIniDir  "E:/amp/php"

Apache设置主机和目录

#Apache设置主机和目录
ServerRoot  "E:/amp/apache"
#可以设置多个端口和主机地址
Listen 80
#Listen 8088 
#Listen 192.168.253.1:1001

如果设置多个站点可以取消httpd.conf的配置

#打开注释,开启这个后再httpd.conf的主机设置会失效
 Include conf/extra/httpd-vhosts.conf 

然后编辑conf/extra/httpd-vhosts.conf 设置

 站点配置主要选项
#ServerName, 
#DocumentRoot, 
#<Directory>...</Directory>
#第1个站点的配置
#如果没有找到匹配的servername会进入第一个
<VirtualHost *:80>
    ServerName  www.abc.com
    #设定该站点的“别名”,即通过以下域名也可以访问!
    ServerAlias map.php.com  hehe.php.com
    DocumentRoot "E:/it/class/html"
    <Directory "E:/it/class/html">
#表示如果没有指定文件,就显示文件夹所有文件。
        Options Indexes 
#设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)
        Order Deny,Allow
#Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!
        Allow From All
        #几乎不需要写Deny
    </Directory>
</VirtualHost>
#第2个站点的配置
<VirtualHost *:80>
    ServerName  www.gg.com
    DocumentRoot "E:\it\gg"
    <Directory "G:\itcast\gg">
        Options Indexes
        Order Deny,Allow
        Allow From All
#设置网站的首页
        DirectoryIndex  index3.html 
    </Directory>
</VirtualHost>
#第3个站点的配置,设置网站上显示的虚拟目录,对应某个磁盘某个目录
<VirtualHost *:80>
    ServerName  localhost
    DocumentRoot "E:\amp\apache\htdocs2"
    <Directory "E:\amp\apache\htdocs2">
        Options Indexes
        Order Deny,Allow
        Allow From All
    </Directory>
    #设置一个虚拟目录(目录别名):
    Alias  /abc  "C:\Users\dhluo\Desktop\soft"
    <Directory "C:\Users\dhluo\Desktop\soft">
        Options Indexes
        Order Deny,Allow
        Allow From All
    </Directory>
</VirtualHost>

上面的配置需要重启apache服务器,可以对服务器单独某个目录设置更详细权限,首先在可以在<Directory ></Directory>添加 AllowOverride all,然后在某个目录下建立 .htaccess 文件,可以用于单独对这么目录设置权限,不用重启服务器,比如仅支持192.168.1.4访问

Deny from all
Allow from 192.168.1.4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先,先看一些Apache服务器的基础设置,他可以帮你在Ubuntu CentOS 和OSX下安装和配置一个apa...
    Brice_Zhao阅读 13,937评论 5 12
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 9,171评论 0 10
  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 11,284评论 1 161
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 在这边短短几个月时间,我们已经换了三个保姆了,好保姆很难找,能长期待着的称心如意的好保姆那就更少了。 因为看到好多...
    心璐方向盘阅读 3,077评论 2 1

友情链接更多精彩内容