Как правильно настроить мой веб-сервер в локальной сети?

У меня есть интранет-сайт (внутри сети), но это немного болезненно. Прежде всего, это домашняя сеть, если это кому-нибудь поможет. У меня есть компьютер, на котором работает веб-сервер Apache с PHP, и я хочу указать на него 3 URL-адреса в локальной сети. У меня был некоторый успех, но это не всегда надежно. Для DNS и DHCP у меня есть DSL-маршрутизатор Thompson Speedtouch ST546 v6.

Изменить: мне это нужно для веб-сайтов интрасети, а не только для файлового хостинга, как я довольно много с CMS.


Перепишите для ясности: у меня есть компьютер с тремя поддоменами в локальной сети, указывающий на IP-адрес 10.0.0.2, abp.bhc.com, wiki.bhc.com, а также server.bhc.com вместе с личным именем DNS веб-сервера. Я использую SpeedTouch для DNS и имею полный контроль над ним. Обычно это работает после того, как я возился с ним в течение часа.

У меня вопрос, есть ли более элегантное решение, чем ручное добавление домена каждый раз, когда мне нужен еще один. Хотя обычно это работает.

Вот мой текущий файл VH:

NameVirtualHost 10.0.0.2

<VirtualHost 10.0.0.2>
ServerName abp.bhc.com
DocumentRoot "htdocs/abp"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName server.bhc.com
DocumentRoot "htdocs/server"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName wiki.bhc.com
DocumentRoot "htdocs/wiki"
Alias /wiki htdocs/wiki/wbhc/index.php
</VirtualHost>

Я понял мою непосредственную проблему. IP-адрес был установлен неправильно, очевидно, потому что я недавно получил новый сетевой адаптер. Мой вопрос о том, есть ли лучшее решение, все еще стоит.

7 ответов

Решение

Есть два способа:

  1. Настройте свой собственный DNS и настройте его.
  2. Добавьте записи файла hosts в каждую файловую систему, к которой вы хотите получить доступ к сайту.

Я предполагаю, что вы не можете изменить настройки DNS на вашем маршрутизаторе и не хотите устанавливать и настраивать Bind. Чтобы добавить записи в файл hosts, откройте файл (/etc/hosts в Linux c:\windows\system32\drivers\etc\hosts в Window) и добавьте следующие строки:

192.168.0.1  abp.bhc.com
192.168.0.1  wiki.bhc.com
192.168.0.1  server.bhc.com

Если у вас нет внутреннего DNS-сервера, вы можете поместить ip-адрес вашего сервера в файл hosts всех клиентов и сервера, как сказал shf301. Apache должен быть настроен с виртуальными хостами следующим образом:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerAdmin webmaster@dummy-host2.example.com
   DocumentRoot c:/www/wiki
   ServerName wiki.bhc.com
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin webmaster@dummy-host2.example.com
  DocumentRoot c:/www/server
  ServerName server.bhc.com
</VirtualHost>

Документация: виртуальные хосты apache

К сожалению, поскольку ваш IP, вероятно, динамический, он меняется каждые несколько дней, и поэтому любые домены, указывающие на него, станут неэффективными. Единственный способ обойти это - подписаться на какую-то систему динамического DNS, в которой небольшая программа на вашем компьютере сообщает DNS-серверу ваш новый IP-адрес каждый раз, когда он изменяется, таким образом поддерживая их синхронизацию. Кроме этого, вы можете купить статический IP-адрес у вашего интернет-провайдера, но это будет довольно дорого.:(

Настройте BIND на сервере nix.. и дайте серверу nix статический ip.

Если можете, измените DNS-серверы в вашем роутере.

Первая запись DNS должна быть статическим IP-адресом nix-сервера. вторая запись должна быть первым IP-адресом вашего провайдера.

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

Это избавляет вас от необходимости возиться с файлом хоста на вашем компьютере или машинах, которые должны видеть сайт интрасети.

Чисто догадываясь, ваш сервер имеет динамический IP, вы можете вместо этого рассмотреть статический IP.

Кроме того, единственный способ получить доступ к другому компьютеру - это настроить их файлы хостов или настроить их DNS на своем компьютере и самостоятельно разместить DNS, если ваш сервер работает 24/7.

Вы можете запустить десятки доменов (веб-сайтов) на этом компьютере. Вместо поддоменов просто используйте папки. Создайте в htdocs папку с именем say 2011. Затем создайте еще одну папку с именем blog. Установите там программное обеспечение для вашего блога. Затем в адресной строке просто введите 192.168.0.1/2011/blog . Это будет работать нормально.

Простое решение, если оно работает только на небольшом количестве компьютеров, - это использовать файл hosts на этих компьютерах: http://en.wikipedia.org/wiki/Hosts_%28file%29 Тогда не нужно бороться с DNS (хотя вашему серверу нужен фиксированный ip).

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