X

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

Собственно именно этот вариант и сработал для меня 🙂

Категории: OpenServer Сервера
Тэги: hostsopenserver

Комментарии (41)

  • пока не написал домен и имя папка- то к папке hosts не было доступа у openserver

  • Никакие действия не помогли. Что только не делал. И атрибуты изменял, и под админом заходил, и менял доступы к файлу, и антивирус отключал. Бесполезно. Вся работа просто повисла.
    Система win-10

    • Привет, по Win 10 не подскажу, когда она только вышла, в ней было слишком много всякого ненужного дерьмища и я ушел на линукс, желания вернуться нет никакого. Для того, чтобы быстро продолжить работу, советую второй системой поставить linux и в нем поднять нормальный веб-сервер и не мучаться. Ну, или если совсем нет времени или есть зависимость от винды (например ide), установить виртуальную машину и в ней уже все настроить. А если найдешь решение своей проблемы и будет немного свободного времени, напиши сюда как решил, думаю многим поможет!

  • Статья ниочем. Не помогает. Помогло применение аттрибутов к файлу hosts как указано в руководстве.

    • В третьем абзаце статьи, написано о том, что начать стоит с применения аттрибутов, но в моём случае это не помогло. Если у тебя сразу все заработало так, как описано в справке, то не понятно что ты забыл здесь.

  • Спасибо, получилось, все просто но эффективно

  • Спасибо. Все получилось. Просто не пропускал такое название домена Repair and build почему-то.

  • Спасибо. Сделал как Вы сказали. Получилось.
    Но у меня есть макет сайта для Wordpress, создана папка там же, где находится и папка localhost, и вот этот домен Openserver не видит.

    • Не знаю, что ты имеешь ввиду под макетом для WP. Если это набор статических файлов (куча *.html + картинки), то их достаточно положить в ранее созданую папку (sandr) и зайти по адресу sandr.loc. Если это тема для Wordpress, тогда надо скачать Wordpress разархивировать его в папку (sandr), потом зайти по адресу sandr.loc, произвести установку Wordpress. После этого взять файлы темы и скопировать в папку /sandr/wp-content/themes/[название-темы] и потом активировать тему в админке, по адресу sandr.loc/wp-admin/ . Но это к Openserver-у не имеет отношения.

  • Когда добавляю папку домена в ручную, появляется вот такая запись
    Недопустимое значение для поля: Папка домена

    • Привет!

      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

      Примерно так.

  • 2016-07-25 23:20:28 --------------------------------------------
    2016-07-25 23:20:28 Начало процедуры запуска сервера
    2016-07-25 23:20:29 Обновление Hosts файла
    2016-07-25 23:20:29 Обновление конфигурации MySQL-5.5
    2016-07-25 23:20:29 Обновление конфигурации Sendmail
    2016-07-25 23:20:29 Обновление конфигурации PHP-5.3
    2016-07-25 23:20:29 Обновление конфигурации PHPMyAdmin
    2016-07-25 23:20:29 Обновление конфигурации Apache-2.2
    2016-07-25 23:20:29 Запуск MySQL-5.5
    2016-07-25 23:20:29 Запуск Apache-2.2
    2016-07-25 23:20:29 Проверка состояния сервера
    2016-07-25 23:20:30 Cервер успешно запущен за 1,469 секунд!

  • Здравствуйте. openserver не видит домены, только localhost, что только не пробовал, ничего не выходит. Подскажите, что не так?

  • да и после энтого не стоит заморачиваться с изменением файла хостс

  • ребятки отключаем антивирусник! или в нём корректируем права пользования( если такая возможность есть) у меня в касперском присутстует! и ву-аля всё работает!

  • А как настроить Open server чтобы можно было подключаться с локальному сайту с других ПК в локальной сети? Развернул опен сервер, установил crm-ку. Локально все замечательно работает по 80 порту. Но с другого ноутбука из той же сети не могу достучаться до сайта. Проверял телнетом до сервера OpenServer, не могу достучаться телнетом. Фаерволы все потушил. Причем телнетом на сервак с OpenServer по другому порту например спокойно стучусь.

    • Привет, я уже очень давно, не работал с Openserver, поэтому не ручаюсь за точность информации на сегодняшний день. Но, если там все осталось без изменений, тогда тебе надо в настройках, указать на каком ip будет работь веб-сервер. По-умолчанию, там стоит 127.0.0.1, тебе надо поставить либо чтобы работал на всех ip, либо указать адрес твоего пк в локальной сети (например 192.168.1.5). Дальше, если все заработает (имеется ввиду коннект telnet-а, по ip на 80 порт), то на втором компе надо не забыть, прописать в hosts соответствующую запись, чтобы можно было заходить по адресу сайта.

      • Виталий, спасибо!

        Вроде телнетом могу достучаться до сервера по 80 порту. Добавил строку с адресом в файл hosts, но теперь ситуация не особо изменилась. на локалхосте так же все хорошо, а с ноутбука в той же сети при обращении на сайт получаю 404 not found от Open Server, в какую сторону теперь копать?

        Заранее благодарю!

        • Виталий, еще раз спасибо! Вопрос не актуален :). Разобрался. Некорректно вносил записи в hosts.

  • Можно устанавливать в папку C:\Users\Public. Оттуда все запускается без заморочек с правами администратора.

    • Основная проблема не с запуском Opneserver а с файлом hosts. Файл hosts - стандартный файл Windows который лежит в папке c:\Windows\System32\drivers\etc\. Если ты знаешь как его оттуда перенести, чтобы система перестала проверять права на нем, сообщи пожалуйста! На мой взгляд, это не возможно - в любом случае придется играться с правами на него.

  • запустила сегодня опен сервер, добавила свой первый сайт в домен, даже посмотрела через браузер. а вот сейчас запустила сервер и ничего уже не показывает, браузер пишет страница не найдена, localhost просто белая страница. Обидно так, два дня мучаюсь, пытаюсь понять как это все работает. Виталий, помогите пожалуйста найти ошибку.

  • А все остальные домены страничку IIS открывают, как не крути. На других win-нах таких проблем не было

    • Отключи IIS, всего скорее Openserver не может подняться на 80 порту потому что он занят.

      • Я поменял порт на 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 Веб-сервер успешно запущен!

        • Так и есть, по умолчанию браузеры сами дописывают порт, т.е. когда ты запрашиваешь домен: mysite.com, браузер его автоматически трансформирует в http://mysite.com.:80
          Соответственно, после того как ты поменял порт на 8080 браузер не может об этом знать.
          Тебе надо выяснить что занимает 80 порт, обычно это другой веб-сервер или skype. Отключить их, чтобы освободился 80 порт. Потом переключить Openserver на 80 порт и перезагрузить его. После его успешного старта, сайты должны быть доступны по адресу без указания порта.

  • Добрый день всем. У меня проблема, не могу ни как настроить. Только так localhost::8080 открывается, по другому ни как! Все вышесказанное перепробовал. У меня Win8

    • Привет!

      Что пишет 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 комментариев снизу).

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

  • У кого нормально работает на win7 Можите выложить содержание вашего файла hosts ?
    Просто я чайник и никак не могу запустить на win7. Удалось запустить Денвер. Случайно нашёл в интернете содержание файла hosts для работающего денвера
    //----------------//
    127.0.0.1 localhost
    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 subdomain.localhost
    127.0.0.1 subdomain.test1.ru
    127.0.0.1 Tools.localhost
    127.0.0.1 http://www.localhost
    127.0.0.1 http://www.test1.ru
    127.0.0.2 custom-host
    127.0.0.2 http://www.custom
    127.0.0.1 test1.ru
    127.0.0.2 custom
    //-------------//
    Плюс надо ещё анивирус отклюяать (у меня Avira). Может есть что подобное для Open server ? Поделитесь своим содержанием файла hosts для Open Server. Может он будет работать без отключения антивиря.

  • Привет Сергей!

    Я думаю смогу тебе помочь:

    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")

    Если у тебя другая версия, напиши её в комментариях и я попробую помочь.

    P.S. Файл hosts в Windows находится здесь:
    C:\Windows\System32\Drivers\etc\hosts

    • Добрый день,
      все попробовала сделать как описано и все равно выходит ошибка "Не удается найти DNS-адрес сервера..."
      вот что я добавила:
      # имя-домена name resolution is handle within DNS itself.
      # 127.0.0.1 имя-домена.ru
      # ::1 имя-домена.ru
      # 127.0.0.1 http://www.имя-домена.ru
      # ::1 http://www.имя-домена.ru

      • Привет, в hosts Надо писать без протокола, только имя домена. В твоем случае, надо убрать решетку, в начале строки. Решетка, это знак комментирования. Т.е. должно быть так

        # стандартные настройки
        127.0.0.1 localhost
        ::1 localhost

        # мои настройки
        127.0.0.1 alexandra.ru
        127.0.0.1 http://www.alexandra.ru

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

        ping alexandra.ru

        пинги должны идти, если с этим все ок, то дальше создаешь домен в openserver с именем alexandra.ru, перезапускаешь openserver и можно открывать адрес в браузере.

    • можно для новичка поподробнее- как добавить домен в файл hosts?

1 2