
Если у вас в процессе настройки появилась непонятная ошибка - рекомендую следующий алгоритм поиска решения:
1) внимательно прочитать сообщение об ошибке (если есть). Попытаться понять, что это означает. )
2) прочитать соответствующие разделы в руководстве OpenServer тут и тут, если еще не прочитали.
3) поискать ответ здесь на форуме
4) спросить у яндекса, гугла
5) задать вопрос здесь на форуме
Итак, поехали.
1) Посмотреть, какой ip роутер выдал компьютеру, на котором установлен OpenServer.
На примере роутера TP-Link: Не уверен, что это нужно, но я на всякий случай привязал этот компьютер к ip по MAC адресу, чтобы роутер всегда выдавал ему этот ip. 2) В настройках OpenServer на вкладке Сервер указываем этот ip.
Перед тем, как сохранять изменения и перезапускать сервер - нужно в папке с доменами удалить или переименовать папку localhost, т.к. этот домен может быть запущен только на localhost (ip 127.0.0.1) и OpenServer не будет запускаться с этим доменом и другим ip. 3) В сетевом окружении выставьте ip компьютера, как предпочитаемый DNS сервер, а ваш стандартный ip роутера, как альтернативный DNS сервер.
Эти же ip нужно будет указать в таком порядке на других устройствах, с которых хотите заходить на ваши сайты. На андройде и iOS сервера DNS указываются в свойствах wi-fi подключения (кто не знает - спросите у яндекса, как). 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: После этих шагов по идее вы уже можете заходить с других устройств на ваши сайты по wi-fi.
Если нет возможности редактировать файл hosts на планшетах и телефонах.
Если у вас один сайт - в настройках OpenServer создайте алиас для него по ip: При вводе в браузере этого 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: Замечания об ошибках в инструкции, а также уточнения и подсказки по возможным проблемам и их решению приветствуются.