Страница 2 из 2

Re: Пошаговая инструкция по открытию доступа к своим сайтам с других устройств по wi-fi.

Добавлено: 01 май 2020, 08:57
Александр60
Мне необходимо, чтобы на сайт, находящийся в локальной сети можно было заходить с планшетов и телефонов.
С обычных компьютеров вход по IP.
Надо, чтобы не объяснять пожилым людям, что такое IP и пр., сделать вход по имени.
Как я понимаю, необходимо в роутере с Wi-Fi первым DNS сервером прописать компьютер, на котором находится сайт в OSPanel и настроить встроенный в него DNS-сервер.
Если это верно, то как это сделать?

Re: Пошаговая инструкция по открытию доступа к своим сайтам с других устройств по wi-fi.

Добавлено: 04 май 2020, 16:58
roboxkin
tropic писал(а): 12 янв 2016, 23:07 Инструкция предназначена для новичков (типа меня :D ), дабы не допекали элементарными вопросами создателя OpenServer.

Если у вас в процессе настройки появилась непонятная ошибка - рекомендую следующий алгоритм поиска решения:
1) внимательно прочитать сообщение об ошибке (если есть). Попытаться понять, что это означает. )
2) прочитать соответствующие разделы в руководстве OpenServer тут и тут, если еще не прочитали.
3) поискать ответ здесь на форуме
4) спросить у яндекса, гугла
5) задать вопрос здесь на форуме


Итак, поехали.

1) Посмотреть, какой ip роутер выдал компьютеру, на котором установлен OpenServer.
На примере роутера TP-Link:
router1.jpg

Не уверен, что это нужно, но я на всякий случай привязал этот компьютер к ip по MAC адресу, чтобы роутер всегда выдавал ему этот ip.
router2.jpg

2) В настройках OpenServer на вкладке Сервер указываем этот ip.
Перед тем, как сохранять изменения и перезапускать сервер - нужно в папке с доменами удалить или переименовать папку localhost, т.к. этот домен может быть запущен только на localhost (ip 127.0.0.1) и OpenServer не будет запускаться с этим доменом и другим ip.
OpenServer_ip.jpg
localhost.jpg

3) В сетевом окружении выставьте ip компьютера, как предпочитаемый DNS сервер, а ваш стандартный ip роутера, как альтернативный DNS сервер.
Эти же ip нужно будет указать в таком порядке на других устройствах, с которых хотите заходить на ваши сайты. На андройде и iOS сервера DNS указываются в свойствах wi-fi подключения (кто не знает - спросите у яндекса, как).
Network_1.jpg
Network_2.jpg
Network_3.jpg
Network_4.jpg

4) На компьютере с OpenServer и на всех компьютерах, телефонах, планшетах с которых хотите заходить по wi-fi на ваши сайты, нужно вписать в файл hosts ваш ip (компа, на котором стоит OpenServer) и название сайта. Тогда при обращении к этим сайтам браузер будет лезть не в интернет, а искать его в локальной сети по указанному ip.
Вписываеся ip следующим образом:
192.168.1.100 newsite.test
192.168.1.100 backend.newsite.test
192.168.1.100 localhost.tmp
Подробности о том, где лежит файл hosts на разных устройствах - спрашивайте у яндекса.

Для редактирования файла host на Android аппарат должен быть рутован, а на iOS нужен джейлбрейк. Если на ваших аппаратах такого нет - читайте ниже про доступ к сайтам по ip.

4) Если на компьютере с OpenServer установлен файрвол/брандмауэр - то нужно открыть используемый вами порт (обычно 80) для ваших устройств, с которых будете заходить на ваши сайты. Если не знаете как - яндекс в помощь.
Пример для NOD32 Smart Security:
NOD_1.jpg
NOD_2.jpg
NOD_3.jpg
NOD_4.jpg
NOD_5.jpg
NOD_6.jpg

После этих шагов по идее вы уже можете заходить с других устройств на ваши сайты по wi-fi.

Если нет возможности редактировать файл hosts на планшетах и телефонах.
Если у вас один сайт - в настройках OpenServer создайте алиас для него по ip:
alias.jpg

При вводе в браузере этого ip будет открываться ваш сайт.

Пока не разбирался, как сделать доступ сразу к нескольким своим сайтам по ip. Думаю, что где-нибудь на форуме можно найти ответ на этот вопрос.


Возможные проблемы и их решения:

1) После указания нового ip в настройках сервера и перезапуска - на сайте вываливаются ошибки MySQL.
Решение: изменить ip в настройках сайта для доступа к базе данных с localhost (или 127.0.0.1) на ваш новый ip.
(скорее всего с другими источниками данных будет такое же решение)


2) На некоторых своих устройствах я не могу редактировать файл hosts. Поэтому приходится использовать доступ по ip.

Столкнулся с проблемой, что не работает созданный алиас.
При вводе в браузере ip сайта - открывается пустая страница (статус при этом 200).

Для простых сайтов алиас работает. Проблема возникает только, когда я делаю алиас для сайта с поддоменом (фреймворк Yii2, шаблон advance).
Как это правильно решить я не знаю.
Как временное решение я использую следующее.
В папке с сайтом на который я хочу заходить у меня лежит файл настройки виртуального хоста Apache.
там в пункте ServerAlias я просто прописал ip OpenServer:
#-----------------------------------------------#
# Начало блока конфигурации HTTP хоста
#-----------------------------------------------#
<VirtualHost *:%httpport%>
	RewriteEngine on
    DocumentRoot    "%hostdir%/frontend/web"
    ServerName      "%host%"
    ServerAlias     "192.168.1.100"
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"
</VirtualHost>
#-----------------------------------------------#
# Конец блока конфигурации HTTP хоста
#-----------------------------------------------#

#-----------------------------------------------#
# Начало блока конфигурации HTTPS хоста
#-----------------------------------------------#
<VirtualHost *:%httpsport%>
	RewriteEngine on
    DocumentRoot    "%hostdir%/frontend/web"
    ServerName      "%host%"
    ServerAlias     "192.168.1.100"
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"

    SSLEngine    on

    SetEnvIf User-Agent ".*MSIE [1-5].*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    SetEnvIf User-Agent ".*MSIE [6-9].*" \
    ssl-unclean-shutdown
</VirtualHost>
#-----------------------------------------------#
# Конец блока конфигурации HTTPS хоста
#-----------------------------------------------#

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


3) Сайт начинает глючить (при заходе на него по ip).
Проверьте, что в создаваемых сайтом куки домен указан в виде ip, по которому вы открываете сайт.


The end.

PS: Замечания об ошибках в инструкции, а также уточнения и подсказки по возможным проблемам и их решению приветствуются.
Если так сделать, то пропадает интернет

Re: Пошаговая инструкция по открытию доступа к своим сайтам с других устройств по wi-fi.

Добавлено: 05 май 2020, 09:50
Максим
Способа на самом деле всего 2, чтобы всё работало и интернет был:

1) Внести изменения в hosts на всех устройствах в сети. Самый простой способ. Но это мало реально, т.к. нужен root доступ и он сейчас мало у кого есть, а если и есть, то не на всех устройствах.
2) Так что остается лишь один способ - включить DNS модуль и настроить все клиенты в сети на него. Плюс в самом конфиге DNS модуля включить рекурсию, чтобы резолвились и обычные домены, т.к. сказать домашний публичный DNS сервер.

Re: Пошаговая инструкция по открытию доступа к своим сайтам с других устройств по wi-fi.

Добавлено: 05 май 2020, 11:40
Александр60
Максим писал(а): 05 май 2020, 09:50 Так что остается лишь один способ - включить DNS модуль и настроить все клиенты в сети на него. Плюс в самом конфиге DNS модуля включить рекурсию, чтобы резолвились и обычные домены, т.к. сказать домашний публичный DNS сервер.
Как организовать это на роутере с Wi-Fi для мобильных устройств?
Может, я плохо читал, не смог открыть настройку DNS.