Сервер из ПК

Свой сервер в инете на домашнем ПК

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

Для этих целей нужно поднимать сервер, или ставить серверное ПО на свой или выделенный под это дело ПК.
На примере рассмотрим настройку веб сервера на домашнем ПК.Свой сервер в инете на домашнем ПК

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

Для этих целей нужно поднимать сервер, или ставить серверное ПО на свой или выделенный под это дело ПК.
На примере рассмотрим настройку веб сервера на домашнем ПК.

Как работают сайты в интернете?

Когда мы пишем в адресной стрке браузера например yandex.ru и нажимаем enter, происходит следующий процесс:
Браузер, пытается получить IP адрес компьютера за которым закреплено доменное имя yandex.ru. Для этого, с компьютера отправляется dns запрос к dns серверу который прописан в настройках вашей сетевой карты. Днс сервер отвечает: мол за доменным именем yandex.ru закреплен такой то ip адрес. Далее наш браузер подключается к компьютеру с этим ip адресом на 80 порт и говорит мол дай мне страничку с именем yandex.ru на что получает html код страницы и начинает ее рисовать попутно подгружая разные картинки, скрипты и тд.
Надеюсь в общих чертах понятно.

Требования

Так как мы делаем сервер дома, из вышенаписанного следует что:
ip адрес нашего домашнего компьютера должен быть доступным в интернете, для чего подключаем себе внешний ip. В противном случае ПК будет доступен только в пределах локальной сети только по серому ip а то и вовсе недоступен, это зависит от вашего провайдера.
Также нужнО доменное имя, например myserver.ru и сам веб сервер установленный на компьютере.
Получив доменное имя его необходимо связать со своим внешним ip адресом.

Доменное имя (зона)

Доменное имя, оно же домен, или доменная зона предоставляют регистраторы доменных имен. Это такие сервисы например reg.ru, reggi.ru, addomains.ru которые позволяют вам купить у них доменное имя и закрепить его за своим ip. Цена обычно плавает от 100 до 500р в зоне ru, com, net и пр. В общем выбираем понравившийся по цене и сервису регистратор, регистрируемся на нем, покупаем у него придуманный домен в выбранной зоне, оплачиваем, обычно электронными деньгами типа яндекс деньги, WebMoney и т.д.
После чего в админ-панели вашего регистратора у вас появляется ваш домен, (возможность управления своей зоной) и возможность связать его с вашим внешним ip адресом, что собственно и необходимо сделать. По мимо основного купленного домена, например myserver.ru регистратор позволяет бесплатно зарегистрировать еще несколько имен 3 уровня (т.е. управлять зоной). Это означает что можно связать такие именa как anyname.myserver.ru с любыми другими адресами. Например если основной сайт myserver.ru, то доменом 3го уровня можно сделать форум т.е. forum.myserver.ru или myblog.myserver.ru. Важно понимать что домены 3го уровня по функциональности ничем не отличаются от доменов 2го уровня т.е. myserver.ru и являются по сути такими же доменами только имеют более длинное и зависимое от второго уровня имя. Их также необходимо закреплять за конкретными ip адресами. Доменов может быть несколько и все они могут быть завязаны на как на один так и на разные ip адреса других компьютеров. На одном веб сервере может висеть несколько сайтов, это возможности веб сервера.

По сути сайт\\сервер может смело работать без доменного имени по одному ip, но в этом случае это доставляет неудобства:
ip тяжелее запомнить чем имя
при смене ip потеряются постоянные клиенты
нельзя будет делать несколько сайтов на одном сервере
сайт без имени не вызывает уважения по умолчанию =)

Привязка домена к IP

Итак, допустим мы подключили себе внешний ip адрес, зарегистрировались в регистраторе доменных имен, купили у него домен и связали его со свом внешним ip. После некоторого времени (обычно не больше суток) после привязывания доменного имени к ip адресу ваш домен должен заработать, то есть начать резолвиться то есть при запросе myserver.ru компьютер будет получать ваш внешний ip адрес от dns сервера.

Как проверить что домен заработал?

Очень просто, жмем Пуск->Выполнить->cmd и пишем (например проверим домен suerdomain123.ru) в черном окне:

ping supersomain123.ru
если в ответ получаем:

C:\\>ping superdomain123.ru
При проверке связи не удалось обнаружить узел superdomain123.ru.
Проверьте имя узла и повторите попытку.

Это означает что домен не резолвится т.е. не работает. Если же начинается обмен пакетами или хотябы отображается ваш внешний ip адрес то это означает что домен успешно резолвится.

Также работоспособность домена можно проверить утилитой nslookup (что более правильно в отличии от первого варианта), для этого в том же cmd пишем

nslookup myserver.ru

если в ответе видим свой внешний ip адрес закрепленный за этим доменом то все работает, если нет – то домен еще не заработал (не синхронизировались днс серверы вашего провайдера) или домен не связан с ip адресом. Как уже упоминал раньше, обычно эта процедура занимет не больше суток.

Домен резолвится, что теперь?

Теперь, если ваш ПК подключен на прямую к интернету, можно начинать поднимать веб сервер, если же у вас дома маршрутизатор типа DIR-100, DIR-300 то на нем (на маршрутизаторе) необходимо настроить port-mapping (перенаправление портов) в частности необходимо перенаправить 80 TCP порт с маршрутизатора на ваш домашний ПК на котором будет стоять веб сервер.

Настройка WEB-Сервера:

Web-сервер – программное обеспечение которое по умолчанию открывает 80 TCP порт на компьютере через который происходит отдача кода страниц клиентам, т.е. страничек сайта юзерам заходящим на сайт. Самым распространенным веб сервером на сегодняшний день является apache который работает как на windows так и на linux, unix системах. Но одного apache для разворачивания движков, порталов основанных на php и mysql не достаточно. Так что еще необходимо поставить минимум PHP и MYSQL сервер. Но если вы новичек в этом деле – вам будет туго с этим справиться. Так что проще всего взять сборку appserver или xampp в которые уже включен apache, php, mysql, perl, sendmail и тд. и установить любую из них (рекомендую appserver) В общем использовать основной и в большинстве случаев достаточный набор для веб сервера.

Установив сборку для веб сервера мы получаем стартовую страницу, проверить что наш веб сервер заработал можно зайдя на http://localhost или http://127.0.0.1 если мы видим там приветствующую страницу сборки об успешной установке то это означает что веб-сервер поднялся и успешно заработал. Теперь попробуем зайти на http://myserver.ru если видим эту же тестовую страницу – значить она (ваш сайт) успешно доступна из интернета.
После чего можно переходить к html верстке php программированию, дизайну, в общем к веб разработке и реализации своих идей.

Доменное имя не ограничивает в какомто конкретном сервисе будь до http, ftp, mysql и пр. На ПК может быть поднят любой доступный сервис, хоть своя онлайн радиостанция, сервер чата, сервер игры, dc-hub, торрент сервер, мониторинг чеголибо, и т.д.

Чтоб например поднять ftp сервер на своем ПК достаточно поставить соответствующий софт для фтп сервера например Gene6 FTP Server, настроить его и ваш FTP Сервер будет доступен из интернета как ftp://myserver.ru

В завершении перечислим все проходимые этапы:

1. Найти ПК для сервера
2. Подключить внешний IP адрес
3. Выбрать регистратор и зарегистрироваться
4. Оплатить и купить доменное имя
5. Связать доменное имя со своим внешним IP (в админ-панели регистратора) и проверить его работу
6. Настроить port-mappnig если есть маршрутизатор
7. Установить программное обеспечение web и других нужных серверов

>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. Если какому-либо устройству понадобиться «выйти в Интернет», то он передаст соответствующий запрос роутеру, роутер подключится к нужному узлу в глобальной сети, роутер же получит ответ от узла в глобальной сети и передаст этот ответ устройству в локальной сети, которое сделало первоначальный запрос.

Как узнать локальный 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 адрес.

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

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

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

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

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

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

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

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

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

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

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

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