Задать вопрос
@askhat

Как доступаться до apache2 сайтов в локалной сети по домену .local?

У меня есть домашний сервер, назовем его bakery. На bakery стоит Ubuntu, а на Ubuntu Avahi, который позволяет доступаться до других сервисов bakery, будь-то AFP, DLNA или CUPS, по красивому адресу bakery.local и соответствующему порту. Также на bakery установлен apache2, который при посещении bakery.local в браузере, радостно сообщает: It works! Теперь я хочу доступаться к другим сайта лежащим в /var/www по адресам типа foo.local.
Я установил Passenger, задеплоил Rails app в директорию /var/www/railsapp и создал конфиг для виртуального хоста:
# /etc/apache2/sites-available/railsapp.conf
<VirtualHost *:80>
  ServerName railsapp.local
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /var/www/railsapp/current/public
  <Directory /var/www/railsapp/current/public>
    # This relaxes Apache security settings.
    AllowOverride all
    # MultiViews must be turned off.
    Options -MultiViews
    # Uncomment this if you're on Apache >= 2.4:
    Require all granted
  </Directory>
</VirtualHost>

После этого ввел команду
sudo a2ensite railsapp; and sudo service apache2 reload
. Теперь когда я ввожу адрес railsapp.local в браузере, он возвращает (как неожиданно) "This webpage is not available".

Что я делаю не так? Как сделать так как я хочу? И нужно ли для этого конфигугрировать Avahi?

PS Как определить работает ли сайт под Passenger не посещая его?
  • Вопрос задан
  • 501 просмотр
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@askhat Автор вопроса
В домашней сети с использованием Avahi, проще всего поставить mod_dnssd для apache2.
sudo apt-get install libapache2-mod-dnssd
После этого все виртуальные хосты станут доступны под доменом .local, в чем можно убедиться с помощью команды avahi-browse --all.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@taurus90
blog.code4hire.com/2011/03/setting-up-virtual-host...
Посмотрите, может чего забыли.
Ответ написан
Комментировать
microphone
@microphone
Сломалось - читай логи!
->логи в студию:
строка запроса на вашу страницу и строка ошибок при обращении к странице.
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Нужно прописать в локальную зону алиас на хост railsapp. Она (локальная зона local) у вас скорее всего есть, стоит в пакете dnsmasq. Если это так, то просто дописать в конфиг
cname=railsapp,bakery
Ну и перезапустить dnsmasq
Конфиг находится в /etc/dnsmasq.d/network-manager , если стоит NetworkManager (ставится с иксами и гномом)
или /etc/dnsmasq.conf или в файлах каталога /etc/dnsmasq.d/

Для продвинутых мазохистов есть bind9, но это тема отдельного вопроса.

PS. Работает ли passenger - смотреть в логи апаша.

PPS. Если просто нужно получить доступ с другого хоста, то достаточно прописать этот алиас в файле /etc/hosts (для виндуз %SystemRoot%\system32\drivers\etc\hosts) на другом хосте.
Например так:
192.168.0.11 railsapp bakery
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы