Apache虚拟目录配置

来源:互联网 发布:淘宝支付宝是马云的吗 编辑:程序博客网 时间:2024/06/06 09:51

前提:域名已经指向了服务器多对应的外网IP

操作:

使用本地ip:端口号,或者修改hosts文件+域名的方法来进行本地多站点web调试。

     注意这里是用apache 不是iis    
  
  1: 安装好AppServ2.5.9软件,官网是:http://www.appservnetwork.com/ ,2.59下载地址是:http://nchc.dl.sourceforge.net/s ... erv-win32-2.5.9.exe 是英文软件,但是安装时可以选择gbk-gb2312的编码(我自己用utf-8)。 
  2: 修改本机的hosts文件,如下:  
  示例:
  127.0.0.1            localhost
  127.0.0.1       www.dede.com
  127.0.0.1       www.phpcms.com   
  
  3: 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。  
  #LoadModule vhost_alias_module modules/mod_vhost_alias.so
  去掉#意思是启用apache的虚拟主机功能。  
  
  #Include conf/extra/httpd-vhosts.conf  
  去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。
  
  4: 打开extra目录内的httpd-vhosts.conf文件,什么都不管,直接在文件底部加入自己要加的虚拟主机的信息。如下面所示。   
   分别是给出一个管理员邮箱、指出此网站的根目录、域名、和错误日志存放位置。注意目录间隔最好用/而不是/ 。    
                           
  <VirtualHost *:80>
        ServerAdmin jsw7001@hotmail.com
        DocumentRoot E:/AppServ259/www/dede
        ServerName www.dede.com
        ErrorLog E:/AppServ259/www/dede/error.log
        CustomLog logs/dummy-host2.appservnetwork.com-access_log common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin jsw7001@hotmail.com
        DocumentRoot E:/AppServ259/www/phpcms
        ServerName www.phpcms.com
        ErrorLog E:/AppServ259/www/dede/error.log
        CustomLog logs/dummy-host2.appservnetwork.com-access_log common
</VirtualHost>        
  
  *以上路径中的斜线左斜右斜都可以。    
   
  5: 将appserv的apache服务重启,就可以了,可以在各网站的根目录下放一个index.html文件,如果能看到,说明就对了。  

     上边是使用域名的方法。

     下边说下如何使用本地IP+端口的方法。

     例如本机IP为:192.168.0.10
     那如何控制  80 、1000、1001、1002 来访问不同的文件目录,而达到多个站点同时访问的目的?

     打开appserv的安装目录,找到httpd.conf文件,找到:
     Listen 80
     加入:
Listen 80 
Listen 1000 
Listen 1001 
Listen 1002

然后参照虚拟主机的设置方法。不同的是:
<VirtualHost *:80> 这个后边的端口号按自己需求更改就成了。


如果 弄完之后 出现403错误 那 在httpd.conf里找到:

<Directory />
   Options FollowSymLinks ExecCGI Indexes
   AllowOverride None
   Order deny,allow
   Deny from all
   Satisfy all
</Directory>

更改为
<Directory />
   Options FollowSymLinks ExecCGI Indexes
   AllowOverride None
#    Order deny,allow
#    Deny from all
#    Satisfy all
</Directory>

//======================================================================================================

以上是apache2.0,如果是apache2.4 语法略有不同,如下:

<VirtualHost *:81>
 ServerAdmin welcome@www.jbxue.com
 DocumentRoot "/var/wwwroot"
 ServerName 81
 ErrorLog "logs/jbxue.localhost-error.log"
 CustomLog "logs/jbxue.localhost-access.log" common
 <Directory "/data/wwwroot">
  Options FollowSymLinks
  AllowOverride None
  Require all granted
 </Directory>
</VirtualHost>

访问站点出现you don't have permission to access / on this server(Apache Server权限访问问题)

<Directory />
 AllowOverride none
 Require all denied
</Directory>

<Directory />
 AllowOverride none
# Require all denied
</Directory>

//======================================================================================================

服务器上通过域名访问网站测试成功;

外网通过域名访问网站失败:

1.ping 域名 指向的IP正确 说明 域名指向没问题

2.telnet ip+端口 如果无法访问 则需要在服务器上配置防火墙的入站规则 然后重新在外网的机器上telnet成功,则网站可以正常访问

注意:如果虚拟目录没有设置端口,则表示默认telnet端口也是80

0 0
原创粉丝点击