EC2上的多个虚拟主机ubuntu - 无法访问第二个主机,始终访问默认值

时间:2011-05-20 08:26:14

标签: amazon-ec2 ubuntu-10.10 virtual-hosts apache2.2

第一次发布海报,但请帮忙。我一直在寻找和重新配置6天,并且已经丢失了几束头发..

问题: 我想在我的ubuntu服务器上安装2个以上的虚拟主机(1个ip) 但是 - 只有第一个“按字母顺序”列出的网站启用的节目。 000默认 www.domain1.com www.domain2.com

单独地他们都工作(如果每个离开1我是a2dissite)

CONFIG: UBUNTU 10.10服务器 EC2实例(不要为此部分拍我 - 希望这不是问题!) APACHE 2.2.16 DNS my.domain.com   - 对我的公共ec2 dns(这是有效的)

虚拟主机:

默认

<VirtualHost *:80>
        DocumentRoot "/home/www/"
        <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Satisfy all
        </Directory>
        <Directory /home/www>
        Options Indexes Multiviews FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
        </Directory>
        LogLevel debug
        ErrorLog /home/www/logs/error.log
        CustomLog /home/www/logs/access.log "combined"
</VirtualHost>

虚拟主机1 - domain1

<VirtualHost *:80>
        ServerAdmin webmaster@domain1.com
        ServerName domain1.com
        ServerAlias domain1.com www.domain1.com
        # Indexes + Directory Root.
        DirectoryIndex index.php
        DocumentRoot "/home/www/www.domain1.com/"
        # Directory directive
        <Directory "/home/www/www.domain1.com">
                Options Indexes Multiviews FollowSymLinks
                AllowOverride none
                Order allow,deny
                Allow from all
        </Directory>
        # CGI Directory
        ScriptAlias /cgi-bin/ /home/www/www.domain1.com/cgi-bin
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>
        # Logfiles
        LogLevel debug
        ErrorLog "/home/www/www.domain1.com/logs/error.log"
        CustomLog "/home/www/www.domain1.com/logs/access.log" combined
</VirtualHost>

我还在另一个具有不同域名的文档根目录中为domain2提供了上述内容

sym链接到位: 我的apache2ctl -St显示以下内容 - VirtualHost配置:

*:80       is a NameVirtualHost
         default server  (/etc/apache2/sites-enabled/000-default:4)
         port 80 namevhost  (/etc/apache2/sites-enabled/000-default:4)
         port 80 namevhost domain1.com (/etc/apache2/sites-enabled/www.domain1.com:4)
         port 80 namevhost www.domain2.com (/etc/apache2/sites-enabled/www.domain2.com:4)
Syntax OK

我的ports.conf:     NameVirtualHost *:80     听80

<IfModule mod_ssl.c>
    NameVirtualHost *.443
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

默认情况下,我的apache2.conf和httpd.conf没有变化为空。

我尝试了以下(以及大约一百个):

[URL = “http://ubuntu-tutorials.com/2008/01/09/setting-up-name-based-virtual-hosting/”] [/ URL] [URL = “http://httpd.apache.org/docs/2.2/rewrite/vhosts.html”] http://httpd.apache.org/docs/2.2/rewrite/vhosts.html [/ URL] [URL = “http://ubuntuforums.org/archive/index.php/t-1466665.html”] http://ubuntuforums.org/archive/index.php/t-1466665.html [/ URL] [URL = “http://flurdy.com/docs/ec2/basics/index.html”] http://flurdy.com/docs/ec2/basics/index.html [/ URL] [URL = “http://www.webmasterworld.com/apache/3282118.htm”] http://www.webmasterworld.com/apache/3282118.htm [/ URL]

似乎我已经尝试过其他所有人都遇到问题的事情,但似乎没有什么能解决我的问题。

的可能性:
1)EC2
2)文件权限 - 我将所有内容更改为apache2用户“www-data” - 没有骰子 3)我是一个涂料...让我们希望它和你们中的一个善良的人指出我的问题。 :)

很快聊天......生病在这里失去了我的头发 此致,Logansanoh

2 个答案:

答案 0 :(得分:0)

不幸的是,Slicehost预计会失败,但它有一些关于如何实现虚拟主机的良好文档。
访问:
http://articles.slicehost.com/2010/5/19/apache-virtual-hosts-on-ubuntu-part-1
http://articles.slicehost.com/2010/5/19/apache-virtual-hosts-on-ubuntu-part-2

我已经离开了slicehost,但他们的文档仍然非常方便。

作为旁注,你可能在这里没有得到很多回应,因为这个问题更适合于:
http://serverfault.com

祝你好运,让我们知道出了什么问题,干杯!

答案 1 :(得分:0)

DNS是罪魁祸首。 EC2,Ubuntu和Apache都按预期传递了所有内容。问题是我在DNS上使用URL重定向。这是stoopid!这很简单,我使用我的公共IP地址代替别名(www.domain1.com)和(www.domain2.com)设置了一个ANAME,这一切都完美无缺。 现在,如果我只能让TOMCAT用mod_proxy来表现,我会100%在那里!!