138 подписчиков

Как сделать свой сервер из домашнего ПК?

18K прочитали

Многие начинающие и не очень программисты (или просто пользователи компьютера ) сталкивались с такой задачей: "Как сделать свой сайт и разместить его в интернете без покупки сервера?" спойлер - несложно!

фото с сайта cnews.ru
фото с сайта cnews.ru

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

Разберем подробнее, что нам нужно:

Белый или серый IP-адрес выдан Вам для подключения?

Некоторые интернет-провайдеры выдают пользователям серые IP адреса. Разницу необходимо понимать (почитать). Для того, чтобы определить какой адрес именно у Вас, переходим по ссылке и смотрим в какой диапазон попадает Ваш адрес. Если адрес отличен от адресов ниже, то все прекрасно - продолжаем.

  • От 10.0.0.0 до 10.255.255.255 с маской 255.0.0.0 или /8;
  • От 172.16.0.0 до 172.31.255.255 с маской 255.240.0.0 или /12;
  • От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16;
  • От 100.64.0.0 до 100.127.255.255 с маской подсети 255.192.0.0 или /10.
    Если непонятно про маски - воспользуйтесь
    калькулятором.

Как подключен интернет дома?

Необходимо понять структуру вашей сети. Работаете вы через маршрутизатор (роутер) по WiFi, или напрямую Ethernet-кабель подключен к компьютеру.

Разберем случай с использованием WiFi, для того чтобы через интернет попадать именно к Вам на компьютер, необходимо открыть порт, на котором будет работать сайт или программа. Смысл данной процедуры опишу в двух словах: когда Вы смотрели свой IP адрес через какой-либо интернет-сервис, это был не адрес компьютера, а адрес вашего роутера. Когда человек из интернета захочет попасть на Ваш сайт, ему необходимо миновать роутер. Современный роутер является, своего рода, защитой.

Для того, чтобы открыть порт можно ввести в поисковике фразу: "Как открыть порт на роутере ...", вместо точек указав модель Вашего роутера. Процедура несложная, занимает пару минут времени.

Приведу пример (роутер Tenda n301):

1. Заходим по IP в панель администрирования роутера (обычно, это адрес1 или адрес2). Для работы необходимы логин и пароль для настройки.

Многие начинающие и не очень программисты (или просто пользователи компьютера ) сталкивались с такой задачей:  "Как сделать свой сайт и разместить его в интернете без покупки сервера?-2

2. Открываем порт 80, предварительно загуглив, как это сделать, и узнав серый адрес своего компьютера, например так. Сайты работают на двух портах: 80 и 443. Разница в шифровании передаваемой информации. Нам достаточно 80 порта, без шифрования.

Многие начинающие и не очень программисты (или просто пользователи компьютера ) сталкивались с такой задачей:  "Как сделать свой сайт и разместить его в интернете без покупки сервера?-3

3. Сохраняем настройки.

Какая операционная система установлена на компьютере и как будет запускаться сайт?

Ваш сайт, должен запускаться WEB-сервером. Наиболее распространенные WEB-сервера - Nginx, Apache, IIS. Как создать сайт будет написано в другой статье.

В случае с ОС семейства Windows необходимо создать правила Брандмауэра.

1. Открываем панель управления -> Система и безопасность -> Брандмауэр Защитника Windows. Слева в меню пункт "Дополнительные параметры".

Многие начинающие и не очень программисты (или просто пользователи компьютера ) сталкивались с такой задачей:  "Как сделать свой сайт и разместить его в интернете без покупки сервера?-4

2. Правила для входящих подключений. Создать правило. Для порта -> Далее -> Указываем порт (80 - HTTP) -> Далее -> Разрешить подключение для всех типов сетей. Задаем имя правила и жмем "готово".

Если у Вас установлена ОС на базе ядра Linux. Ищите информацию по "фаерволу", который установлен, будь то Iptables, ufw или что-то другое, и открывайте наш 80 порт для входящих соединений.

Нужно доменное имя?.

Итак, мы запустили WEB-сервер (пускай даже с первоначальными настройками), настроили роутер и в итоге - получили работающий сервер на домашнем ПК, но как теперь на него зайти?

Ответ: нужно в браузере ввести свой белый IP адрес. Если все настроено правильно, то роутер "пробросит" ваше соединение и выведет информацию с запущенного WEB-сервера.

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

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

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

Спасибо за внимание!