Если не хочешь быть первым - не вставай в очередь!
Как сделать что бы можно было открывать их из сети по имени?
Добавить в файл C:\Windows\System32\drivers\etc\hosts соотв. записи, на всех компьютерах в локальной сети, с которых нужно эти сайты открывать или зарегистрировать эти домены и привязать их к нужному IP
Не совсем подходит. Сайты поднимаю для тестирования, в том числе и на мобильных телефонах.
Ну и опять же, пока доступен только 1 сайт. А как второй открыть?
Ну и опять же, пока доступен только 1 сайт. А как второй открыть?
Насколько я понимаю, речь идёт о доступности сайтов из локальной сети? Без собственного DNS или регистрации соотв. доменов или правки hosts - насколько мне известно, никак.
Ну или только через костыли, например выкладывать сайты по очереди...
"Много сайтов на одном IP" - поддерживается на уровне HTTP-протокола, соотв. что бы открыть сайт привязанный к конкретному домену - в браузере нужно вбивать этот самый домен, а не IP, т.к. по IP будет открываться "дефолтный" сайт. А что бы привязать домен к IP нужен либо DNS, либо правка hosts.
Ммм.. тяжело до меня доходит.... Допустим есть только компьютеры где можно поправить hosts.
Есть 2 сайта: test1.ru, test2.ru. IP сервере: 172.16.0.1
В папке /home/test1.ru и /home/test2.ru
Я создаю файл .htaccess и прописываю
#dnwr_ip 172.16.0.1
в hosts на удаленной машине я прописываю
test1.ru 172.16.0.1
test2.ru 172.16.0.1
Оно будет работать?
Предполагаю что при запуске Denwer, на этот IP будет прописан последний сайт. И при обращении по адресу test1.ru и test2.ru так же будет открываться один и тот же сайт.
Что нужно еще указывать, что бы для каждого имени открывался нужный?
"#dnwr_host test1.ru"?
Ммм.. тяжело до меня доходит.... Допустим есть только компьютеры где можно поправить hosts.
Давайте я попробую объяснить по простому, как всё это работает:
0. На одном IP может быть много (условно бесконечное число) сайтов, обслуживаемых одним сервером
1. Когда Вы пытаетесь открыть сайт, например "toster.ru", браузер делает запрос на DNS-сервер, примерно такого вида: "DNS, скажи мне, на каком IP сидит сайт "toster.ru"?
2. DNS-сервер выдаёт ему IP-адрес соотв.
3. Браузер обращается к веб-серверу по IP и говорит ему (веб-серверу) - выдай мне сайт "такой-то" (например, "toster.ru"), сервер ищет у себя такой сайт и выдаёт его, а если не нашёл - выдаёт "сайт по умолчанию" (обычно)
Когда Вы обращаетесь к сайту по IP - сервер Вам как раз и выдаёт "сайт по умолчанию", т.к. домен (адрес) сайте не указан. Что бы у сайта появился домен (который браузер в последствии будет использовать, при обращении к веб-серверу), можно этот домен прописать либо в файле hosts, либо (как Вам посоветовали ниже) - завести свой собственный DNS-сервер, либо, есть очень дешевый вариант - просто зарегистрируйте какой-нибудь домен (есть домены в пределах 100руб./год.), создайте на нем поддомены, типа "test1.mydomain.com", "test2.mydomain.com" и т.д. и привяжите это поддомены (и сам домен тоже можно) к своему IP, тогда все компьютеры, и Ваш и компьютеры в локальной сети (если у них есть выход в интернет) и все прочие компьютеры, которые подключены к интернету. Это не означает, что они смогут получить доступ к Вашему сайту (сайтам) но по IP они будут обращаться корректно.
Можно поднять свой DNS-сервер и прописать имена туда. Но на остальных машинах все равно придется трогать конфигурацию сети, чтобы прописать свой DNS вместо дефолтного. Без этого никак. Если бы все было иначе, то каждый малолетний хацкер поднимал бы в свой локалке свой собственный google.com и yandex.ru с домашкой и одноклассницами.
Зачем же трогать конфигурацию сети на остальных машинах? DHCP-сервер, среди прочего, отдает и адрес DNS-сервера, который клиенты будут использовать. В опциях любого SOHO-роутера, в том числе Zyxel Keenetic, есть такая возможность.