Денвер (denwer) и сайт внутри локальной сети. Как?

понедельник, 8 марта 2010 г.

Простая ситуация. Есть wi-fi роутер, к которому приходит от провайдера кабель с интернетом. Дальше есть несколько ноутбуков дома, которые уже получают от роутера свои ip адреса и живут внутри сети дружно и спокойно. На одном из ноутбуков установлен Denwer для разработки сайтов.
Задача: Как сделать, что бы по определенному адресу на других компьютерах открывались сайты, работающие под Денвером?
Ответ: Узнайте ip адрес машины, на которой установлен denwer. (Пуск -> Выполнить -> cmd -> ipconfig -> Жмите enter). Допусти адрес 192.168.1.8. В папке с нужным сайтом (/home/mysite.tst/www) создайте файл .htaccess и напишите в нем следующую строку #dnwr_ip   192.168.1.8. Перезапустите Denwer и попробуйте на этом же ноутбке в браузере набрать ip 192.168.1.8. Вы должны будете увидеть тот же сайт, что и по адресу mysite.tst. Конечно же, имя сайта будет у каждого своё. Если сайт по ip показался, то всё хорошо и можно продолжить. Если появилась ошибка Internal Server Error, то возможно вы забыли символ решетку (#) вначале той самой строки для .htaccess. Проверьте.
Дальше, чтобы сайт работал по сети нужно сделать следующее:
на нужном компьютере в сети (либо на всех), при условии, что сеть работает исправно, надо открыть с администраторскими правами на редактирование файл c:\Windows\system32\drivers\etc\hosts и добавить туда строку вида 192.168.1.8   mysite.tst и сохранить. Если сделалил всё верно, то на этом компьютере должен открыться сайт, который работает на другом компьютере под Денвером.

И будьте внимательны, разработчики Denwer не рекомендуют использовать его для организации веб-серверов.
Для того, чтобы сайт при статическом ip на роутере мог быть виден извне необходимо пробросить порты на роутере. Это отдельная история.

18 коммент.:

fgfgfgfgfg комментирует...

А правильно ли я понимаю, что если я повторю действия, описанные в вашей статье, то мой сайт будет недоступен извне?

Т.е. я хочу чтобы он был доступен только по локальной сети, а компы, которые не принадлежат локальной сети не смогут просматривать сайт никаким способом

GIN комментирует...

То что описано в статье позволит сделать так, что бы сайт, работающий под Денвером на одной машине, был виден на другой. А использовать Денвер как полноценный веб-сервер вообще крайне не рекомендуется. Поэтому я не могу сказать что будет в Вашем случае. Но то что описано в статье не должно влиять на доступность сайтов из вне.

Анонимный комментирует...

Все это конечно хорошо, но как быть если в компании более 1000 компьютеров? не будете же Вы на каждом править hosts?

В моем случае надо сделать так, чтобы, сайт был виден всем пользователям, а их более 1000, причем виден он должен быть только локально и по имени домена а не по IP (т.е. не 192.168.1.3 а site.lan)

Сейчас на сервере стоит Денвер3.
Как мне реализовать это, до того как будет готов Web-сервер

GIN комментирует...

Средствами Денвера тут не обойтись. Надо настроить DHCP и DNS на вашем сервере. Вот, прочтите очень хорошую статью про настройку http://blog.saturnlaboratories.co.za/archive/2007/01/01/howto-ubuntu-home-lan-server

Анонимный комментирует...

На сервере все настроено, и DHCP и DNS, только сервер не Linux-овый, а Win2003

GIN комментирует...

Если сервак еще и домен-контроллер, то, вроде бы, можно политиками автоматом всем компам в сети устанавливать какие адреса можно обслуживать локально, не выглядывая наружу в инет. Таким образом все 1000 компов по адресу serv.local будут видеть ваш внутренний сайт.
Я, конечно, могу и ошибаться, админил я очень давно.

Анонимный комментирует...

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

vip-comp911.ru комментирует...

Спасибо помогло!!!!

Анонимный комментирует...

Спасибо!

Евгений комментирует...

Помогите плиз! Настраиваю все как написано, но сайт в сети отображается не правильно. Весь текст в одну колонку и нет картинок совсем. В чем проблема?!

GIN комментирует...

Евгений, попробуйте воспользоваться Firebug и посмотрите что происходит с картинками, почему они не грузятся. Если код ответа отличен от 200, то надо смотреть детальней что не так.

Евгений комментирует...

[17:47:20.631] GET http://10.101.2.233/ [HTTP/1.1 200 OK 453мс]
[17:47:21.089] GET http://localhost/wp/wp-content/themes/twentyeleven/style.css [undefined 3297мс]
[17:47:21.096] GET http://localhost/wp/wp-content/themes/twentyeleven/images/headers/chessboard.jpg [undefined 1218мс]

GIN комментирует...

Евгений, извиняюсь, что долго не отвечал. Суть в том, что у вас стоит WP, которому вы указали localhost как место установки. Соответственно на том компьютере, где вы открываете сайт картинки по абсолютному пути не смогут открыться.

Евгений комментирует...

Пождскажите где и что мне нужно прописать?

GIN комментирует...

Евгений, боюсь вам надо копаться в коде темы WP, именно в ней прописываются абсолютные пути. А картинки в текстах постов можете делать уже с относительными путями, проблем не будет.

Евгений комментирует...

Спасибо за помошь! Истина как и всегда оказалась где то рядом. Помимо действий из инструкции:
Параметры --> Общие --> Меняем "http://localhost/wp" на "http://ВАШ_хост".
Может кому пригодится.

Unknown комментирует...

Спасибо помогло!

Вячеслав комментирует...

сделал все как написано. Когда пытаюсь зайти на сайт полокалке вижу сообщение:
Error: Database connection failed
It is possible that the database is overloaded or otherwise not running properly.
The site administrator should also check that the database details have been correctly specified in config.php

Ошибка: сбой подключения к базе данных
Возможно, что база данных перегружена или в противном случае не работает должным образом.
Администратор сайта также должен проверить, что данные базы данных были правильно указаны в файле config.php

Copyright © 2010 WEB IT blog