Як дозволити користувачам локальної мережі отримувати доступ до моїх сайтів 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, все, що вам потрібно, - це трохи знання сервера, який ви використовуєте.

Найпростіший спосіб (молотком зламати гайку) - це скористатися параметром меню "Покласти в Інтернет".

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 Заборонено.
геобайт

66

У вас повинен бути дозволений процес Apache (httpd.exe) через брандмауер (рекомендується).

Або відключити брандмауер в локальній мережі (лише для тестування, не рекомендується).

Приклад з Wamp (з активованим Apache):

  1. Перевірте, чи Wamp публікується локально, якщо він є, продовжуйте;
  2. Панель управління доступом
  3. Натисніть "Брандмауер"
  4. Натисніть "Дозволити програму через брандмауер"
  5. Натисніть "Дозволити якусь програму"
  6. Знайдіть і виберіть C: /wamp64/bin/apache2/bin/httpd.exe
  7. Перезавантажте Wamp

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

Це працює


Переконайтеся, що ваш сервер Wamp працює, і ви вже встановили його за допомогою "Покладіть онлайн"
Matteus Barbosa

Очищення кешу браузера також може вирішити деякі проблеми
Маттеус Барбоса

3
Частина брандмауера допомогла мені для Windows 10. Дякую!
Досить круто

У мене вже був відключений брандмауер Windows, тому я не вважав, що це спрацює - але додавання Apache як виняток насправді працювало для мене. Дякую!
Pawel

@Pawel це не має сенсу, оскільки відключений брандмауер ігнорує таблиці винятків і дозволяє все. Переконайтесь, що ваше антивірусне програмне забезпечення вимкнено, або його шар брандмауера також відключений для проведення чистого тесту.
Маттей Барбоса

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

Всередині папки псевдоніма ви побачите деякі файли, такі як phpmyadmin, phpsysinfo тощо.

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

Require local

by

Require all granted

4

Що нарешті для мене спрацювало, це те, що я знайшов тут:

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" у розділі "Конкретний локальний порт", потім натисніть кнопку "Далі" та виберіть "Дозволити з'єднання" та потім дайте загальне ім'я та опис цього порту та натисніть Готово.

Тепер ви також закінчили відкриття PORT.

Далі йде “Перезапустити всі сервіси” WAMP та отримати доступ до Вашого апарату в локальній чи локальній мережі.


192.168.1.154 означає?
Шарльям

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 з режиму офлайн на онлайн. ДЛЯ МЕНЯ - зміна цього параметра нічого не робить. Невідомо чому - це просто не так. Тож змініть це, якщо хочете - але я не думаю, що це потрібно змінювати.

То що ще потрібно змінити? Ви повинні пройти весь шлях назад до початку файлу 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-адреса, яку ви ввели в команду Слухати вище. Другий рядок (маска підмережі) зазвичай становить 255,255,255,0, тобто лише останнє число (тобто: 0) змінюється. Тоді, озирнувшись до вікна команд, розміщеного у вашому шлюзі за замовчуванням. І останнє, але не в останню чергу, коли ви перейшли з "Отримати ..." на "Використовувати ...", налаштування DNS можуть змінитися. Якщо розділ, який стосується налаштувань DNS, змінився на "Використовувати ...", і він порожній - відповідь проста. Просто подивіться на цей ipconfig / весь вихід, знайдіть там налаштування DNS і помістіть їх у надані поля. Після завершення натисніть кнопку ОК, а потім натисніть другу кнопку ОК. Після закриття діалогового вікна вам може знадобитися перезавантажити систему, щоб зміни вступили в силу. Спробуйте це, перейшовши на Google або Stack Overflow. Якщо ви все ще можете піти на місця - тоді перезавантаження не потрібно. В іншому випадку перезавантажте. Пам'ятайте! Якщо згодом ви не можете зайти в Інтернет, все, що ви робите, - повернутися назад і скинути все до параметра "Отримати ...". Найбільш вірогідною причиною після внесення змін, що ви більше не можете користуватися Інтернетом, є те, що маршрутизатор вже використовує TCP / IP-адресу, яку ви вибрали. Приказка "Може бути лише одна" стосується і TCP / IP-адрес. Ось чому я завжди вибираю високу сотню чи низьку двісті. Тому що більшість налаштувань DHCP використовують числа менше п'ятдесяти. Таким чином, ви не зіткнетесь з чиїмсь номером TCP / IP.

Ось як я вирішив свою проблему.


У якому файлі ви це зробили?
CodyBugstein

У файлі Apache httpd.conf про більшість змін та файлі хосту, що знаходяться в каталозі Windows / System32 (на XP). Потрібно оновити вищезазначене. Ви можете мати кілька команд LISTEN у файлі httpd.conf. Отже, ви насправді можете мати: Слухайте localhost: 80 і слухайте 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- Вимкнути кивок32.

2- Додайте цей рядок для <VirtualHost *:80>блокування у httpd-vhosts.confфайлі:

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

0

якщо ви використовуєте Windows і якщо ви робите всі коментарі вище,

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

Центр мережі та обміну -> Розширені налаштування спільного доступу -> Змінення домашнього або робочого профілю

Дякую за добру роботу!


-1

це просто, і це справді працює для мене.

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 на місцевому рівні.


-2

Поставте свій сервер wamp в Інтернетівведіть тут опис зображення

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.