Как разрешить пользователям локальной сети доступ к моим сайтам WAMP?


119

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

Ноутбуки или другие устройства подключаются через беспроводной маршрутизатор.

Я пробовал:

  • Включите порт 80 на брандмауэре. ничего не произошло.
  • Run ping, ipconfigи попытался адрес IPv4 там, отказано в доступе или привести меня к VERIZON (мой ISP), маршрутизатор страницы конфигурации.
  • Пробовал конфиг Apache, был беспорядок, никогда не получал всю настройку авторизации в многочисленных сообщениях и попробовал один из многообещающих, который разбил мой WAMP, пришлось пройти через все проблемы и переустановить.

На самом деле я действительно пытался просто позволить всем пользователям, подключенным к этому беспроводному маршрутизатору, иметь доступ к моим WAMP-сайтам, размещенным на Win8.

Интересно, есть ли какие-то конкретные шаги, которые я могу пройти, чтобы заставить его работать?

WAMP 2.4 на Win8.1. На ноутбуке размещаются локальные сайты.

Ответы:


250

См. В конце этого сообщения, как это сделать в WAMPServer 3.

Для WampServer 2.5 и предыдущих версий

WAMPServer разработан как единый инструмент для разработчиков. Поэтому Apache по умолчанию настроен так, чтобы разрешать доступ только с ПК, на котором запущен сервер, то есть localhost или 127.0.0.1 или :: 1

Но поскольку это полная версия Apache, все, что вам нужно, - это немного знать, какой сервер вы используете.

Самый простой способ (молоток, чтобы сломать орех) - использовать опцию меню wampmanager «Подключить».

left click wampmanager icon -> Put Online

Однако это говорит Apache, что он может принимать соединения с любого IP-адреса во вселенной . Это не проблема, если вы не перенаправили порт 80 на своем маршрутизаторе или никогда не попытаетесь это сделать в будущем.

Более разумный способ - отредактировать файл httpd.conf (опять же с помощью меню wampmanager) и вручную изменить безопасность доступа Apache.

left click wampmanager icon -> Apache -> httpd.conf

Это запустит файл httpd.conf в блокноте.

Ищите этот раздел этого файла

<Directory "d:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
</Directory>

Предположим теперь, что ваша подсеть локальной сети использует диапазон адресов 192.168.0.?

Добавьте эту строку после Allow from localhost

Allow from 192.168.0

Это сообщит Apache, что к нему разрешен доступ с любого IP-адреса в этой подсети. Конечно, вам нужно будет убедиться, что ваш маршрутизатор настроен на использование диапазона 192.168.0.

Для этого достаточно ввести эту команду из командного окна ipconfigи посмотреть на строку с надписью « IPv4 Address.вы», а затем использовать первые 3 раздела адреса, который вы там видите.

Например, если ваш выглядел так: -

IPv4 Address. . . . . . . . . . . : 192.168.2.11

Вы бы использовали

Allow from 192.168.2

ОБНОВЛЕНИЕ для пользователей Apache 2.4

Конечно, если вы используете Apache 2.4, синтаксис для этого изменился.

Вам следует заменить ВСЕ этот раздел:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost

При этом с использованием нового синтаксиса Apache 2.4

Require local
Require ip 192.168.0

Вы не должны просто добавлять это, httpd.confэто должна быть замена.

Для WAMPServer 3 и выше

В WAMPServer 3 по умолчанию определен виртуальный хост. Поэтому приведенные выше предложения не работают. Вам больше не нужно вносить ЛЮБЫЕ поправки в httpd.confфайл. Вы должны оставить его именно таким, каким вы его нашли.

Вместо этого оставьте сервер, так OFFLINEкак эта функциональность не работает и больше не работает, поэтому Online/Offlineменю стало необязательным и отключено по умолчанию.

Теперь вам нужно отредактировать \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.confфайл. В WAMPServer3.0.6 и выше на самом деле есть меню, которое откроет этот файл в вашем редакторе.

left click wampmanager -> Apache -> httpd-vhost.conf

точно так же, как тот, который всегда существовал, который редактирует ваш httpd.confфайл.

Это должно выглядеть так, если вы не добавляли свои собственные виртуальные хосты.

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Теперь просто измените Requireпараметр в соответствии с вашими потребностями. EG

Если вы хотите разрешить доступ из любого места, замените Require localна

Require all granted

Если вы хотите быть более конкретным и безопасным и разрешать только IP-адреса в вашей подсети, добавьте такие права доступа, чтобы разрешить любому компьютеру в вашей подсети

Require local
Require ip 192.168.1

Или, если быть более конкретным

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101

1
Одна проблема. У меня есть различные локальные сайты (например, 192.168.1.1/mysite1), но как только я попытался на своем телефоне получить доступ к этому сайту, он по какой-то причине оказался неполным. Это сайт WordPress. Вы бы знали причину, по которой это произошло?
Ezeewei

1
О, я обнаружил проблему, потому что в БД эти ссылки основаны на localhost! теперь все работает отлично: D
Ezeewei

Итак, как я могу позволить ВСЕМ пользователям в сети получить доступ к устройству с запущенным сервером Wamp? Как я могу записать IP-адрес в этой конфигурации? Я использую DHCP.
Май

Если вы имеете в виду любой IP-адрес в своей подсети, то, как я уже сказал в
предыдущем

4
@RiggsFolly Я сделал это, но до сих пор не работает. 403 Запрещено.
gegobyte

66

У вас должен быть разрешен процесс Apache (httpd.exe) через брандмауэр (рекомендуется).

Или отключите брандмауэр в локальной сети (просто для проверки, не рекомендуется).

Пример с Wamp (с активированным Apache):

  1. Проверьте, публикуется ли Wamp локально, если это так, продолжайте;
  2. Панель управления доступом
  3. Нажмите "Брандмауэр".
  4. Нажмите «Разрешить приложение через брандмауэр».
  5. Нажмите "Разрешить какое-то приложение"
  6. Найдите и выберите C: /wamp64/bin/apache2/bin/httpd.exe
  7. Перезапустить вамп

Теперь откройте браузер на другом хосте вашей сети и получите доступ к серверу Apache по IP-адресу (например, 192.168.0.5). Вы можете узнать IP-адрес своего локального хоста, набрав его ipconfigв командной строке.

Оно работает


Убедитесь, что ваш сервер Wamp запущен и вы уже установили его доступность с помощью «Put Online»
Маттеус Барбоса

Очистка кеша браузера также может решить некоторые проблемы,
Маттеус Барбоса,

3
Часть брандмауэра мне помогла для Windows 10. Спасибо!
Pretty Cool

У меня уже был отключен брандмауэр Windows, поэтому я не думал, что это сработает, но добавление Apache в качестве исключения на самом деле сработало для меня. Спасибо!
Павел

@Pawel это не имеет смысла, поскольку отключенный брандмауэр игнорирует таблицы исключений и разрешает все. Убедитесь, что ваше антивирусное программное обеспечение отключено или уровень брандмауэра также отключен, чтобы выполнить чистый тест.
Маттеус Барбоза

13
go to... 
C:\wamp\alias

Внутри папки псевдонимов вы увидите некоторые файлы, такие как phpmyadmin, phpsysinfo и т. Д.

откройте каждый файл, и вы можете увидеть внутри файла, что некоторые прокомментированные инструкции даны для доступа извне, например, предоставить доступ к phpmyadmin извне, заменить строки

Require local

by

Require all granted

5

Что в итоге сработало для меня, так это то, что я нашел здесь:

http://www.codeproject.com/Tips/395286/How-to-Access-WAMP-Server-in-LAN-or-WAN

Подвести итоги:

  • установить Слушать httpd.conf:

    Listen 192.168.1.154:8081

  • Добавьте в этот раздел Разрешить от всех:

    <Directory "cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

  • Установите правило для входящего порта. Я думаю, что для меня это была самая важная недостающая часть:

Большой! Следующим шагом является открытие порта (8081) сервера, чтобы каждый мог получить доступ к вашему серверу. Это зависит от того, какую ОС вы используете. Например, если вы используете Windows Vista, выполните следующие действия.

Откройте Панель управления >> Система и безопасность >> Брандмауэр Windows, затем нажмите «Дополнительные настройки», затем выберите «Правила для входящих подключений» на левой панели, а затем нажмите «Добавить правило…». Выберите «ПОРТ» в качестве варианта из списка, а затем на следующем экране выберите протокол «TCP» и введите номер порта «8081» в поле «Определенный локальный порт», затем нажмите кнопку «Далее» и выберите «Разрешить подключение» и затем дайте этому порту общее имя и описание и нажмите Готово.

Теперь вы закончили и с открытием ПОРТА.

Далее следует «Перезапустить все службы» WAMP и получить доступ к вашей машине в LAN или WAN.


192.168.1.154 означает?
Charlesliam

1
@Charlesliam IP-адрес другой машины
CodyBugstein

1

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

У меня есть несколько компьютеров на домашнем роутере, и я работаю над некоторыми проектами для себя. Ну, я хотел посмотреть, как это выглядит на моих мобильных устройствах. Но WAMP был настроен таким образом, чтобы я мог работать только с системой разработки. Итак, я начал осматриваться и нашел эту статью, а также некоторые другие. Проблема в том, что ни один из них у меня не работал. Так что мне пришлось разобраться в этом самостоятельно.

Мое решение:

Во-первых, в файле HTTPD.CONF вам нужно добавить одну строку в конец списка того, каким устройствам разрешен доступ к вашему серверу WAMP. Так что вместо:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

сделай это:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.78

Вышеупомянутое говорит, что любое устройство, которое находится на вашем маршрутизаторе («78» - это просто произвольный номер, выбранный для этого решения. Это должно быть то, для чего настроен ваш маршрутизатор. Так что это может быть 192.168.1 или 192.168.0 или даже 192.168.254 - вы должны найти его на своем маршрутизаторе.) Теперь может получить доступ к вашему серверу.

Вышеупомянутое НЕ сделало для меня ничего - сначала. Вам нужно сделать больше. Но сначала - что делать НЕ нужно. Вам НЕ нужно менять настройку WAMP с Offline на Online. ДЛЯ МЕНЯ - изменение этого параметра ничего не дает. Неизвестно почему - просто нет. Так что измените его, если хотите - но я не думаю, что это нужно менять.

Так что еще нужно изменить? Для этого следующего изменения вам нужно полностью вернуться к началу файла httpd.conf, и это действительно просто. Вы должны добавить новую строку после

Listen Localhost:80

Добавить

Listen 192.168.78.###:80

Где "###" - это IP-адрес вашего сервера. Допустим, ваш сервер находится на IP-адресе 234. Тогда приведенная выше команда станет

Listen localhost:80
Listen 192.168.78.234:80

Опять же - «78» - это просто произвольное число, которое я выбрал. Чтобы получить свой реальный IP-адрес, вам нужно открыть командное окно и ввести

ipconfig/all

команда. Посмотрите, какой у вас номер TCP / IPv4, и установите его на этот номер или TCP / IPv6, если это все, что у вас есть (хотя на внутренних наборах маршрутизаторов у вас обычно есть номер IPv4).

Примечание . Если вы не знаете, как открыть командное окно, нажмите «Пуск», выберите «Выполнить» и введите «cmd.exe» в диалоговом окне без кавычек. В более новых системах (поскольку они продолжают все менять) это может быть значок белого окна, круг или Билл Гейтс, прыгающий вверх и вниз. Что бы это ни было - нажмите на него.

Как только вы сделали это - перезапустите все службы, и все должно работать нормально.

Наконец - почему? Зачем нужно менять команду "Слушать"? Это связано с localhost. По умолчанию localhost установлен на 127.0.0.1, а НЕ на ваш IP-адрес. Его можно найти в вашем хост-файле, который обычно находится в папке system32 под Windows, но, вероятно, был перемещен Microsoft в другое место. Поищите в Интернете, где это, и посмотрите. Если вы видите много секса, порно, и т.д. сайтов в файле хоста LOCALHOST - вам нужно, чтобы избавиться от них (если это не ваша вещь). Я предлагаю использовать RogueKiller (на AdLice.com), чтобы взглянуть на вашу систему, потому что он может сбросить ваш файл хоста за вас.

Если ваш файл хоста нормальный - он должен содержать только одну запись, и эта запись должна установить localhost на 127.0.0.1. Вот почему использование localhost в файле httpd.conf позволяет вам работать только со всем и видеть все со своего серверного компьютера.

Так что, если вы любите приключения - измените файл хоста и оставьте команду Listen в покое ИЛИ просто измените команду Listen, чтобы прослушивать порт 80 на вашем сервере.

НОВАЯ (забыл поставить в эту часть)

Возможно, вам придется изменить свой TCP / IP-адрес. (Моя уже настроена, поэтому мне не нужно было этого делать.) Вам нужно будет найти в своей ОС, как добраться до места, где определен ваш TCP / IP-адрес. В Windows XP это была Панель управления-> Сетевые подключения. Это изменилось в более поздних ОС, поэтому вам нужно посмотреть, как туда добраться. В любом случае, как только вы увидите свое беспроводное сетевое соединение или подключение по локальной сети (Windows). В основном кабель WIFI или Ethernet. Выберите тот, который активен и используется. Затем в Windows щелкните правой кнопкой мыши и выберите «Свойства». Должно появиться диалоговое окно, и вы должны увидеть список флажков с указанием их сбоку. Найдите тот, который предназначен для TCP / IP. Должен быть тот, который говорит TCP / IP v4. Выберите это. (Если его нет - будьте осторожны.) Нажмите кнопку «Свойства», и вы должны получить другое диалоговое окно. Здесь отображается либо «Получить IP-адрес автоматически», либо «Использовать следующий IP-адрес». Если это первый, то вам нужно поменять его на второй. НО ПЕРЕД ЭТОМ - откройте командное окно и введите команду ipcongfig / all, чтобы у вас было прямо перед вами, какой у вас шлюз по умолчанию. Затем измените его с «Получить ...» на «Использовать ...». Там, где написано «IP-адрес», введите IP-адрес, который вы хотите использовать всегда. Это IP-адрес, который вы указали в приведенной выше команде Listen. Вторая строка (маска подсети) обычно 255.255.255.0, что означает, что изменяется только последнее число (то есть: 0). Затем, оглядываясь назад на командное окно, вставленное в шлюз по умолчанию. И последнее, но не менее важное: когда вы изменили "Получить ..." на "Использовать ...", настройки DNS могли измениться. Если раздел, посвященный настройкам DNS, изменился на «Использовать ...» и оставлен пустым - ответ прост. Просто посмотрите на вывод ipconfig / all, найдите там настройки DNS и поместите их в соответствующие поля. После этого нажмите кнопку ОК, а затем нажмите вторую кнопку ОК. После закрытия диалогового окна вам, возможно, придется перезагрузить систему, чтобы изменения вступили в силу. Попробуйте, перейдя в Google или Stack Overflow. Если еще можно куда-то ходить - то перезагрузки не требуется. В противном случае перезагрузитесь. Помните! Если после этого вы не можете выйти в Интернет, все, что вам нужно сделать, это вернуться и сбросить все настройки на опцию «Получить ...». Наиболее вероятная причина того, что после внесения изменений вы больше не можете выходить в Интернет, является то, что выбранный вами TCP / IP-адрес уже используется маршрутизатором. Поговорка «Может быть только один» относится и к адресам TCP / IP. Вот почему я всегда выбираю большое число в одну сотню или меньшее число в две сотни. Потому что в большинстве настроек DHCP используются числа меньше пятидесяти. Таким образом, вы не столкнетесь с чужим номером TCP / IP.

Вот как я решил свою проблему.


В каком файле вы это сделали?
CodyBugstein

В файле Apache httpd.conf большинство изменений и файл хоста, который находится в каталоге Windows / System32 (в XP). Требуется обновление вышеуказанного. Фактически у вас может быть несколько команд LISTEN в файле httpd.conf. Таким образом, вы действительно можете: Listen localhost: 80 и Listen 192.168.78.234:80 Один за другим.
Марк Мэннинг

Я решил обновить свой ответ об изменениях TCP / IP.
Марк Мэннинг

1

В WAMPServer 3 вы этого не делаете в httpd.conf

Вместо этого отредактируйте \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confи выполните те же изменения для виртуального хоста, определенного дляlocalhost

WAMPServer 3 поставляется с виртуальным хостом, предварительно определенным для localhost


0

У меня есть опыт работы с Wamp 3.0 и Apache 2.4.

После всех работ выполните следующие действия:

1- Отключить nod32.

2- Добавьте эту строку в <VirtualHost *:80>блок в httpd-vhosts.confфайле:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access

0

если вы используете Windows и делаете все комментарии выше,

Вы можете проверить свою сеть и центр обмена.

Центр управления сетями и общим доступом -> Расширенные настройки общего доступа -> Изменение домашнего или рабочего профиля

Спасибо, хорошая работа!


-2

Подключите ваш Wamp-сервервведите описание изображения здесь

а затем перейдите в панель управления > система и безопасность > брандмауэр Windows и выключите брандмауэр Windows

теперь вы можете получить доступ к вашему wamp-серверу с другого компьютера через локальную сеть по сетевому IP- адресу компьютера, на котором установлен wamp-сервер, например http://192.168.2.34/mysite


-2

это просто, и это действительно сработало для меня.

run you wamp server => click right mouse button => and click on "put online"

затем откройте свой cmd как администратор и передайте это командное слово

ipconfig => and press enter

затем появляется много адресов, затем вам нужно просто выбрать первый, это выглядит как этот пример: Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 молодец! , это адрес, который вы будете использовать для подключения к вашему wampserver в локальном.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.