LINUX.ORG.RU
ФорумAdmin

Создание виртуальных хостов

 ,


0

1

Доброго времени суток! Установил на Debian 8 Apache2,PHP5, MySql Server. Нужно разместить на этой системе несколько сайтов с доступом из мира. В /etc/hosts я прописал имена хостов:

host1
host2
и т.д.
В /etc/apache2/sites-available создал файлы с названием виртуальных хостов host1.conf, host2.conf:
<VirtualHost *:80>
ServerAdmin webmaster@host1
ServerName host1
ServerAlias www.host1
DocumentRoot /var/www/host1/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory '/var/www/host1/'>
AllowOverride All
</Directory>
<IfModule mpm_itk_module>
AssignUserId username usergroup
</IfModule>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@host2
ServerName host2
ServerAlias host2
DocumentRoot /var/www/host2/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory '/var/www/host2/'>
AllowOverride All
</Directory>
<IfModule mpm_itk_module>
AssignUserId username usergroup
</IfModule>
</VirtualHost>
Но когда я захожу на сервер из внешней сети http://78.*.*.*/host1, Apache2 выдает 404 ошибку. Подскажите пожалуйста в чем ошибка? Сайт должен открываться из внешней сети, если он прописан /etc/hosts? Если нужно что бы сайты были доступны из мира, их нужно прописывать в /etc/hosts?

http://78.*.*.*/host1,

И это ты называешь VirtualHost — ха-ха-ха-ха-ха!

anonymous ()

из внешней сети http://78.*.*.*/host1, Apache2 выдает 404 ошибку.

А из внутренней сети ошибку выдаёт? Посмотри, чтобы апач имел доступ на чтение каталога /var/www/host1/.

Сайт должен открываться из внешней сети, если он прописан /etc/hosts?

В файле hosts ты прописываешь адреса только для себя и он не влияет на открытие сайта из вне, особенно, способом http://<твой_секретный_IP>/<путь_от_document_root>.

Если нужно что бы сайты были доступны из мира, их нужно прописывать в /etc/hosts?

Нет, их нужно прописывать в ДНС.

shrub ★★★★★ ()
Последнее исправление: shrub (всего исправлений: 1)

Когда ты идешь на адрес http://78.78.78.78/host1, ты в общем случае попадаешь в виртуальный хост с именем 78.78.78.78 (или в дефолтный), в каталог DocumentRoot/host1.
Чтобы сервер снаружи был доступен для всех не по айпишнику, а по имени, это имя сперва надо купить у DNS-регистратора и привязать к твоему айпишнику.

Как работает DNS написано хотя бы в википедии, про виртуальные хосты - в официальной документации на http://httpd.apache.org

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.