php Apache 虚拟主机配置方法

  在进行PHP 虚拟主机配置之前需要做一些准备工作,首先要将APACHE+PHP+MYSQL 基本环境配置好,也就是PHP环境搭建好。 我们将在此基础之上进行PHP 虚拟主机配置,多个虚拟主机,即一个IP,可以有多个域名访问,也可以说一个WEB SERVER上架设多个网站(在网上找了很久,都没有找到一个可以设置成功的例子,只好自己慢慢弄了,用了我36个小时)。这个就是我们在网上看到的像bluehost,justhost等五大空间提供商所提供的虚拟主机,就是这样的原理。

     下面就是PHP 虚拟主机配置的详细步骤:

     1.找到Apache的\conf目录下的httpd.conf文件,打开它,找到下面这两行:
     # Virtual hosts
     #Include conf/extra/httpd-vhosts.conf
     把它改成下面这样:
     # Virtual hosts
     Include conf/extra/httpd-vhosts.conf
 

     意思是启用虚拟主机的设置文件httpd-vhosts.conf,虚拟主机的设置都在这个文件下设置,不用去改httpd.conf,这样比较清晰。
 

     2.找到Apache的\conf\extra目录下的httpd-vhost.conf这个文件。
     打开它的时候里面已经含有像下面这样的内容:
     –虚拟主机配置开始
     <VirtualHost *:80> 
     ServerAdmin webmaster@dummy-host.localhost
     DocumentRoot “C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost”
     ServerName dummy-host.localhost
     ServerAlias www.dummy-host.localhost
     ErrorLog “logs/dummy-host.localhost-error.log”
     CustomLog “logs/dummy-host.localhost-access.log” common
     </VirtualHost>
 

     COPY上面这几行,关键是:把
     DocumentRoot “”–虚拟主机的目录,即域名对应的根目录
     ServerName dummy-host.localhost–你想要的域名。
     还要在每个虚拟主机配置开始前加入以下内容:
     <Directory “c:\test”>
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
     </Directory>
 

     其中:
     <Directory “c:\test”>  –这是你的虚拟主机的被授权的目录 一般与 DocumentRoot “”–虚拟主机的目录,即域名对应的根目录 相同。Allow from all –这句是重点,只要allow别人才行访问上面定义的目录,否则在IE或firefox访问时会显示503错误,即禁止访问。
 

     如果你不想在httpd-vhost.conf 里加入
     <Directory “c:\test”>
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
     </Directory>
     那么你也可以这样做:
     在httpd.conf里找到以下内容:
     <Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     Deny from all
     </Directory>
 

     这是Apache默认的设置,最后一行是这样的
     Deny from all
     意思是拒绝所有访问对根目录的访问,别人是访问不了你的网站的,
     所以要改成
     Allow from all
 

     不过还是建议用第一种方法,即修改httpd-vhost.conf的内容,这样比较清楚,也比较安全。
     这样apache的设置就完成了,不过还要做下面这一步。
 

     3.还有关键的一步:
     这一步不做,一定不行因为你本地的机器没有DNS解析。
     找到C:\WINDOWS\system32\drivers\etc目录下的hosts文件
     加上这样的记录
     127.0.0.1 demoa–这个是你的域名,你要设置多少个虚拟主机,就要加多少行这样的记录。
 

     OK,现在你可以设置N+1个域名了。
 

     样例:
 
--------------------------------------------------------------------------
 

     <VirtualHost *:80>
     ServerAdmin webmaster@dummy-host.localhost
     DocumentRoot /www/docs/dummy-host.localhost
     ServerName dummy-host.localhost
     ServerAlias www.dummy-host.localhost
     ErrorLog logs/dummy-host.localhost-error_log
     CustomLog logs/dummy-host.localhost-access_log common
     </VirtualHost>
 

     <VirtualHost *:80>
     ServerAdmin webmaster@dummy-host2.localhost
     DocumentRoot /www/docs/dummy-host2.localhost
     ServerName dummy-host2.localhost
     ErrorLog logs/dummy-host2.localhost-error_log
     CustomLog logs/dummy-host2.localhost-access_log common
     </VirtualHost>
 
 

     <Directory "D:\phpwork">
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
     </Directory>
     <VirtualHost *:80>
     ServerAdmin webmaster@dummy-host2.localhost
     DocumentRoot D:\phpwork
     ServerName localhost
     ErrorLog logs/dummy-host2.localhost-error_log
     CustomLog logs/dummy-host2.localhost-access_log common
     </VirtualHost>
 

     <Directory "D:\phpwork\phpMyAdmin">
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
     </Directory>
     <VirtualHost *:80>
     ServerAdmin webmaster@dummy-host2.localhost
     DocumentRoot D:\phpwork\phpMyAdmin
     ServerName phpMyAdmin.local
     ErrorLog logs/dummy-host2.localhost-error_log
     CustomLog logs/dummy-host2.localhost-access_log common
     </VirtualHost>
 
 

     <Directory "D:\phpwork\test">
     Options Indexes FollowSymLinks Includes ExecCGI
     AllowOverride All
     Order allow,deny
     Allow from all
     </Directory>
     <VirtualHost *:80>
     ServerAdmin webmaster@dummy-host2.localhost
     DocumentRoot D:\phpwork\test
     ServerName test.local
     ErrorLog logs/dummy-host2.localhost-error_log
     CustomLog logs/dummy-host2.localhost-access_log common
     </VirtualHost>
     PHP 虚拟主机配置方法还有很多途径,可根据自己的需求和自己擅长的领域来选择不同的配置方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值