- Доступ к Денверу из локальной сети или Интернета
- Определение вашего IP-адреса
- Настройка межсетевого экрана (брандмауэра, фаервола) Windows
- Простой способ открытия сайта наружу
- Другой способ назначения IP-адреса сайту
- Предупреждение службы безопасности
- Не могу настроить денвер
- Что такое denwer
- Принцип работы Denwer
- Почему denwer не работает
- Порты Denwer
- Denwer не работает localhost
- Устанавливаем Денвер
- Подготовка к работе с сетью
- Установка дистрибутива
- Первый запуск Денвера
- Работа с виртуальными хостами
- Воюем с Контроллером удаленного доступа
- Воюем с прокси-сервером
- Решение проблем
Доступ к Денверу из локальной сети или Интернета
Можно ли настроить систему, чтобы сайты, расположенные на локальном компьютере, были доступны всем пользователям локальной сети, к которой я подключен, или же даже из Интернета.
Проекты, заведенные в Денвере, по умолчанию не доступны из локальной сети. Это достигается благодаря тому, что все виртуальные хосты имеют IP-адрес 127.0.0.1 , всегда обозначающий «текущая локальная машина».
Тем не менее, все же существует возможность назначить тому или иному виртуальному хосту «внешний» IP-адрес, доступный из вашей локальной сети или даже Интернета (если компьютер имеет постоянный IP-адрес в Интернете).
Помните: Денвер — это инструмент разработчика, а не средство хостинга. Несмотря на то, что проекты в Денвере можно открыть для всеобщего доступа, мы категорически не рекомендуем это делать. Дело тут в безопасности: Денвер, как правило, запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на машине все, что угодно. Малейшая «дыра» в безопасности скрипта откроет хакеру доступ к вашей машине.
Авторы Денвера не несут ответственности за любые разрушения, причиненные хакерами тем, кто открыл Денвер наружу и по неосторожности допустил в своих скриптах уязвимость в безопасности.
Определение вашего IP-адреса
Для начала следует узнать, какой IP-адрес назначен вам в локальной сети или Интернете. Проще всего это сделать, открыв Командную строку Windows и набрав там:
Вы увидите что-то типа следующего:
В данном случае внешний IP-адрес машины в локальной сети — 192.168.0.49 . В списке могут быть перечислены сразу несколько сетевых интерфейсов (если ваш компьютер оборудован несколькими сетевыми картами или беспроводными устройствами). В этом случае вам нужно определить, какой из интерфейсов является внешним, доступным из локальной сети. (IP-адреса, начинающиеся с 192.168 или 10 , зарезервированы только для доступа из локальной сети, но не из Интернета. Т.е. они являются «приватными».)
Настройка межсетевого экрана (брандмауэра, фаервола) Windows
В большинстве Windows-систем встроенный (либо установленный вами вручную) межсетевой экран или антивирус блокируют подключения с внешних машин к текущей. Это сделано по соображениям безопасности. Конечно, в случае, если вы открываете сайт наружу, эту блокировку следует отключить, в противном случае сайт никто не увидит.
Наша цель — разрешить Windows подключения к порту 80 (протокол HTTP) вашего IP-адреса 192.168.0.49 , на котором будет «висеть» Apache. Приведем инструкции, как это сделать в Windows XP:
- Откройте Пуск — Панель управления, выберите Брандмауэр Windows.
- Перейдите на вкладку Исключения.
- Нажмите кнопку Добавить порт, в поле Имя введите ваш IP-адрес, а в поле Номер порта укажите 80.
Если вы устанавливали свой собственный брандмауэр или антивирус, то, конечно, вам придется обратиться к их документации.
Простой способ открытия сайта наружу
Предположим, ваш IP-адрес равен 192.168.0.49 , как в примере выше. Самый простой способ заставить Денвер открывать по адресу http://192.168.0.49 определенный сайт — это расположить документы сайта в директории:
Да, имя директории содержит точки! Не забудьте также перезапустить Денвер.
Более того: если ваш провайдер выдал вам не только IP-адрес, но также и связанное с ним доменное имя, то сайт будет сразу же доступен по этому доменному имени. В случае статического IP-адреса домен выдается почти всегда, вам лишь нужно узнать его у провайдера. Например, если ваше доменное имя равно abcd.ints.ru (провайдер Корвет-Телеком НЭКСТ), то сайт будет доступен по адресу http://abcd.ints.ru .
Другой способ назначения IP-адреса сайту
Если у вас уже имеется виртуальный хост в Денвере и вы не хотите переименовывать его директорию документов, то вы можете назначить сайту свой собственный IP-адрес и сделать его доступным снаружи. Предположим, что ваш хост хранится в директории /home/mysupersite/www . Чтобы назначить ему IP-адрес 192.168.0.49 , необходимо создать файл /home/mysupersite/.htaccess и добавить в него строчки:
Перезапустите Денвер. Проверьте, что по адресу http://192.168.0.49 (вместо 192.168.0.49 , конечно, нужно подставить ваш собственный IP-адрес) открывается ваш сайт /home/mysupersite/www .
Предупреждение службы безопасности
Напомним еще раз, что Денвер — это не законченный и надежный Web-сервер, это — всего лишь инструмент, позволяющий отлаживать (тестировать) сайты, «не выходя из дома». Любая попытка использовать его в других целях может быть небезопасна.
Вообще, настроить можно все, что угодно, другое дело — нужно ли это. Помните, что открытый для окружающего мира Web-сервер представляет потенциальную уязвимость в защите вашей машины. Например, злоумышленник может проникнуть через не до конца отлаженный скрипт. Т.к. Денвер запускается с правами Администратора (то есть, с максимальными правами в системе), то любой скрипт, даже самый маленький, может делать все, что ему заблагорассудится. Давайте предположим, что вы написали вроде бы безобидный скрипт test.pl , который делает следующее:
Программа, казалось бы, просто печатает содержимое файла, указанного в параметре fname . Например, http://localhost/cgi/test.pl?fname=test.pl напечатает исходный код программы. Однако нетрудно заметить, что вызов open в таком виде небезопасен. Например, зайдя по адресу /cgi/test.pl?fname=|dеl+/s/q+c:\windows , в программе будет выполнено:
Это приведет к немедленному уничтожению всей директории Windows!
Возможно, вы скажете, что localhost — на то и localhost , чтобы работать лишь с текущей машины. Если вы открыли доступ наружу по инструкции, приведенной выше, то все именно так. Тем не менее, в случае неправильной настройки Apache можно проникнуть на localhost и извне (если сервер открыт). Это делается очень просто:
Вывод: если у вас нет значительного опыта в администрировании серверов, установка Web-сервера, доступного извне, может быть опасной. Это особенно относится к счастливым обладателям выделенных каналов в Интернет. Одно неверное движение, и однажды утром вы проснетесь с только что отформатированным жестким диском (в лучшем случае).
Источник
Не могу настроить денвер
Добрый день уважаемые читатели в прошлый раз мы с вами разобрали вопрос о ошибке: запуск этого устройства невозможен. (код 10) в Windows, к сожалению данная операционная система не идеальна и не лишена недостатков, которые могут препятствовать в функционировании различных программ. Сегодня мы с вами разберем вопрос, почему не работает denwer в Windows 10 и других версиях и как этого избегать в будущем.
Что такое denwer
Если кто-то еще не в курсе, что такое денвер, то давайте это исправим. Denwer > это программный комплекс, задачей которого является реализация на локальном компьютере:
- Web сервера
- Сервера баз данных
В состав denwer входят вот такие программы:
В 98 процентах denwer работает после установки у всех, но из-за различных сборок Windows или других вещей, о которых мы поговорим, вы можете попасть в 2 процента и у вас не работает denwer.
Принцип работы Denwer
Еще немного теории для новичков, так как я всегда перед тем как чем-то управлять стараюсь разобраться как это работает, и на мой взгляд это очень правильно, так как эти знания помогут понять почему не работает denwer в системе.
И так программы, которые у вас установились в нем вы видели. Принцип тут такой за счет службы Apache и баз данных MySQL вы можете установить вордпресс на денвер, поместив дистрибутив в каталог сайта и создав БД и все локально в рамках вашего компьютера.
И так есть папка C:\WebServers\home, по умолчанию это она. В ней вы будите создавать папку с адресом сайта, по которому вы хотите, чтобы отвечал сайт. При установке там уже есть папка test1.ru
Если вы откроете этот адрес в браузере, то увидите вот такой ответ, означающий, что сайт работает и страница index.html открылась корректно.
Как только вы создаете новую папку с адресом, вы перезапускаете Denwer, делается это для того, чтобы, он изменил содержимое файла hosts. Именно в файл hosts он добавляет записи о ваших адресах из папки home и линкует их на ваш локальный компьютер. Вот его содержимое. Как видите, доменное имя test1.ru ссылается на ip адрес вашего локального компьютера 127.0.0.1
Сделано это специально, для того, чтобы открыв браузер и обратившись по данному адресу вы попали к себе, а не наружу. Файл hosts для операционной системы Windows является более приоритетным, чем DNS сервер.
Думаю общий принцип работы вам ясен, тем более в статье про установку денвера я все подробно рассказал. Давайте разбираться, что может быть, если не работает denwer.
Почему denwer не работает
Отвечая на вопрос почему denwer не работает, можно выделить вот такие причины:
- Не доступны порты
- Не получается отредактировать файл hosts
- Не работает Apache
Ниже я подробно расскажу, как решается каждая из этих проблем.
Порты Denwer
Для успешной работы денвера, нужно, чтобы порт 80, так как по умолчанию denwer использует его. Именно из-за него в denwer не работает apache, так как орт просто кем, то занят.
[info]Я вам подробно рассказывал как определять какие программы случают у вас порты на компьютере, это было в статье про утилиту netstat и утилиту TCPView[/info]
И так если у denwer не запускается apache, проверьте вот какие вещи. При установленном на компьютере Skype, отсутствие вот такой галки: Использовать порты 80 и 443 для дополнительных входящих соединений. Найти ее можно в пункте Инструменты > Настройки
пункт Дополнительно > Соединение. Снимайте галку: Использовать порты 80 и 443 для дополнительных входящих соединений.
Кстати, даже после установки денвера, у вас откроется окно браузера в котором вам, так же апомнят про порты Denwer.
Если у вас после этого по прежнему не работает apache в Denwer, проверяем не занимает ли этот порт служба Internet Information Services (IIS). В диспетчере задач она может называться служба W3SVC (World Wide Web Publishing Service. IIS быстро находится с помощью TCPView. Если IIS вам не нужна то удалите ее, если нужна просто поменяйте в ней порт или выключите службу.
Удалить IIS можно в Панели управления > Программы и компоненты > Включение или отключение компонентов Windows, убедитесь, что не стоит галка Службы IIS.
Если у вас до сих пор не работает denwer, проверьте не блокирует ли его ваш антивирус. Так как в них есть встроенная функция firewall и убедитесь, что в брандмауэр открыт 80 порт. Открываем панель управления > Брандмауэр Windows.
Далее дополнительные параметры.
И в Правилах входящего трафика смотрим нет ли запрещающих правил, для 80 порта.
Думаю с вопросом, почему в denwer не запускается apache мы с вами разобрались, давайте рассматривать другие причины.
Denwer не работает localhost
Бывают случаи, когда денвер не может прописать в файле hosts локальную привязку, в следствии чего у вас в denwer не работает localhost, а это очень критично. Даже при установке вам должны вывести вот такое окно
Тут ключевыми словами выступают Success: the hosts file is marked as writable. что успешно удалось отредактировать его. Во первых удостоверьтесь, что вы работаете с учетной записью, у которой есть административные права. Проверить это легко, нажмите WIN+R и введите в окне выполнить lusrmgr.msc.
Откройте группы и найдите в списке Администраторы, щелкните по ней двойным кликом и удостоверьтесь, что ваша учетная запись тут присутствует.
Если вы администратор, то еще может препятствовать работе denwer, UAC (контроль учетных записей), в этом случае я вам советую скопировать файл hosts себе на рабочий стол из C:\Windows\System32\drivers\etc, отредактировать, а потом заменить им старый файл с заменой.
Если вылезет окно, что нет доступа к целевой папке, то жмем продолжить.
Еще бывают случаи, что нужно поправить реестр Windows, а именно открываем regedit в окне выполнить и делаем следующее:
процесс system висит на 80 порту PID 4
Надеюсь вам помогли мои методы, решения проблемы, когда не работает denwer в Windows.
Источник
Устанавливаем Денвер
Итак, вы решили установить Денвер. Он имеет нечто вроде ядра, или «сердца» — так называемый «базовый пакет», занимающий около 5.5 MB. Все остальное поставляется в виде пакетов расширений, о которых речь пойдет в других статьях (см. Содержание). Базовый пакет содержит большинство необходимых программ и утилит:
- Инсталлятор (поддерживается также инсталляция на flash-накопитель).
- Apache, SSL, SSI, mod_rewrite, mod_php.
- PHP5 с поддержкой GD, MySQL, sqLite.
- MySQL5 с поддержкой транзакций.
- Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home , править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить.
- Система управления запуском и завершением всех компонентов Денвера.
- phpMyAdmin — система управления MySQL через Web-интерфейс.
- Эмулятор sendmail и SMTP-сервера (отладочная «заглушка» на localhost:25 , складывающая приходящие письма в /tmp в формате .eml ); поддерживается работа совместно с PHP, Perl, Parser и т.д.
Подготовка к работе с сетью
Чтобы сразу расставить все точки над «ё», давайте убедимся, что ваш компьютер действительно настроен для работы с сетью. Обычно именно так и бывает по умолчанию, но все же.
Итак, самый простой тест: откройте Пуск — Выполнить и введите там команду:
После нажатия Enter вы должны увидеть примерно следующую картину:
Процесс продолжается несколько секунд. Если вы это видите, то все в порядке, и вы можете приступать к инсталляции дистрибутива. Если же, например, окно лишь «мигнет» (откроется и тут же закроется), либо же будут выведены какие-нибудь нелицеприятные сообщения, значит, сетевые протоколы у вас не установлены, а потому читайте дальше.
Вы, наверное, уже поняли, что ваша задача сейчас — добиться, чтобы адрес 127.0.0.1 «пинговался». В случае проблем:
- Пользователям Windows 98/ME необходимо зайти в Панель управления — Установка и удаление программ — Установка Windows и добавить там Удаленный доступ к сети. При этом автоматически установятся и все нужные протоколы.
- Пользователям Windows 2000, XP, 2003, Vista, Windows 7 и т.д. — проверить, что команде ping не мешает установленный вручную антивирус или фаервол. Попробуйте отключить эти программы: если помогает, то нужно разбиратся с их настройками.
Установка дистрибутива
Запустите скачанный инсталлятор Денвера. Вы увидите перед собой нечто вроде следующего:
Вас спросят о том, в какой каталог вы хотели бы установить комплекс (по умолчанию используется C:\WebServers , вам нужно лишь нажать Enter , чтобы согласиться с этим выбором). В указанном каталоге будут расположены абсолютно все компоненты системы, и вне его никакие файлы в дальнейшем не создаются (исключая ярлыки на Рабочем столе).
Далее вам предложат ввести имя виртуального диска, который будет связан с только что указанной директорией. Рекомендуем вам согласиться со значением по умолчанию ( Z: ). Важно, что диска с этим именем еще не должно содержаться в системе — чаще всего так и происходит с диском Z: .
После этого начнется копирование файлов дистрибутива, а под конец вам будет задан вопрос, как именно вы собираетесь запускать и останавливать комплекс. У вас есть две альтернативы:
- Создавать виртуальный диск при загрузке машины (естественно, инсталлятор позаботится, чтобы это происходило автоматически), а при остановке серверов его (диск) не отключать. На мой взгляд, это наиболее удобный режим, и я сам пользуюсь только им.
- Создавать виртуальный диск только по явной команде старта комплекса (при щелчке по ярлыку запуска на Рабочем столе). И, соответственно, отключать диск от системы — при остановке серверов.
Собственно, вот и все. Вы сможете выполнить установку комплекса, имея всего 2 клавиши на клавиатуре: Enter и Y (чтобы ввести Yes).
Первый запуск Денвера
Наконец, установка завершена. Сразу же щелкайте по созданному инсталлятором ярлыку Start Denwer на Рабочем столе, а затем, дождавшись, когда все консольные окна исчезнут, открывайте браузер и набирайте в нем адрес: http://localhost/denwer/ . Выходить из Интернета при этом не обязательно.
Если тестовая страница все же не загрузится, проверьте:
- Отключен ли у вас прокси-сервер в настройках браузера? Подробнее здесь.
- Запущен ли Денвер? Если да, нет ли ошибок при щелчке на пиктограмме пера (справа внизу)?
- Не запущен ли у вас какой-то другой Web-сервер, который мешает Денверу (часто бывает в Windows XP)? Например, Microsoft IIS? Если да, отключите его.
Наконец, если ничего не помогает, загляните в список часто задаваемых вопросов, а затем, если проблема не решится, отправьте детальное описание ошибки в форум.
Денвер прошел тестирование в следующих ОС:
- Windows 95/98/ME;
- Windows NT/2000/XP/2003;
- Windows Vista, Windows 7.
Работа с виртуальными хостами
Если вы занимаетесь разработкой Web-сайтов, вам наверняка хотелось бы обслуживать одним сервером сразу несколько хостов. Иными словами, введя в браузере путь http://localhost , вы попадете на один сайт, а, напечатав http://test1.ru , — совсем на другой (но тоже на локальной машине).
Добавить новый виртуальный хост в Денвере чрезвычайно просто. Пусть это будет test1.ru . Вам нужно проделать следующее:
- Создать в папке /home директорию с именем, совпадающим с именем виртуального хоста (в нашем случае test1.ru ). Да-да, вы правильно поняли: имя директории содержит точку. Эта директория будет хранить директории документов доменов третьего уровня для test1.ru . Непонятно. Например, имя abc.test1.ru связывается сервером с директорией /home/test1.ru/abc/ , а имя abc.def.test1.ru — с /home/test1.ru/abc.def/ . Ну и, конечно, поддиректория www соответствует адресам www.test1.ru и просто test1.ru . В общем, дешево и сердито. На рисунке показано, как может выглядеть директория /home . Не забудьте создать папку www в директории виртуального хоста, ведь именно в ней будут храниться его страницы и скрипты!
- Перезапустить сервер, воспользовавшись, например, ярлыком Restart Denwer на Рабочем столе.
Это все, что нужно сделать. А где же, вы спросите, модификация httpd.conf и файла hosts . Ее просто нет. Файл httpd.conf вообще не меняется никогда. Чуть посложнее с файлом hosts : он модифицируется автоматически, подстраиваясь под текущую конфигурацию каталогов в /home . При этом используется весьма интеллектуальный алгоритм для распознавания, какие хосты были внесены Денвером, а какие пользователь добавил самостоятельно, вручную (если он, конечно, захочет это сделать). То есть, автоматическое изменение файла hosts еще не означает, что в нем пропадут все комментарии и вы не сможете больше никогда редактировать его «руками». И, конечно, при остановке комплекса по ярлыку Stop Denwer файл hosts восстанавливается в то состояние, которое и должно быть.
Воюем с Контроллером удаленного доступа
Как только вы начнете создавать виртуальные хосты, Контроллер удаленного доступа на некоторых системах может сойти с ума. Он будет при первом открытии хоста предлагать вам альтернативу наподобие следующей:
или даже вот так:
Слава богу, это происходит не каждый раз. Видите, как он извивается, чтобы только не дать человеку поработать. Так вот, в этом случае вы должны быть тверды: всегда выбирайте Подключиться или Повторить.
Но если ваш Контроллер удаленного доступа закусил удила и на ответ Подключиться начинает яростно набирать номер на модеме, идите в Сервис — Свойства обозревателя — Подключение и в разделе Настройка удаленного доступа поставьте флажок Не использовать (или Never Dial a connection).
Воюем с прокси-сервером
Многие версии Windows поставляются со включенным по умолчанию прокси-сервером. Это может вызвать кое-какие проблемы при работе с Денвером (впрочем, легко разрешимые).
- Если после запуска Денвера страница http://localhost не работает, вероятнее всего, вам нужно отключить прокси-сервер в настройках браузера. Для «простых» хостов (вроде localhost , test , dklab и т.д.) обычно достаточно флажка «Не использовать прокси-сервер для локальных адресов» на вкладке Свойства обозревателя — Подключение — Настройка сети — Дополнительно.
- Если localhost работает, а test1.ru (и вообще хосты, имя которых состоит из нескольких частей) — нет, то, вероятно, ваш браузер не может распознать последний хост как локальный. Такое, увы, бывает. Вам необходимо либо полностью отключить прокси-сервер, либо же перечислить хосты в списке Подключение — Настройка сети — Дополнительно — Исключения.
Решение проблем
Прежде, чем кидаться задавать вопрос в форум, проверьте: возможно, ответ уже есть в списке часто задаваемых вопросов по Денверу. С вероятностью 85% так и окажется: ведь вы не первый, кто использует проект.
Если же в FAQ ответа на ваш вопрос нет, задайте его в форуме.
Источник