Open server, ограничение на работу с файлом hosts
В случае, если у вас есть ограничение на работу с файлом c:\windows\system32\drivers\etc\hosts вы должны запускать Open Server от имени Администратора, для этого необходимо выйти из Open Server-а, вызвать контекстное меню на ярлыке запуска и выбрать "Запуск от имени администратора".
Запуск Open Server от имени администратора
Более подробно про этот момент написано в Документации к OpenServer-у:
Ограниченный режим работы OpenServer-а
Для того, чтобы упростить такой запуск, можно попробовать рецепт описанный в конце документации, про смену аттрибутов файла hosts. К сожалению мне он не помог.
Однако есть другой способ который я использую. Если это ваш домашний комп, и администратор именно Вы, тогда нужно просто запускать Open Server от имени администратора.
Прежде всего останавливаем сервера и нажимаем кнопку выйти:
Остановка и выход из Open Server
Далее заходим в папку с Open Server-ом, в моем случае это C:\Progr\OpenServer
Ищем там OpenServer.exe, вызываем на нем контестное меню и выбираем пункт "Свойства"
Свойства файла OpenServer.exe
В открывшемся окне, переходим на вкладку "Совместимость" и отмечаем чекбокс "Выполнить эту программу от имени Администратора"
Запуск от имени Администратора
После этого запускаем Open Server, в появившемся предупреждении разрешаем запуск
В ACL разрешаем запуск Open Server
Если вы хотите избавится от этого сообщения, тогда Вам необходимо погуглить на тему: Отключение UAC в Windows 7.
Вызываем в трее контекстное меню Open Server-а и смотрим наличие наших доменов
Список доступных доменов Open Server
Собственно именно этот вариант и сработал для меня 🙂
Похожие статьи43 комментария
1. Надо разобраться, почему не добавляется папка домена: - найди где находится папка localhost (можно поиском по названию папок в папке Openserver) - там же создай папку, например sandr - внутрь положи файлик index.html с содержимым: Hello world 2. В настройках, выбери "ручной режим" (или как-то так), укажи имя домена (например: sandr.loc) и созданную папку (sandr) 3. Попробуй сохранить и перезапустить веб-сервер, чтоб настройки вступили в силу. 4. Попробуй зайти на http :// sandr.loc, если не запустится, проверь есть ли запись в файле hosts (полный путь смотри в комментариях) 5. Если записи там нет, то нужно либо дать права на запись в этот файл, либо добавить вручную: 127.0.0.1 sandr.loc
Вроде телнетом могу достучаться до сервера по 80 порту. Добавил строку с адресом в файл hosts, но теперь ситуация не особо изменилась. на локалхосте так же все хорошо, а с ноутбука в той же сети при обращении на сайт получаю 404 not found от Open Server, в какую сторону теперь копать?
Я поменял порт на 8080, чтоб он поднялся. И все OK. Но все домены открываются если добавить :8080, т.е домен:8080
Вот Просмотр логов 2014-04-29 09:58:50 -------------------------------------------- 2014-04-29 09:58:50 Начало процедуры запуска сервера 2014-04-29 09:58:51 Обновление Hosts файла 2014-04-29 09:58:51 Обновление конфигурации MySQL-5.5.37 2014-04-29 09:58:51 Обновление конфигурации Sendmail 2014-04-29 09:58:51 Обновление конфигурации PHP-5.3.28 2014-04-29 09:58:51 Обновление конфигурации PHPMyAdmin 2014-04-29 09:58:51 Обновление конфигурации Apache-2.2.27 2014-04-29 09:58:51 Запуск MySQL-5.5.37 2014-04-29 09:58:51 Запуск Apache-2.2.27 2014-04-29 09:58:51 Проверка состояния сервера 2014-04-29 09:59:02 Веб-сервер успешно запущен!
Что пишет OpenServer в "Основной" лог?
**посмотреть можно так: Правой кнопкой на флажок > Просмотр логов > Вкладка "Основной"
Хорошо подробно и понятно расписано. А почему в разных браузерах разная реакция?
Chrom (Версия 33.0.1750.117 m): 1)localhost - работает; 2)Открыть файл (index.php) - не работает; 3)127.0.0.1 - не работает.
Mozilla Firefox (Версия 3.6.13): 1)localhost - работает; 2)Открыть файл (index.php) - работает; 3)127.0.0.1 - не работает.
Конкретней как надо открыть 127.0.0.1, чтобы заработал ? И можно получить ваши контакты для дальнейшего общения?
Если у тебя по адресу 127.0.0.1, пустая страница - значит все работает. Если броузер показывает, что страница не найдена, то всего скорее у тебя localhost работает на другом адресе. Попробуй открыть консоль: Пуск->Выполнить->cmd.exe и пропинговать адрес localhost: ping localhost Возможно, вывод будет что-то типа: 127.0.0.15 Тогда тебе этот адрес и надо использовать, либо разбираться почему используется именно он.
Теперь про пустую страницу - все домены расположены на одном и том же адресе, поэтому когда ты будешь обращаться по прямому адресу, веб-сервер не будет знать какой все таки выбрать. Это поведение настраивается в конфигурации веб-сервера (nginx или apache), тебе надо копать в эту сторону.
Кроме того, возможно просто OpenServer не может писать в файл hosts. Вот тут: Open Server, создание домена, базы данных и простого приложения на php мы это обсуждали в комментариях, там же описание решения проблемы (последние 5-6 комментариев снизу).
По поводу контактов, лучше пиши в комментариях. Во-первых это возможно поможет еще кому-то решить его проблему, во вторых я много работаю, поэтому заниматься чужими проблемами мне чаще всего некогда. Однако, я в свободное время с радостью отвечу на комментарии. Так что пиши сюда.
Я думаю смогу тебе помочь:
1) Тебе нужно разобраться для чего служит файл hosts. Это не сложно, поэтому попробую объяснить. Любые введенные адреса в браузере (например google.com) транслируются в ip адрес (например 173.194.71.101) соответственно, дальнейшие запросы идут именно на него. Эту трансляцию, осуществляет, так называемый днс сервер, он располагается у твоего провайдера.
Теперь вернемся к нашей ситуации, нам необходимо чтобы запросы шли на наш компьютер, а не на чужой. Для этого придумали, так называемый интерфейс обратной петли, который всегда имеет адрес 127.0.0.1. Другими словами, если ты хочешь обратиться к своему компьютеру, ты просто можешь использовать адрес http://127.0.0.1.
Но мы же хотим заходить по адресу из букв, например http://serega.dom, для этого нам необходимо связать свой ip адрес, с этим доменом. Это может сделать твой провайдер, на своем днс-сервере, однако чаще всего такой услуги не предоставляют, поэтому нам необходимо сделать это самим на своей машине.
Когда-то очень давно, не было серверов-преобразователей (dns серверов), поэтому все адреса прописывались в файле hosts, к счастью эта возможность осталась. Поэтому ей и воспользуемся.
Нам необходимо чтобы, когда ты введешь адрес http://serega.dom, он транслировался в ip адрес 127.0.0.1, поэтому так и добавляем в файл hosts: 127.0.0.1 serega.dom 127.0.0.1 www.serega.dom и сохраняемся, все можно открывать браузер и проверять (разумеется надо запустить/перезапустить выбранный веб сервер - Open Server или Denwer).
Думаю алгоритм понятен: придумываешь имя, добавляешь его в формате: 127.0.0.1 имя-домена.ком 127.0.0.1 www.имя-домена.ком
Так же, что касается твоего вопроса - для Open Server, содержание файла hosts, будет точно в таком же формате. Однако, само содержимое может быть разным, например я, у себя, не буду создавать запись для домена serega.dom, т.к. она мне не нужна. Именно поэтому, если ты его просто скопируешь у меня или у друзей, у тебя ничего не заработает. Нужно составлять свой.
Поэтому поступаешь так: создаешь папку домена в директории с OpenServer, например: serega.dom и дальше его добавляешь в файл hosts: 127.0.0.1 serega.dom 127.0.0.1 www.serega.dom перезагружаешь Open Server и все должно работать.
Так же обрати внимание, что в файл hosts домены необходимо писать БЕЗ протокола (т.е. без http: //). Вот эти записи в твоем примере не правильные: 127.0.0.1 http://www.subdomain.localhost 127.0.0.1 http://www.subdomain.test1.ru 127.0.0.1 http://www.Tools.localhost 127.0.0.1 http://www.localhost 127.0.0.1 http://www.test1.ru 127.0.0.2 http://www.custom
**Возможно, http://www просто добавил парсер комментариев моего сайта, но на всякий случай, проверь у себя!
Если у тебя останутся вопросы, спрашивай, в комментариях.
2) Возможно ты просто захочешь отключить в настройках Авиры блокировку файла hosts. В 12 версии, делается это так: Настройки > Общее > Безопасность > Защита системы > > Защитить хост-файл Windows от изменения (снять чекбокс и нажать "OK")