Apache虚拟主机(vhost)配置教程

版本:Apache Version Apache/2.4.6 (Ubuntu)

系统: ubuntn12.04

在/etc/apache2/sites-enabled/

sudo cp 000-defaut.conf sv1.conf

sudo vim sv1.conf

<VirtualHost *:80>
  ServerName www.sv1.com
        ServerAdmin webmaster@localhost
        DocumentRoot /home/www/sv1
        DirectoryIndex index.html

</VirtualHost>

<Directory "/home/www/sv1">
  Options FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

sudo service apache2 restart

出现403错误,参考下面解决。  


使用apache来配置虚拟主机,在单一系统上运行多个网站。

现在很多linux主机使用apache作为web服务器的,大部分是基于这个原理来配置虚拟主机的。


下面就windows下以apache 2.4.3作为演示的一个教程。

这里只是简单的说明下,简述实现的原理

1.Apache的配置文件httpd.conf,找到Virtual hosts,进行如下修改保存。

# Virtual hosts#Include conf/extra/httpd-vhosts.conf去掉第2行的‘#’号,改为# Virtual hostsInclude conf/extra/httpd-vhosts.conf

这样就开启了extra文件夹下的httpd-vhosts.conf,以后修改虚拟主机只要在这个文件进行。


2.对httpd-vhosts.conf进行配置。

例如域名www.a.com和www.b.com

# Virtual Hosts## Required modules: mod_log_config# If you want to maintain multiple domains/hostnames on your# machine you can setup VirtualHost containers for them. Most configurations# use only name-based virtual hosts so the server doesn't need to worry about# IP addresses. This is indicated by the asterisks in the directives below.## Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/># for further details before you try to setup virtual hosts.## You may use the command line option '-S' to verify your virtual host# configuration.## VirtualHost example:# Almost any Apache directive may go into a VirtualHost container.# The first VirtualHost section is used for all requests that do not# match a ServerName or ServerAlias in any <VirtualHost> block.#<VirtualHost*:80>ServerAdmin webmaster@a.com
    DocumentRoot"d:/www/a"ServerName a.com
    ServerAlias www.a.com
    ErrorLog"logs/a.com.log"CustomLog"logs/a.com.log" common
    <Directory"d:/www/a">Require all granted   
    </Directory> 
</VirtualHost><VirtualHost*:80>ServerAdmin webmaster@b.com
    DocumentRoot"d:/www/b"ServerName b.com
    ServerAlias www.b.com
    ErrorLog"logs/b.com.log"CustomLog"logs/b.com.log" common
    <Directory"d:/www/b">Require all granted   
    </Directory> 
</VirtualHost>

注意:apache 2.4以上版本中需要在目录下面添加 Require all granted,否则无论怎么访问都是403。

转载:http://www.myxzy.com/post-370.html

原文地址:https://www.cnblogs.com/linuxOS/p/3334206.html