#amazon-ec2 #ubuntu-10.10 #virtual-hosts #apache2.2
#amazon-ec2 #ubuntu-10.10 #виртуальные хосты #apache2.2
Вопрос:
плакат впервые, но, пожалуйста, помогите. Я искал и перенастраивал в течение 6 дней и потерял несколько клочков волос..
ПРОБЛЕМА: я хочу, чтобы на моем сервере Ubuntu было более 2 виртуальных хостов (1 ip), НО отображаются только первые сайты, перечисленные в алфавитном порядке с поддержкой. 000-по умолчанию www.domain1.com www.domain2.com
По отдельности все они работают (если я удаляю 2 для каждого, оставляя 1)
КОНФИГУРАЦИЯ: экземпляр сервера 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 — домен1
<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 в другом корневом каталоге документа с другим доменным именем
ссылки symb на месте: мой apache2ctl -St показывает следующую конфигурацию виртуального хоста:
*: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
Мои порты.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
Комментарии:
1. Похоже, это может быть связано с DNS. Пытаюсь исправить сейчас … давайте посмотрим, что произойдет, когда кеши очистятся сами!
2. Этот вопрос не имеет никакого отношения к ec2, это то, как вы настраиваете Apache.
3. У меня точно такая же проблема. Мне интересно, передается ли имя хоста в apache … т. Е. он может различать именованные виртуальные хосты, только если он получает имя. Насколько я могу судить, он не получает его, поэтому выбирает первый по умолчанию.
Ответ №1:
к сожалению, 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. Правильно. Для тех, кому интересно, оказалось, что это DNS. Мне нужно было имя в моем DNS (mydomain.com ) Спасибо за тех, кто помог мне в #ubuntu и # apache
Ответ №2:
DNS был виновником. Все передавалось, как ожидалось, как в EC2, Ubuntu, так и в Apache. Проблема заключалась в том, что я использовал перенаправление URL в DNS. Это глупо! Это было так просто, я установил ANAME вместо этого, используя свой общедоступный IP-адрес в качестве псевдонима (www.domain1.com ) и то же самое для (www.domain2.com ) и все это сработало отлично. Теперь, если бы я только мог заставить TOMCAT работать с mod_proxy, я был бы на 100% готов!!