Как сделать локальный сайт доступным по сети
Перейти к содержимому

Как сделать локальный сайт доступным по сети

  • автор:

Гайд: как запустить сайт на собственном компьютере за один день

Гайд: как запустить сайт на собственном компьютере за один день

Гайд: как запустить сайт на собственном компьютере за один день

Дмитрий Дементий Редакция «Текстерры»

Для проведения тестов, отладки или предварительной сборки нужно быстро «поднять» сайт не на хостинге, а на локальном компьютере, а затем перенести ресурс на сервер хостинг-провайдера. Вот как это можно сделать.

Как подготовить компьютер к работе с локальным сервером

Чтобы запустить локальный сервер на компьютере, придется изменить настройки некоторых программ или операционной системы. Для работы серверов нужно освободить порт 80. Его часто занимает служба Internet Information Services (IIS). Чтобы убедиться в этом, введите в командную строку команду netstat -aon | findstr 0.0:80. Если порт 80 действительно занимает системный процесс, в диалоговом окне в последнем столбце вы увидите значение «4».

Чтобы отключить IIS, в панели управления выберите меню «Программы и компоненты – Включение и отключение компонентов Windows». Снимите флаг напротив опции «Службы IIS» и сохраните изменения. Может потребоваться перезагрузка системы.

Отключаем службы IIS, чтобы освободить порт 80

Снимаем выделение с этого чекбокса

Если открыть «Программы и компоненты» в вашей версии Windows не удалось, есть еще один способ. Используйте сочетание горячих клавиш Win+R. Откроется окно «Выполнить», где нужно указать команду appwiz.cpl

Если изменение настроек системы не помогло, отключите брандмауэр и антивирусное ПО. Некоторые сетевые экраны блокируют порт 80.

Если этот шаг не помог, скачайте и запустите надстройку для Windows TCP View. Программа не требует установки. С ее помощью вы увидите список активных процессов и используемых портов. Найдите процесс, который занимает порт 80, и отключите связанную с ним программу на время работы с локальным сервером.

Ищем локальный порт 80 и отключаем процесс, который его занимает

Если его в списке нет, приступайте к установке локального сервера

Продвинем ваш бизнес

В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров

Desktop Server – запускаем сайт на WordPress локально

Если вы создаете сайт на WordPress, воспользуйтесь Desktop Server. Скачайте дистрибутив, распакуйте архив и запустите инсталлятор.

Вот подробная инструкция по работе с плагином:

  • загрузите плагин DesktopServer для WordPress и активируйте его;
  • выберите «Экспорт», а затем установите флажок «Получить сведения о реальном сервере хостинга»;
  • для получения дополнительной информации посетите http://serverpress.com/.

Активируйте Desktop Server и воспользуйтесь меню Create New development site. По умолчанию установочный пакет содержит устаревшую версию CMS WordPress. Вы можете скачать и загрузить в папку Xampplite – Blueprints (по умолчанию она распаковывается на системный диск) дистрибутив актуальной версии WordPress.

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

Создаем экспериментальный сайт

Обратите внимание на путь к корневой папке сайта. Он должен быть корректным (там не должно быть кракозябры или кириллицы)

Перейдите по ссылке, предложенной программой, для завершения установки WordPress.

Переходим по ссылке для завершения установки движка на сервер

После перехода по URL нажимаем Next

Выберите язык. Укажите название сайта, имя пользователя, e-mail и пароль.

Указываем информацию о сайте и завершаем установку

Заполняем название, имя пользователя, пароль и электронную почту

Браузер отобразит страницу приветствия. Чтобы войти в административную консоль, введите созданный на предыдущем шаге пароль.

Административная панель созданного на локальном сервере сайта

Мы получили доступ к админке WordPress

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

С сайтом на локальном сервере можно работать также, как с сайтом на обычном хостинге

Создали первую запись, которая выводится на главной – все как при работе с сайтом на обычном хостинге

Как запустить сайт на Open Server

Open Server дает возможность работать без установки ПО на компьютер. Вы можете запускать сервер с USB-накопителя.

Скачайте дистрибутив с официального сайта проекта. Open Server можно использовать бесплатно. Разработчики предлагают сделать пожертвование на развитие проекта. Без платежа скорость загрузки дистрибутива сильно ограничена. Скачивать полный пакет придется несколько часов.

Активируйте инсталлятор и укажите путь для распаковки архива. По умолчанию программа предлагает установку на системный диск, но вы можете изменить параметры. Запустите исполняемый файл в папке Open Server и выберите язык.

Запускаем исполняемый файл

Нужно открыть установочный файл. Для корректной распаковки понадобится минимум 7 ГБ свободного пространства на жестком диске

Если все сделано верно, в трее появится красный флажок. Нажмите на него, чтобы начать работу с сервером.

Активируем сервер

Обратите внимание на иконку программы в трее

Нажмите кнопку «Запустить». Затем введите в адресную строку браузера адрес http://localhost/. Вы увидите страницу приветствия.

Сервер работает

Успешно подняли сервер на локальном компьютере

Теперь установите на локальный сервер выбранную CMS. Для этого создайте новую папку в разделе Domains. Распакуйте в нее архив с дистрибутивом движка.

Создаем папку домена

Мы создали новую папку

Перезапустите Open Server с помощью меню в трее.

Перезапускаем сервер

Нажмите кнопку «Перезапустить»

Какую CMS выбрать: руководство по выбору «движка» для сайта

Введите в адресной строке браузера URL экспериментального сайта. Вы попадете в меню установки CMS.

Выбираем язык

После выбора языка продолжаем устанавливать новый сайт на локальный сервер

Для продолжения установки необходимо создать базу данных. Через меню Open Server войдите в панель управления phpMyAdmin. Для доступа к серверу введите имя пользователя root, а поле «Пароль» оставьте пустым.

Выбираем язык

Нажмите PHP Adminer

В панели управления phpMyAdmin выберите вкладку «Базы данных» и создайте БД экспериментального сайта.

Создаем базу данных

Сперва проходим авторизацию в Adminer

В меню установки WordPress укажите название БД и имя пользователя. Завершите установку: укажите название сайта, имя пользователя, пароль, электронный адрес администратора.

Указываем название БД

Заполняем данные для подключения сайта к базе данных

Теперь вы можете работать с сайтом на локальном сервере.

Как работать с локальным сервером Denwer

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

Скачайте дистрибутив с сайта проекта. Закройте браузеры и запустите установщик. Используйте подсказки в диалоговом окне инсталлятора. После завершения установки браузер откроет окно приветствия. Запустить программу можно с помощью ярлыка на рабочем столе Start Denwer. Если его нет, идем в директорию с программой и запускаем ярлык Run:

Запускаем исполняемый файл

Откройте ярлык двойным кликом

В адресную строку браузера введите URL http://localhost/denwer/. Вы попадете на стартовую страницу локального сервера Denwer.

Все работает!

Локальный сервер работает корректно

Чтобы установить CMS на локальный сервер «Денвер», создайте раздел с названием сайта в папке WebServers – Home. В разделе создайте еще одну папку с именем www. Распакуйте в нее архив с дистрибутивом движка.

Создем папку с доменным именем сайта по пути WebServers / home

Мы создали папку testik.io

В разделе создайте еще одну папку с именем www. Распакуйте в нее архив с дистрибутивом движка.

Копируем сюда архив с дистрибутивом CMS

Сюда нужно скопировать движок сайта

Создайте базу данных экспериментального сайта в разделе управления phpMyAdmin. Для этого введите в адресную строку браузера адрес http://localhost/tools/phpMyAdmin/

Указываем имя сайта в строке «Создать базу данных»

Нажимаем кнопку «Создать»

Перезапустите локальный сервер с помощью ярлыка Restart Denwer на рабочем столе. Установите WordPress. Для этого в адресной строке браузера наберите адрес экспериментального сайта.

Мы скопировали и запустили тестовый сайт успешно

Denwer не подвел – сайт на локальном компьютере запускается

После окончания разработки перенесите сайт с локального сервера на сервер хостинг-провайдера.

Чтобы удалить «Денвер», выполните следующие действия:

  • остановите сервер с помощью ярлыка Stop Denwer на рабочем столе;
  • в командную строку введите команду subst z: /d. Это необходимо для удаления виртуального диска Z, который создается при установке ПО «Денвер». Если вы вместо значения по умолчанию Z использовали другое название виртуального диска, укажите это в команде;
  • удалите папку WebServers с диска C;
  • удалите ярлыки управления локальным сервером с рабочего стола.

Читайте также

Продвижение «ВКонтакте»: 54 совета и море полезных сервисов

Как самому сделать мобильное приложение – все варианты

Как создать сайт на локальном сервере Xampp

Xampp – популярный программный комплекс для создания локального сервера Apache. Чтобы установить ПО, скачайте дистрибутив и запустите инсталлятор. Во время установки оставьте настройки по умолчанию.

В папке Xampp активируйте контрольную панель: запустите приложение xampp-control. На панели запустите сервер Apache и базу данных.

Включаем сервер и базу данных

Активируем работу сервера

Введите в адресную строку браузера URL http://localhost. Если Xampp работает корректно, вы попадете на страницу-приветствие.

Страница приветствия Xampp

Успешно подняли сервер на домашнем компьютере

Создайте базу данных экспериментального сайта. Для этого введите в адресную строку браузера URL http://localhost/phpmyadmin/. На вкладке «Базы данных» укажите название БД и нажмите кнопку «Создать».

Создаем новую базу данных

Укажите название, выберите кодировку БД и нажмите кнопку «Создать»

Установите на локальный сервер WordPress. Скачайте дистрибутив с официального сайта и разархивируйте его в папку xampp – htdocs. Укажите URL тестового сайта в качестве названия папки с файлами движка.

Чтобы завершить установку CMS, введите в адресную строку браузера URL http://localhost/folder-name. Вместо значения folder-name укажите название папки с файлами CMS.

Мы запустили инсталляционный файл

Выбираем язык для админки CMS

Завершите установку и проверьте работоспособность сайта.

Успешно развернули сайт на WordPress

Сайт на локальном сервере работает

Хостинг: как выбрать и на какие технические возможности обратить внимание

Хостинг: как выбрать и на какие технические возможности обратить внимание

Как пользоваться локальным сервером Winginx

Winginx – локальный сервер, с помощью которого можно быстро создать сайт на своем компьютере. Скачайте дистрибутив и запустите программу-установщик. После установки ПО нажмите на иконку Winginx в трее и включите компоненты программы.

Нужно включить сервер

Активируем сервер Winginx

Перейдите по ссылке «Рабочая среда Winginx», чтобы вызвать панель управления программой. Создайте новый проект и укажите адрес экспериментального сайта.

Создаем проект и указываем URL экспериментального сайта

Создаем новый проект

Перейдите в панель управления phpMyAdmin с помощью меню «Менеджеры баз данных – phpMyAdmin». Создайте базу данных экспериментального сайта.

Переходим в панель управления phpMyAdmin и создаем базу данных

Нам нужно создать новую базу данных

Откройте папку сайта с помощью соответствующего меню в панели управления Winginx.

Открываем папку сайта

Нажмите кнопку «Открыть папку сайта»

Разархивируйте дистрибутив выбранной CMS в каталог public_html.

Распаковываем архив движка в папку сайта

Выберите конечную папку и извлеките все файлы

Введите в адресную строку браузера адрес wp-admin/install.php и установите движок на сервер.

Обратите внимание на удобный планировщик задач в панели управления Winginx. С его помощью можно планировать работу над сайтом, контролировать выполнение задач и учитывать рабочее время.

В Winginx есть удобный планировщик задач

Запланировали две задачи

Как перенести действующий сайт на локальный сервер

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

Если вы используете WordPress, действуйте так:

Запускаем копирование сайта

  • запустите локальный сервер и установите на него WordPress;
  • установите на локальном сайте дизайн-шаблон, который вы используете на реальном ресурсе;
  • установите на действующий сайт и активируйте плагин Duplicator;
  • в административной консоли выберите меню «Duplicator – Пакеты». Нажмите кнопку «Создать новый».

Сперва создаем новый пакет

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

Скачиваем созданную копию сайта на третьем этапе (Build)

Проверяем все элементы бэкапа

Введите в адресную строку браузера путь к файлу installer.php на тестовом ресурсе. Вы попадете на страницу установки базы данных.

Восстанавливаем ресурс на локальном сервере

Делаем диплой файлов сайта и база данных

Удалите из корневой директории тестового ресурса файлы install.php и wp-config.php.

Укажите имя пользователя и название базы данных экспериментального сайта. Отметьте, что вы прочитали техническое предупреждение и запустите установку копии ресурса на локальный сервер.

Указываем базу данных и запускаем установку

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

Вы можете перенести сайт с сервера хостинг-провайдера на экспериментальный ресурс на локальном сервере без помощи плагинов. Для этого можно воспользоваться функцией «Экспорт» в административной консоли.

Экспортируем данные с работающего сайта

Выберите элемент сайта, который нужно экспортировать

С помощью функции «Импорт» можно загрузить полученный файл на локальный сервер.

Импортируем данные на локальный сайт

Выбирайте необходимые элементы сайта

Если вы пользуетесь не WordPress, в панели управления phpMyAdmin выберите базу данных экспериментального сайта. Укажите обычный способ экспорта, при котором отображаются все настройки. Выберите метод сжатия gzip. Не меняйте другие настройки. Запустите экспорт БД.

Экспортируем БД

Выбираем способ экспорта

Браузер загрузит на жесткий диск ПК файл с расширением sql.gz. Его необходимо импортировать на сервер хостинг-провайдера. Для этого в панели управления сервером выберите меню «Базы данных – phpMyAdmin».

Входим в раздел управления phpMyAdmin

Нужно открыть админку phpMyAdmin

На вкладке «Импорт» загрузите файл с базой данных.

Импортируем базу данных

Выбираем файл для импорта

Описанными способами сайты можно переносить с локального сервера на сервер хостера и обратно. Также для создания копии ресурса и последующего переноса вы можете воспользоваться инструментами резервного копирования базы данных, например, плагином для WordPress WP Database Backup или аналогами для других движков.

Как заказать хороший сайт: пошаговое руководство для чайников

Как заказать хороший сайт: пошаговое руководство для чайников

Какой локальный сервер выбрать

Для рядового пользователя подойдет любой из описанных вариантов. Работа с предложенным ПО позволяет установить сайт на локальную машину, настроить, протестировать и перенести ресурс на сервер хостинг-провайдера.

Если вы пользуетесь CMS WordPress, обратите внимание на Desktop Server. Установка и настройка этой программы занимают меньше времени по сравнению с другими продуктами. Благодаря плагину для WordPress вы также ускорите перенос готового сайта на сервер хостера.

Если вы работаете с другими CMS, используйте любой из предложенных локальных серверов. Например, с Winginx вы сможете запустить сайт и контролировать разработку с помощью удобного планировщика в панели управления программой.

Можно ли обойтись без локального сервера? Конечно. Если вы создаете сайт с простой структурой или блог, при этом используете стандартный движок и дизайн-шаблон, ресурс можно сразу запускать на открытом сервере. Но вы должны точно знать, что сможете быстро обеспечить минимальную безопасность, информационную ценность ресурса, а также его соответствие техническим требованиям поисковых систем.

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как веб-сервер на своём компьютере сделать доступным для других

После установки веб-сервера может понадобиться сделать его доступным для других в локальной или глобальной сети. Это может быть нужно, например, чтобы тестировать свой сайт на разных платформах (посмотреть, как выглядит сайт на мобильных телефонах) или если вы создали сервис (файлообменник, чат и т.п.), который должен быть доступен для других.

Локальные и глобальные компьютерные сети

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

Глобальная сеть и локальные сети различаются IP адресами. Каждое сетевое устройство в любой сети должно иметь свой уникальный IP адрес. Особенностью IP адресов в глобальной сети является то, что они уникальны на глобальном уровне, т.е. к Интернету не могут быть подключены устройства, у которых одинаковый IP. В локальных сетях IP адреса также уникальны, но уникальны они только на локальном уровне: т.е. в вашей домашней сети IP адрес, к примеру, 192.168.0.2 может быть только у одного устройства, иначе это вызовет проблемы; но у других пользователей, имеющих свои локальные сети, в этих сетях также может использоваться IP адрес 192.168.0.2.

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

Примечание: Я знаю про NAT (технология, позволяющая нескольким устройствам иметь Интернет-подключение через один IP адрес), про объединение локальных сетей с помощью другой локальной сети, про туннелированние и т.д., но сознательно пропускаю это для упрощения.

Локальные и глобальные IP адреса

Чтобы не запутаться в терминологии, глобальный IP адрес ещё называют «внешним», «белым» — это разные обозначения одного и того же.

Локальный IP адрес называют «внутренним», «серым», «приватным» — это всё одно и то же.

Работа домашней (локальной) сети, в которой присутствует роутер и несколько устройств, подключённых к роутеру, обычно выглядит следующим образом:

  1. Роутер подключается к Интернет-провайдеру. Интернет-провайдер назначает роутеру внешний IP адрес, который позволяет устанавливать соединения с глобальной сетью Интернет.
  2. Компьютеры по кабелю или Wi-Fi, а также мобильные телефоны через Wi-Fi подключаются к роутеру. Роутер раздаёт им локальные IP адреса.
  3. Если два устройства в локальной сети хотят обменяться данными, то они это делают через роутер, но сетевые пакеты не отправляются в глобальную сеть.
  4. Если какому-либо устройству понадобиться «выйти в Интернет», то он передаст соответствующий запрос роутеру, роутер подключится к нужному узлу в глобальной сети, роутер же получит ответ от узла в глобальной сети и передаст этот ответ устройству в локальной сети, которое сделало первоначальный запрос.

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

По умолчанию, веб-сервер Apache настроен отвечать всем, кто пытается к нему подключиться. Подключиться к компьютеру, а, следовательно, и к веб-серверу, проще всего по его IP адресу.

Если вы хотите открыть страницу локального веб-сервера на другом устройстве (компьютер, телефон), подключённом к этой же локальной сети, то достаточно в строке браузера набрать IP адрес компьютера, на котором запущен веб-сервер.

Как узнать локальный IP адрес

Но чтобы это сделать, нужно знать, какой у компьютера с веб-сервером IP адрес. Как уже было сказано, локальные IP раздаёт роутер. Локальные IP могут быть в следующих диапазонах:

  • 10.0.0.0 — 10.255.255.255
  • 100.64.0.0 — 100.127.255.255
  • 172.16.0.0 — 172.31.255.255
  • 192.168.0.0 — 192.168.255.255

Причём, если вы не меняли настройки роутера, чаще всего используется диапазон 192.168.0.0 — 192.168.255.255. Скорее всего, ваш компьютер имеет адрес вида 192.168.0.* или 192.168.1.*. Но какой именно?

В Windows чтобы узнать локальный IP адрес откройте командную строку (нажмите Win+x, и выберите Windows PowerShell). В открывшемся окне выполните команду

ipconfig

У вас, наверное, будет меньше сетевых устройств, но в любом случае, для всех из них будет выведена информация, в том числе IP адреса.

Мой компьютер имеет локальный IP адрес 192.168.0.90. Если я, например, в телефоне, подключённому по Wi-Fi к роутеру наберу в адресной строке 192.168.0.90, то откроется веб-страница моего локального веб-сервера, запущенного на компьютере (да, у меня там бардак):

Внимание: если у вас не получается открыть веб-сервер, хотя IP адрес введён правильно – попробуйте отключить файервол. Если это помогло, то файервол можно включить, но настройте исключение для 80 порта.

Всё довольно просто, но имеется проблема – после перезагрузки компьютера IP адрес, скорее всего, изменится. Т.е. чтобы вновь открыть локальный веб-сервер понадобится проверять IP адрес и сообщать его другим желающим посетить ваш локальный веб-сайт.

Как уже было сказано, локальный IP адреса «раздаёт» роутер. Адреса являются произвольными в рамках данной подсети.

Чтобы исправить ситуацию с постоянно меняющимся локальным IP, давайте познакомимся с такими понятиями как динамичный и статичный IP адреса.

Динамичный IP адрес выдаётся произвольно (роутером, Интернет-провайдером). Он может меняться при последующих подключениях.

Статичный IP адрес закреплён за сетевым интерфейсом (фактически, закреплён за компьютером, мобильным телефоном). Он не меняется при последующих переключениях.

В локальной сети, по умолчанию используются динамичные IP адреса, но это легко изменить.

Имеется, как минимум, два способа поменять динамичный локальный адрес на статичный локальный адрес:

  • в настройках сетевого интерфейса (на компьютере, в мобильном телефоне)
  • в настройках роутера

Не нужно делать изменения и там, и там – достаточно сделать настройки или на компьютере, или в роутере. Принципиальной разницы нет, какой именно метод вы будете использовать.

Настройка постоянного IP в Windows

Для настройки статичного локального адреса на компьютере откройте «Сетевые подключения». Проще всего это сделать набрав в командной строке Windows:

ncpa

Выберите интересующий вас сетевой адаптер (сетевой подключение), нажмите на него правой кнопкой мыши и выберите «Свойства»:

В открывшемся окне выберите «IP версии 4 (TCP/IPv4)» и нажмите кнопку «Свойства»:

Вы увидите следующее:

Переключите на «Использовать следующий IP адрес».

Теперь нужно заполнить все поля. Первые три поля являются взаимосвязанными и также связаны с роутером. Когда ранее мы смотрели свой локальный IP адрес, нам также была показана такая информация как Маска подсети (на моём скриншоте это 255.255.255.0) и Основной шлюз (на моём скриншоте это 192.168.0.1). Посмотрите ваши значения (вполне вероятно, что они будут такими же) и введите их в поля «Маска подсети» и «Основной шлюз». Кстати, основной шлюз – это адрес роутера. Очень часто локальными адресами роутера являются 192.168.0.1 и 192.168.1.1

В поле IP-адрес введите желаемый IP. Он должен соответствовать вашей сети. Т.е. если роутер имеет IP 192.168.0.1, то компьютер должен иметь IP вида 192.168.0.* (например, 192.168.0.100), если роутер имеет IP 192.168.1.1, то компьютер должен иметь адрес вида 192.168.1.* (например, 192.168.1.100).

Чтобы не было проблем, устройства в одной локальной сети не должны иметь одинаковый IP адрес.

В качестве DNS серверов («Предпочитаемый DNS-сервер» и «Альтернативный DNS-сервер») введите 8.8.8.8 и 8.8.4.4 соответственно.

У меня получилось так (для компьютера я выбрал IP 192.168.0.100):

Закройте окна с сохранением настроек.

Теперь при каждом подключении ваш компьютер будет иметь один и тот же IP адрес.

Настройка статичного IP в роутере

Для каждого роутера детальная инструкция по настройке различается. Но схема общая: в настройках локальной сети перейдите к настройкам DHCP-сервера, выберите желаемые компьютеры/телефоны по MAC-адресу и привяжите их к определённым локальным IP адресам.

Пример настройки статических IP адресов в ZyXEL Keenetic Lite II.

Имеется перечень компьютеров со следующими именами и следующими желательными статичными IP адресами:

  • HackWare-Server-2022 — 192.168.1.60
  • VYACHESLAV — 192.168.1.61
  • HackWare — 192.168.1.62
  • HackWare-Win — 192.168.1.63
  • HackWare-Windows-En — 192.168.1.64
  • HackWare-Server — 192.168.1.65

На роутере Переходим в Домашняя сеть → Параметры IP. По умолчанию размер пула адресов был равен 20, увеличиваем его количество до 40. Поскольку первым IP адресом пула является 192.168.1.33, то теперь доступный для использования диапазон стал 192.168.1.33-192.168.1.72.

Переходим в список устройств (вкладка «Устройства»):

Выбираем поочереди каждое устройство, ставим галочку «Постоянный IP-адрес», вводим желаемый статичный IP и нажимаем кнопку «Зарегистрировать»:

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

Когда всё будет готово, все устройства со статичными адресами будут выделены полужирным шрифтом.

Изменения вступят в силу при следующем подключения устройств к роутеру.

Как открыть веб-сервер для доступа из Интернета

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

Если кабель Интернет-провайдера подключён к вашему компьютеру напрямую, то, вероятно, доступ по IP адресу будет работать (имеются нюансы с NAT).

Но если вы используете роутер, то IP адрес принадлежит роутеру. Если из Интернета приходит запрос на роутер, то он просто не знает, какому именно устройству в локальной сети переадресовать этот запрос. Более того, большинство роутеров имеют свой собственный веб-сервер – это он показывает страницы с настройками роутера в веб-браузере.

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

Переадресация портов доступна для настроек локальной сети и для настроек Интернет-подключения – нам нужно именно второе.

В роутере перейдите в настройки Интернета, найдите там переадресацию портов. Некоторые роутеры поддерживают Переключение портов – нам это не подойдёт.

В качестве порта для переадресации выберите 80, введите локальный IP адрес компьютера, на котором размещён веб-сервер и введите порт, на который будет происходить переадресация – 80, протоколTCP.

Теперь мой веб-сервер доступен также по внешнему IP:

Кстати, чтобы узнать свой внешний IP адрес перейдите на эту страницу: https://suip.biz/ru/?act=myip

Как сделать глобальный IP адрес статичным

Вы столкнётесь с той же проблемой, что и для локального IP адреса – скорее всего, ваш внешний IP адрес является динамичным и будет время от времени меняться. Если вам нужен статичный IP адрес, то, скорее всего, его придётся покупать у вашего Интернет-провайдера как дополнительную услугу с ежемесячной абонентской платой.

Очень хороший хостинг сайтов

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

  • Заказ хостинга
  • Регистрация доменов (посмотрите, сколько там доменных зон – вы 100% подберёте себе красивое доменное имя
  • Детальная техническая информация об услугах хостинга

Связанные статьи:

  • Контроль доступа к сайту (блокировка по IP, User-Agent) (78.2%)
  • Азы работы с веб-сервером для пентестера (75.5%)
  • Как защитить веб сервер на Kali Linux от доступа посторонних (75.5%)
  • Установка веб-сервера (Apache 2.4, MySQL 8.0, PHP 8, phpMyAdmin) на Windows 10 (72.2%)
  • Настройка Apache в Windows (72.2%)
  • Установка Kali Linux на флешку или на внешний диск как полноценную ОС (RANDOM — 50%)

факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!

Рекомендуется Вам:

Alexey 22 февраля, 2018 Apache, IP, Windows, роутеры, сервер Рабочая среда 27 комментариев »

27 комментариев to Как веб-сервер на своём компьютере сделать доступным для других

Теперь жду статью как защитить свой веб-сервер от ddos)

Alexey :

Для тех, кто ставит по инструкции свой первый веб-сервер, DDoS это не главная проблема безопасности (начать нужно с того, что хотя бы установить пароли на службы и ограничить доступ к этим служба из вне). Чтобы дидосили нужно обзавестись недругами, которые готовы тратить свои силы и, почти всегда, деньги на ЗАВЕДОМО ВРЕМЕННЫЕ проблемы в работе веб-сервера. DDoS это даже больше какой-то акт отчаянья – ну ненавижу я тебя, а сделать больше ничего не могу. А вообще статья по защиту от дидос атак точно будет. Правда сначала будет длинный и сложный материал про iptables, а затем статья про защиту от некоторых «детских» DDoS атак, в том числе с использованием iptables, правда в среде Linux.

Спасибо за развернутый ответ.

Добрый день. Поставил по вашей инструкции Apache24, PHP … , — все работает по локальной сети – отлично, спасибо. Проблема возникла при попытке открыть страницу из интернета по внешнему IP моего роутера (определенного по ссылке на вашем сайте и проверенного на других – IP совпадают). Набираю этот внешний IP в браузере телефона (подключен к интернету по другой сети(не через мой роутер)) – получаю сообщение – “не удается получить доступ к сайту, превышено время ожидания ответа от сайта” Настройки роутера на переадресацию к локальному, статическому IP машины с Apache 24, сделал по вашей инструкции. Подскажите пожалуйста, что надо проверить?

Alexey :

Приветствую! Даже если всё сделать правильно (в том числе проброску портов), но если Интернет-провайдер использует NAT, то возможности получить доступ к вашему веб-серверу не будет. Это особенность NAT — подключения работают только в одну сторону. В качестве решения проблемы — только аренда белого IP у вашего Интернет-провайдера.

Добрый день Алексей. Арендовал белый IP и все заработало, спасибо. Подскажите, есть ли у вас статьи, о том как разместить /создать сайт на таком локальном сервере с именем уже ранее зарегистрированного/купленного домена (домен зарегистрирован на Reg.ru, но сайт пока не создан и не привязан к IP) Может какие ссылки порекомендуете. Спасибо.

Alexey :

У вас уже должен быть доступ к управлению DNS записями домена (посмотрите в панели управления). Создайте или отредактируйте запись A чтобы она содержала IP вашего веб-сервера. Этот скриншот просто для примера, какие A записи можно добавить (у вас будет другой интерфейс, так как у меня не reg.ru). В принципе, когда обновятся записи на DNS серверах, может уже заработать — в браузере при вводе доменного имени будет открываться сайт на вашем локальном компьютере. Если не заработает, или если просто хотите сделать «как надо», то в конфигурационном файле веб-сервера httpd.conf найдите директиву

ServerName localhost

И замените её на

ServerName ВАШ_ДОМЕН

Перезапустите веб-сервер. После этого при обращении к домену должно уже точно работать. На этом можно остановиться. Для работы с субдоменами (адреса вида *.domen.ru) или если захотите добавить ещё один сайт, посмотрите раздел «Подключение виртуальных хостов Apache в Windows» в этой статье. Если вы настраиваете DNS для своих доменов и субдоменов, то вам не нужно редактировать файл C:\Windows\System32\drivers\etc\hosts (как это говорится в той статье) — он только для тех ситуаций, когда нет настроек DNS.

Добрый день Алексей. Вроде все понятно. Спасибо огромное.

Alexey :

Забыл сказать очень важные вещи. В папке /phpmyadmin/ на сервере создайте файл .htaccess и скопируйте в него:

Require local
  • Запрет доступа из вне к MariaDB/MySQL
  • Установка пароля на MariaDB/MySQL

Это нетрудно и не займёт много времени, но это всё нужно сделать обязательно!

По умолчанию если зайти в папку без индексного файла, то показывается список всех файлов в этой папке. Скорее всего, вам это не нужно (и это хуже для безопасности). Поэтому в конфигурационном файле Apache httpd.conf найдите директиву

После неё найдите строку

Options Indexes FollowSymLinks
Options -Indexes

Чтобы изменения вступили в силу, перезапустите веб-сервер.

Если вы разрабатываете и тестируете скрипты прямо на этом сервере, то закройте доступ к папке, в которой находятся файлы проекта с помощью .htaccess как это показано чуть выше. Не храните бэкапов, файлы резервных копий, например, index.php,bak на этом сервере!

Теперь относитесь к этому серверу как к публичному: всё, что не закрыто и не заблокировано это теперь как проходной двор. Отнеситесь к этому серьёзно, так как через веб-сервер можно скомпрометировать (взломать) весь компьютер!

Для настройки ограничений рекомендуется ознакомиться со статьёй «Контроль доступа к сайту (блокировка по IP, User-Agent)».

Как сделать локальный Django-сайт доступным в Интернете / Туннели ngrok

Допустим вы пишите какое-то Django-приложение. Как обычно разработка идёт локально на вашем компьютере. По умолчанию все Django-проекты доступны по адресу http://localhost:8000 или http://127.0.0.1:8000 что одно и тоже. Эта адреса твоего локального компьютера. Соответственно никто другой в Интернете, перейдя по одному из этих адресов, ваш сайт не увидит.

Проект пока рано заливать на какой-то хостинг или выделенный сервер, но показать его другому человеку уже нужно: похвастаться другу, человеку и команды разработки, заказчику и т.д. Даже если этот человек подключится к WI-FI у вас дома и будет находиться с сайтом в одной сети, localhost будет перенаправлять гостя на своё же устройство, а не на ваш сайт.

Что делать, как показать Django-проект, которые запускается на локальном сервере, недоступном в Интернете? Есть несколько вариантов:

  • cделать скриншоты каждой страницы сайта;
  • показать экран в ZOOM или Discord;
  • дать доступ к своему рабочему столу через Team Viewer;
  • записать экранку;
  • настроить HTTP-туннель с помощью утилиты ngrok.

Во время работы над одним университетским грантом я столкнулся с данной проблемой и поэтому в статье хочу рассказать:

  • что такое туннелирование и HTTP-туннель;
  • зачем нужна и как работает утилита ngrok;
  • как настроить HTTP-туннель с помощью ngrok, чтобы сделать доступным в Интернете ваш локальный сайт на Django или любом другом веб-фреймворке.

Прежде чем начнём, давайте знакомится. Меня зовут Макс. Я преподаватель в классическом университете и один из авторов YouTube-каналы PyLounge. Теперь же приступим к делу!

Для начала разберёмся с понятийным аппаратом, чтобы говорить на одном языке.

Дисклеймер: Я намеренно упрощаю некоторые понятия и концепции, т.к. данный материал нацелен преимущественно на новичков. Может быть подобного рода допущения грешны, но что вы мне сделаете, я в другом городе?

Туннелирование — термин из компьютерных сетей, который обозначает процесс, в ходе которого создаётся соединение между двумя устройствами с помощью инкапсуляции различных протоколов.

Комбинация туннелирования и шифрования позволяет реализовать закрытые виртуальные частные сети (VPN).

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

HTTP-туннелирование используется для создания сетевого соединения между двумя компьютерами в условиях ограниченного сетевого подключения (брандмауэр, NAT, ACL). Туннель создается посредником, который называется прокси-сервером, который обычно находится в DMZ.

Ngrok – это утилита для создания туннелей. Она позволяет сделать локальный порт приложения доступным из Интернета без настройки NAT, роутера, DDNS и других протоколов.

Ngrok создает туннель между вашим компьютером и удалённым сервером и предоставляет доступ к нему с уникального домена (адреса), который сама и генерирует. Достаточно только зарегистрироваться на сайте сервиса, установить программу на компьютер и запустить команду создания туннеля. Этим мы и займемся.

Пусть у нас изначально есть некоторый Django-проект. Он работает и запушен локально, доступен по адресу http://localhost:8000 .

  1. Переходим на официальный сайт Ngrok — https://ngrok.com/
  2. Регистрируемся на сайте и подтверждаем почту. Это бесплатно.
  3. Скачиваем архив с ngrok для вашей версии операционной системы. В моём случае это Windows 10 64-бит.

  1. Распаковываем архив в любое удобное место.
  2. Запустим файл ngrok.exe.
  3. В открывшемся окне выполним следующую команду для автоматической конфигурации файла настроек ngrok.yml: ngrok config add-authtok ВАШ_ТОКЕН

Токен можно посмотреть на сайте ngrok на вкладке Your Authtoken либо в разделе Setup & Installation в пункте 2. Connect your account.

Setup & InstallationYour Authtoken

Это нужно, чтобы получить доступ ко всем функциям ngrok.

  1. Теперь для создания HTTP-туннеля выполним команду: ngrok http http://localhost:8000 или ngrok http 8000

Открывается окно сеанса туннелирования. В этом окне в разделе Forwarding сгенерировалась ссылка. По ней наше Django-приложение, запушенное на порту 8000, и будет доступно в Интернете.

Окно сеанса

Теперь вы можете просто скопировать эту ссылку и отправлять её другу, заказчику, другому разработчику и т.д. Эта ссылка будет работать пока вы не завершите сеанс Ngrok или пока не закончится время сеанса (аренды ссылки). После чего сеанс придётся перезагрузить, при этом сгенерируется новая ссылка.

Однако при попытке перейти на сайт Django выдаст ошибку DisallowedHost

Чтобы её исправить необходимо открыть файл settings.py нашего Django-приложения и в списке ALLOWED_HOSTS указываем ‘*’

Django проверяет заголовок хоста HTTP-запроса на наличие URL/ip-адреса, который находится в пределах разрешенных хостов ALLOWED_HOSTS . Указывая * мы разрешаем доступ с любого хоста.

После сохранения изменений сайт наконец-то будет доступен по сгенерированной ссылке!

Базовый синтаксис утилиты Ngrok выглядит следующим образом:

ngrok команда опции

  • completion— сгенерировать скрипт автодополнения для bash или zsh;
  • config add-authtoken— сохранить токен аутентификации в конфиг файл;
  • config check— проверить конфигурационный файл на ошибки;
  • config edit— редактировать конфигурационный файл;
  • http— создание HTTP туннеля;
  • tcp— создание TCP туннеля;
  • start— запуск туннелей, настроенных в конфигурационном файле;
  • service install— установить конфигурационные файлы сервисов в систему;
  • service start— запустить сервис;
  • service stop— остановить сервис;
  • update— обновить утилиту до последней версии;
  • version— показать версию утилиты.

Если вы хотите посмотреть перечень всех команд, можно запустить команду ngrok help .

У каждой команды есть свои параметры. Так чтобы сделать доступным локальный HTTP порт нашего приложения извне необходимо использовать команду http. Затем указать порт в качестве параметра, например для нашего случая это порт Django проекта 8000:

ngrok http 8000

Например, если вы не хотите, чтобы кто-то посторонний не смог получить доступ к вашему ресурсу, можно добавить HTTP-авторизацию. Для этого используется опция —basic-auth:

ngrok http —basic-auth=»пользователь:пароль» 8000

На самом деле возможностей довольно много. Есть много мощных комбинации команд и их опций. Со всем этим по мере надобности рекомендую ознакомиться в документации ngrok.

На последок упомяну, что, когда Ngrok-клиент запущен, можно открыть веб-интерфейс, который доступен по адресу http://127.0.0.1:4040 . В нём доступна история запросов, в которой можно увидеть какие данные пришли и что было отправлено в ответ, переотправить или модифицировать запрос и многое другое.

Вот таким нехитром способом можно использовать Ngrok для создания туннелей и проброса локального порта в Интернет.

В бесплатном тарифе Ngrok может использоваться только для не длительного проброса в районе, кажется, 1 часа (тут могу ошибиться). Потом надо перезапускать сессию. Однако для локальной разработки, чтобы показать, как выглядит локальный сайт вполне подойдёт.

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

Надеюсь эта статья была полезной и интересной. До скорых встреч!

Делаем локальный сервер доступным всему интернету

При разработке веб проекта (не важно на PHP, Django, Flask) бывают случаи когда необходимо быстро продемонстрировать его работу заказчику для уточнения деталей, а так как обычно разработка происходит на локальном компьютере разработчика, то необходимо предварительно выложить проект на удаленный сервер.

Было бы удобней просто дать заказчику временную ссылку, которая даст доступ к проекту запущенному локально у разработчика. Для этих целей есть инструмент ngrok, как его использовать описано в этой заметке.

Установка ngrok на Windows

ngrok доступен под все основные операционные системы, скачать его можно с https://ngrok.com/download. Под Windows доступна как установка через менеджер пакетов Chocolatey, так через скачивания zip архива.

После скачивания архива (содержащего всего один файл) его нужно просто распаковать. На этом собственно установка завершена.

Регистрируемся тут https://dashboard.ngrok.com/login и получаем токен.

Далее в командной строке Windows перейдем в папку с ngrok.exe и выполним команду:

ngrok config add-authtoken 21dwwv1C_ТУТ_ВАШ_ТОКЕН

Как пользоваться ngrok

Например, мы разрабатываем проект на Джанго используя тестовый сервер и хотим показать проект заказчику, как нам это сделать?

Запустим тестовый сервер python manage.py runserver , теперь проект доступен нам по адресу http://127.0.0.1:8000/

Далее в командной строке Windows перейдем в папку с ngrok.exe и выполним следующую команду:

ngrok http 8000

8000 — это порт на котором у нас запущен тестовый сервер Django.

В результате получаем такой вывод:

Вывод ngrok в консоль после запуска

http://f1ff-109-63-232-90.ngrok.io/ это адрес по которому наш локальный сервер доступен в интернете.

Наш тестовый сервер будет доступен по этому адресу до тех пор, пока мы не закроем окно консоли или не нажмем в ней Ctrl + C. После этого, чтобы сервер стал доступен вновь извне с помощью ссылки, нужно заново запустить ngrok.

Попробуем перейти по полученному адресу и уже увидим страницу Джанго, осталось только убрать эту ошибку:

Страница с ошибкой Django при использовании ngrok

Для этого в файле settings.py нашего проекта поправим директиву ALLOWED_HOSTS:

ALLOWED_HOSTS = [ '127.0.0.1', 'localhost', '.ngrok.io']

Перезапускаем сервер Django и теперь все ок:

Начальная страница Django при импользовании ngrok

Вот таким образом мы можем продемонстрировать процесс разработки заказчику.

Заключение

Описанное выше это не все, что можно сделать с помощью ngrok, например мы можем сделать доступ извне к нашей локально запущенной Postgresql (например на порту 5432). Для этого достаточно команды:

Далее мы получим вывод с данными доступа.

Более подробно о работе с ngrok лучше читать в официальной документации https://ngrok.com/docs

Категории

Свежие записи

  • Импорт/экспорт Linux WSL
  • Не печатаются заглавные буквы в PowerShell
  • 1С-Битрикс: Ошибка авторизации! Срок действия пароля истек, необходимо сменить пароль.
  • Несколько конфигураций для проекта Django
  • Django inclusion_tag с разными шаблонами
  • Декоратор @property в моделях Django

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *