У меня есть сервер, подключенный к маршрутизатору, на котором установлена 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, но это тоже не сработало. Что я делаю не так?
Редактировать: я забыл упомянуть, что сервер находится на маршрутизаторе.
Если вы хотите, чтобы 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 в будущем. Обратите внимание, что они, вероятно, хотят кучу денег за это.