Как создать локальный сервер на компьютере? Http сервер в локальной сети

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

Мы можем сделать сайт доступным для других устройств, подключённых к сети:

  • внутри квартиры (всегда);
  • внутри локальной домашней сети (почти всегда);
  • для всех пользователей Интернета (не всегда).
Статический или динамический?

Разница в вероятностях (всегда-иногда) заключается в вашем IP. Если он статический, то всё делается довольно легко. Как делать локальный сервер при динамическом IP в этой статье не описывается.

Внутри своей квартиры вы сами задаёте политику присвоения адресов - например, Wi-Fi роутер может раздавать устройствам произвольные, динамические IP адреса; и можно настроить роутер и устройства так, что всем им будут присвоены определённые статические адреса.

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

Локальные адреса, в основном, имеют такой вид (вместо нулей должны быть другие цифры):

172.16.0.0 192.168.0.0

Приступаем

Открываем файл C:ServerbinApache24confhttpd.conf и ищем там строчку

Listen 127.0.0.1:80

Нам нужно заменить IP адрес на свой, например, мой локальный IP адрес 192.168.43.90, следовательно, я пишу:

Listen 192.168.43.90:80

Как вариант, можно сделать вот так:

Сохраняем файл и перезапускаем сервер. На самом деле - всё!

Пробуем доступ к серверу набрав в строке браузера свой IP (я набираю http://192.168.43.90/ ), как и следовало ожидать - доступа нет, но причина очевидна: файервол. Его нужно настроить должным образом, но для нашего тестирования я его просто отключаю.

Теперь всё впорядке и ваш сайт доступен по адресу http://192.168.43.90/ с любого устройства, находящегося в вашей домашней или городской сети. На следующем скриншоте, я зашёл на локальный сервер с телефона:

24 часа в сутки

Если у вас статичный IP для интернет соединений (у некоторых Интернет провайдеров можно подключить эту услугу за отдельные деньги), то вы можете сделать из своего компьютера самый настоящий хостинг-сервер! Понятное дело, что компьютер должен быть включен 24 часа в сутки, иначе на ваш сайт невозможно будет попасть.

Внутри локальной (домашней) сети вы можете придумать имя своему сайту и попросить ваших друзей и всех тех, кто будет заходить на него внести изменения в файл
C:WindowsSystem32Driversetchosts
Каждому из них нужно будет добавить туда строчку:
ваш_IP ваш_сайт
например
192.168.43.90 alexblog.local
После этого набирая в адресной строке браузера http://alexblog.local они будут попадать на ваш сайт.

Зачем все эти сложности?

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

Более того, открывая доступ к своему localhost нужно подумать о безопасности. В данной статье я этот вопрос не затрагиваю, но могу вас заверить, что Apache, запущенный от имени администратора (а именно так он у большинства на локахосте и запущен), через скрипты PHP (или уязвимости в них), может «путешествовать» по каталогам дисков. Т.е., по крайне мере теоретически, злоумышленник через уязвимости в вашем сайте может скачать файлы с вашего компьютера или удалить файлы, например, в директории Windows. Если заботиться о безопасности локального сервера является слишком сложным занятием для вас, то ответ очевиден - хостинг.

Существует множество причин, по которым необходимо получить доступ к собственной локальной сети из глобальной сети интернет: кому-то необходимо подключиться, чтобы была возможность просматривать удаленной файлы и папки, некоторым нужен доступ к системам безопасности, камерам и прочим объектам, кто-то «поднял» веб-сервер и не хочет платить за хостинг, а кому-то нужен совет по настройке компьютера с удаленным подключением. Причин множество, также, как и вариантов решения проблемы.

Постановка задачи

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

Общепринятыми стандартами доступ по каждому протоколу происходит по следующим портам:

  • Веб-сервер или доступ по HTTP протоколу. Удаленное подключение обеспечивается по TCP портам 80 и 8080.
  • Защищенная передача данных к веб-серверу - 443 порт.
  • Основной протокол для передачи файлов или FTP использует порт 21.
  • Защищенный протокол для доступа из терминала SSH по порту 22. Обычно используется для выполнения настроек устройств.
  • Открытый протокол для подключения к удаленному терминалу TCP - порт 23.
  • Доступ к почтовым серверам SMTP и POP3 используют порты 25 и 110 соответственно.

Специализированные программы используют свои собственные порты, например, чтобы получить доступ из интернета в локальную сеть используя программу VNC нужно открыть порт 5900, Radmin - 4899, а для подключения к встроенной службе удаленного рабочего стола Windows (RDC) - 3389.

Стоит отметить, что открытие портов на сервере добавляет уязвимости и привлекает злоумышленников. Поэтому открытие портов производится исключительно по мере необходимости, т.е. если нет необходимости в использовании доступа по протоколу, то и порт, используемой службой необходимо закрыть. Хорошей практикой является такая, что изначально закрывается доступ к любой службе, а по мере необходимости производится настройка доступа к службе. Особо уязвимыми являются порты, не предусматривающие авторизацию пользователя, например, 21-й порт в Windows по умолчанию открыт, что дает возможность несанкционированного подключения.

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

Настройка маршрутизатора - трансляция адресов

Трансляция или проброс адресов необходим для того, чтобы роутер переключил внутренний локальный адрес на внешний. Это означает, что при подключении будет указываться IP, который «смотрит» в интернет. Внешний IP адрес бывает «серым» (динамическим) или «белым» (статическим), но особенности настройки маршрутизатора по каждому из случаев выходят за рамки статьи, поэтому в качестве примера условно будет использоваться настройка на статическом адресе.

Настройка доступа производится на примере роутера Zyxel семейства Keenetic с версией прошивки v2. Этот роутер хорошо подходит для реализации поставленных задач. Чтобы выполнить настройку необходимо зайти через веб-интерфейс на страницу конфигурации.

Компьютер подключается к роутеру по DHCP. Это означает, что каждый раз при запросе добавить в сеть он получает новый IP адрес. Чтобы обеспечить доступ к локальной сети через интернет необходимо закрепить IP за каждым устройством. Это делается на главной странице во вкладке «Домашняя сеть» путем нажатия зеленой стрелки (при наведении появляется подсказка — «Закрепить IP адрес за устройством»).

Далее в конфигурации выбирается пункт меню «Безопасность» и вкладка «Трансляция сетевых адресов». На этой вкладке необходимо добавить для каждой выбранной службы свое правило доступа и трансляции сокета в интернет. Сокет - это связка IP адреса и номера порта, например, 192.168.1.1:8080 для подключения к Веб-серверу.

В открывшемся по нажатию кнопки «Добавить правило» окне нужно указать конкретные поля для создания правила:

  • «Интерфейс» - из выпадающего списка выбирается WAN интерфейс. Вариантов выбора может быть несколько в зависимости от настроек провайдера: PPTP, PPPoE, L2TP или ISP (Broadband Connection).
  • «Протокол» - выбирается из списка протокол для удаленного подключения входящих соединений.
  • «Перенаправить на адрес» — указывается локальный адрес машины, для которой необходимо сделать перенаправление.
  • «Новый номер порта назначения» — номер локального порта указанного компьютера.

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

Настройка доступа на компьютере с ОС Windows

Для настройки компьютера нужно на нем открыть порты для входящих соединений. Это делается в программе стандартной поставки «Брандмауэр Windows». Программа запускается из «Панели управления - Система и безопасность - Брандмауэр» или «Пуск - Выполнить - cmd - firewall.cpl».

Открытие портов происходит следующим образом:

  • В программе нужно выбрать пункт меню «Дополнительные параметры».
  • Откроется новое окно, которое позволит настроить расширенные параметры защиты компьютера.
  • При нажатии кнопки «Правила для входящих соединений - Создать правило» открывает модальный диалог «Мастера создания правила».
  • Первый пункт диалога позволяет выбрать тип правила: для конкретной программы (обычно при установке программы самостоятельно добавляют правила для корректно работы), для порта, предустановленные правила и настраиваемые правила.
  • Выбирать нужно переключатель «Для порта».
  • Выбирается тип протокола (TCP или UDP), и в соответствующее поле вносится конкретный порт или диапазон портов через дефис.
  • После выбора порта создается само правило, т.е. разрешается или запрещается подключение. В нашем случае при открытии порта нужно поставить переключатель напротив «Разрешить подключение».
  • Определяется профиль сетевого соединения. Можно проставить галочки напротив всех профилей.
  • На последнем пункте нужно придумать имя для правила и нажать «Готово».

Таким образом открывается порт на компьютере. Аналогично, как и в роутере для каждого порта нужно создавать отдельное правило. Чтобы не добавлять доступ к каждому порту, можно полностью отключить брандмауэр, но делать это категорически не рекомендуется.

Настройка доступа с использованием сторонних программ

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

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

Как известно, наиболее надёжный, удобный и дешевый хостинг – это http://127.0.0.1.

Для чего же он может пригодиться. Во-первых, непосредственно как хостинг. Для частного пользования вряд ли, но в качестве – вполне. Во-вторых, как тестовая площадка для сайта. В-третьих, это просто интересно.

Так что же лучше использовать. Есть много оболочек для web–разработки. Они представляют собой портированные версии программ для Linux- и Unix-подобных систем. В их состав входят PHP, MySQL, Perl, Sendmail, Apache и многое другое. Только недостатки часто встречаются, среди которых неработающие части комплекса, отсутствие возможности перезапуска сервисов, нестабильная работа и дыры в безопасности. Как тестовую площадку, в принципе, можно использовать. Но не более того.

Веб сервер на ubuntu для локальной сети

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

Итак, предположим, что есть роутер с выходом в интернет. Также имеется тестовый сервер на Ubuntu Server 16 с именем webs. Необходимо установить web-сервер для тестирования проектов и их дальнейшей миграции на хостинг.

Установка LAMP

Будем использовать связку Apache + PHP + MySQL.

Перед установкой обновим систему.

sudo apt-get update

sudo apt-get upgrade

Установим Apache + PHP + MySQL.

sudo apt-get install apache2 php libapache2-mod-php php-mcrypt php-mysql mysql-server mysql-client php-gd

При установке обязательно указать пароль пользователя для MySQL.

В файл /etc/apache2/apache2.conf в самый конец добавим переменную ServerName. Это должно быть имя домена или .

К примеру

ServerName 192.168.0.160

Домашний web сервер своими руками

Основная конфигурация установлена. Проверим работоспособность. Для этого перейдём по адресу http://192.168.0.160 и увидим приветственную страницу apache.

Проверяем работу PHP. По умолчанию корневая папка web-сервера находится в /var/www/html. Удаляем из неё файл index.html и создаём файл index.php.

rm /var/www/html/index.html|echo ‘’>/var/www/html/index.php

Если в браузере отображаются сведения о PHP, значит, всё работает.

Настройка Samba

Теперь надо настроить доступ к файлам web – сервера и доступ к web – серверу по имени. Без наличия настроенного в сети сервер будет пинговаться исключительно по IP адресу. Поэтому надо установить и настроить Samba.

sudo apt-get install samba

Редактируем файл /etc/samba/smb.conf.


netbios name = webs
security = user
map to guest = bad user

Создаём секцию для доступа к файлам.


comment = html
path = /var/www
browseable = yes
read only = no
guest ok = yes
directory mask = 0777
create mask = 0777

Перезагружаем службу.

sudo service smbd restart

После перезапуска файлы WEB – сервера будут доступны по ссылке \\webs\html

Имеем готовую площадку для экспериментов.

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

Теперь нужен доступ из интернета. Регистрируем бесплатное доменное имя в зоне.GA (Габона). Для этого идём на сайт http://www.freenom.com. Регистрируемся, ищем и регистрируем свободное имя. При регистрации указываем свой внешний IP – адрес. Этот сервис позволяет воспользоваться своим DNS, поэтому регистрировать имя на бесплатном DNS–сервере заранее нет необходимости. Через некоторое время имя будет реплицировано на сервера DNS и станет доступно.

В файле /etc/apache2/apache2.conf надо изменить переменную ServerName на зарегистрированное имя.

В настройках маршрутизатора необходимо № 80 на локальный IP – адрес сервера.

Как развернуть сервер?

Ответ мастера:

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

Надеемся, что вы имеете навык системного администрирования и опты работы с ОС Windows Server.

Итак, для создания локальной сети вам будет нужен главный компьютер, параметры которого соответствуют приблизительным требованиям для осуществления развёртки на нём сервера. Характеристики выбранного ПК могут быть различными – это зависит от задач, которые им будут выполняться. К примеру, объём оперативной памяти должен быть значительным, если планируется устанавливать сервер базы данных или почтовый сервер. А если вам нужно поднять файловый сервер, то придётся брать ПК со значительным объёмом и производительностью жёсткого диска. Для проведения таких манипуляций более всего приемлем процессор Pentium за счёт хорошей производительности. В цепь питания ПК должен быть подключён блок для бесперебойного питания, а сам ПК должен быть оснащён массивом RAID.

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

Флажки должны быть установлены напротив таких компонентов, как Dynamic HostConfiguration Protocol, Domain Name System и Windows Internet Name Service. В этих целях вами на жёстком диске должен быть создан ряд разделов: Ris, файл подкачки, системный диск и хранение данных пользователя. Понятно, что системный диск должен иметь объём не меньше 10Гб. Первоочередным вашим действием должно быть создание раздела для файла подкачки.

Используя сервер локальной сети, произведите настройку сетевого интерфейса для подключения всех ПК. Только указание верного IP-адреса позволит без проблем установить сервер. А потому для маршрутизатора нужен реальный адрес, чтобы после можно было заняться настройкой Интернет служб – VPN, FTP, терминальной службы

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

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