Как я могу транслировать поддомен / виртуальное имя на локальный сервер с людьми, подключенными к той же сети

У меня есть сервер, подключенный к маршрутизатору, на котором установлена ​​Ubuntu 12.04. Он имеет apache / mysql / php и все готово к работе. структура папок выглядит следующим образом:

/var/www -- this isnt the root
-/libs
-/logs
-/public - this is the root
-/vhosts - all subdomains go here

У меня есть папка в vhosts с именем mysite. Я зашел в / etc / apache2 / sites-available и создал файл, а вот его содержимое -> ( vhost file ). и я также добавил запись в файл / etc / hosts, содержащую: 127.0.1.1 mysite.dev, и я также сделал

sudo a2ensite mysite

, пытаясь получить доступ к сайту с компьютера через mysite.dev и наш публичный ip в сервер, но я не смог его просмотреть. публичный каталог в структуре выше отображается на всех компьютерах, когда я пробую наш публичный ip. но для всего, что добавлено в vhosts, сайт не покажет. к нему не привязан ни один домен, просто наш ip. Я попытался изменить порт с 80, чтобы сказать 9999 в файле mysite на sites-available, и попробовал myip: 9999, но это тоже не сработало. Что я делаю не так?

Редактировать: я забыл упомянуть, что сервер находится на маршрутизаторе.

5
задан 17 October 2012 в 22:00

1 ответ

Доступно на нескольких локальных машинах

Если вы хотите, чтобы mysite.dev работал только на нескольких локальных машинах, вы всегда можете отредактировать их / etc / hosts [ 1130] файлов. В Windows также есть файлы хостов, которые вы можете редактировать, которые находятся в C: \ Windows \ System32 \ drivers \ etc \ hosts .

В файле hosts на компьютере, который вы хотите настроить для доступа к mysite.dev, просто добавьте его в конец (и Windows, и Linux):

SERVERIP mysite.dev www.mysite.dev

Где вы замените SERVERIP с локальным IP-адресом вашего сервера под управлением Apache.

Доступно для всей локальной сети

Если вы хотите, чтобы он работал в вашей локальной сети, вам потребуется DNS-сервер и вы настроите DHCP-сервер сети так, чтобы ваши локальные машины выполняли все свои DNS-запросы через ваш сервер.

Сначала давайте установим bind .

sudo apt-get install bind9

Затем нам нужно начать настройку связывания и добавить зону DNS, в данном случае mysite.dev . Начните с редактирования вашего файла /etc/bind/named.conf.local и добавьте в него следующий блок:

zone "mysite.dev" {
    type master;
    file "/etc/bind/zones/mysite.dev;
}

Затем создайте директора / etc / bind /zones.

sudo mkdir /etc/bind/zones

Теперь давайте добавим файл зоны для домена mysite.dev . Создайте и отредактируйте файл /etc/bind/zones/mysite.dev и добавьте в него следующее:

$ORIGIN . ; -*- zone -*-
$TTL 600    ; 10 minutes
mysite.dev          IN SOA  YOURSERVERNAME. hostmaster.mysite.dev. (
                    2012102300 ; serial
                    6H         ; refresh
                    30M        ; retry
                    4W         ; expire
                    10M        ; minimum (10 minutes)
                )
                NS  YOURSERVERNAME.
                A   YOURSERVERIP

$ORIGIN mysite.dev.
www         A   YOURSERVERIP

Теперь рассмотрим подробнее. Вам нужно изменить два вхождения YOURSERVERNAME и два вхождения YOURSERVERIP на ссылки, соответствующие вашему серверу. Например, server01.local и 10.0.0.2 . Чтобы узнать имя вашего сервера, введите hostname -f в окне терминала на вашем сервере.

Если вы хотите что-то изменить в этом файле зоны (например, добавить дочерние домены позже или что-то в этом роде), вы должны не забыть обновить серийный номер . В данном случае это 2012102300 . Значение должно быть установлено на более высокое значение, например, 2012102301 .

Перезапустите службу bind с помощью sudo service bind9 restart, и DNS-сервер должен быть запущен для вашего домена. Вам, вероятно, следует проверить это, запустив dig @localhost mysite.dev с самого сервера, прежде чем переходить к следующему шагу. Вы также можете проверить его с клиентского компьютера в сети с помощью dig @YOURSERVERIP mysite.dev, где YOURSERVERIP - это IP-адрес вашего сервера.

Теперь, последнее, что вам нужно сделать, это обновить конфигурацию ваших DHCP-серверов и установить ваш локальный сервер в качестве (вторичного, если возможно) DNS-сервера. Это, к сожалению, я не могу вам с этим легко помочь.

Доступно в Интернете

Поскольку не существует доменного имени верхнего уровня с именем .dev , ICANN необходимо создать его. На данный момент их система подачи заявок на gTLD закрыта, но, возможно, будет возможно подать заявку на домен .dev в будущем. Обратите внимание, что они, вероятно, хотят кучу денег за это.

0
ответ дан 17 October 2012 в 22:00

Другие вопросы по тегам:

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