Как сделать домашний веб сервер для хостинга
- Компьютерная помощь
- Все о железе
- Сеть — как приготовить?
- Как сделать домашний веб сервер
Мастеру, который работает в сфере IT-технологий разработки web-сайтов просто необходимо использовать домашний сервер. С его помощью можно осуществить быструю проверку изменённых параметров, кода, дизайна перед непосредственным размещением объекта на реальный ресурс.
Помимо этого, возникают ситуации, когда интернет-ресурс требует дополнительной проверки выполнения алгоритма на стороннем хостинге. В таких ситуациях локальный web-сервер является идеальным вариантом.
В настоящее время, когда хостингом пользуется каждый владелец интернет-ресурса, возникает естественный вопрос о видах и способах организации такового дома. Давайте рассмотрим более подробно, как сделать хостинг на своём компьютере быстро, легко и правильно.
Наиболее доступным простым и понятным web-сервером для рядового пользователя Windows является использование предустановленного сервера IIS.
Поэтому более продвинутые пользователи сети интернет предпочитают использовать в качестве домашнего хостинга сервер Apache. Инсталляция этого сервера возможна из свободно распространяемого установочного диска Windows, закачанного напрямую из ресурса разработчика с подробной инструкцией как сделать веб-сервер. Иные дополнительные приложения при необходимости можно скачать, к примеру, почтовый сервер, MySQL и т.д.
Для тех, кто хорошо разбирается в программном обеспечении и с компьютером на «ты», идеальным вариантом является специальный проект – Denwer. Он содержит в себе все необходимые компоненты для организации домашнего хостинга для операционной среды Windows и Unix.
Единственным недостатком использования пакета Denwer для Windows является различная организация доступа к файловой системе, каталогам и аренда лицензий Microsoft.
Конфликты такого рода имеют причину возникать в результате плохой совместимости операционных систем Windows и Unix. Различия в работе между файловыми системами безопасности и каталогами могут привести к тому, что тестовый и реальный варианты одного интернет-ресурса будут отличаться.Невзирая на многообразие вариантов организации хостинга сайтов дома, одним из лучших вариантов является реализация под управлением системы Unix. К примеру, достаточно популярным пакетом является Ubuntu или Debian семейства Linux. На сегодняшний день стабильные релизы Debian относятся к самым надёжным операционным системам. Под их управлением работает множество различных серверов.
Следует отметить, что установка необходимых компонентов осуществляется легко, хотя и содержит некоторые нюансы. Главным достоинством web-сервера с операционной системой Linux является возможность использования устаревшей техники с многолетним стажем, не поддерживающей современные вычислительные приложения.
Единственным критерием, обеспечиваемым нормальную работу, является добавление оперативной памяти. Она быстро расходуется во время рабочего процесса и никогда не бывает в излишке.
Установленный, таким образом, домашний сервер для интернет-ресурсов можно смело запускать с вычислительными программами, соединив по SSH или FTP. Использование домашнего сервера из старого компьютера позволит не только разрабатывать и тестировать проекты, но и обеспечивать непрерывный вычислительный процесс в отсутствие интернета.
Комментарии (5)
Все статьи раздела
- Компьютерное железо
- Телефоны изнутри
- Сеть — как приготовить?
- Выбираем комфортный домашний интернет
- Разбор полета: сетевые коммутаторы
- Как заставить Wi-Fi лучше работать?
- Настройка локальной сети
- Выбираем роутер Wi-Fi
- Кто «юзает» мой Wi-Fi
- Настройка свитча, хаба
- Связь стандарта CDMA
- Настройка роутера сети Wi-Fi
- Wi-Fi порождает головную боль
- Настройка «НТВ ПЛЮС»
- Свитч (коммутатор) на 2 порта
- Tronsmart Vega S89
- Видеонаблюдение своими руками
- Что такое компьютерные сети
- Как сделать домашний веб сервер
- Что такое витая пара
- Что такое Wi-Fi
- Бесшовный WiFi
- Видеоконференции
- Локальная сеть своими руками
- Виды сетевого оборудования
- Wi-Fi читает эмоции!
- Как раздать Wi-Fi без роутера?
- UMTS телефония 3 поколения
- Что такое виртуальная АТС
- Интернет для дачи WiMAX (4G LTE)
- Технологию 5G подарят Tele2 и Nokia
- Выбираем оптический модуль с учетом формфактора
- Тайный агент: блокировка «ВКонтакте» и «Одноклассники»
- Что такое контроль траффика и зачем он вам нужен?
- Планшеты изнутри
- Оргтехника — как настроить?
- Внутренности ноутбука
- Оверклокинг — для гиков!
Идеальный сервер умного дома на Home Assistant, часть 1 (аппаратная) / Своими руками (DIY) / iXBT Live
В этой статье хочу рассказать про компоненты, из которых лучше всего собрать сервер умного дома. У меня стояла более сложная задача — покрыть участок 15 соток с баней и основным домом, между которыми около 15 метров. Также хотелось организовать медиасервер, а для него нужно что-то более менее производительное. В итоге остановился на такой связке — основной сервер Raspberry Pi4B 8GB в корпусе Argon One с поддержкой M.2 SATA SSD диска + оригинальный блок питания Raspberry на 3A, дополнительный мини-сервер — шлюз Xiaomi EU — прошитый в OpenWRT, который может также работать самостоятельно (децентрализация системы и повышение отказоустойчивости). Ссылки на все товары из этой статьи будут в конце.
Введение
Данная статья будет в основном только про аппаратную часть (серверную) умного дома. На рынке существует много различных вариантов для сервера, но сервер на Raspberry Pi является самым распространенным. До этого времени у сборки на Raspberry был один очень существенный недостаток — основным хранилищем данных и системы была microSD карта, которая под большими нагрузками и огромными количествами циклов чтение\запись очень быстро приходила в негодность (около года жили брендовые карты памяти, более дешевые уже через несколько месяцев вызывали проблемы). Совсем недавно начали появляться платы расширения с поддержкой SSD дисков, которые полностью решают проблему с microSD. А буквально с месяц назад появился проект Argon One M.2 — специальный корпус для Raspberry Pi, даже я бы сказал серверная оболочка, которая имеет пассивное\активное охлаждение, встроенное ПО для управления кулером и настройкой кнопок питания, платой расширения, которая дает 2 полноценных HDMI порта, вместо micro HDMI. Также 3.5mm аудио выход переносится с боковой части на заднюю, где все порты, что намного удобнее. Отдельно докупается плата M.2 для Argon One (либо сразу идет в сборке) — позволяет использовать только SSD NGFF (SATA, ключи B\B+M), диски NVME не поддерживаются.
Сердце сервера умного дома — Raspberry Pi4B 8GB
Raspberry Pi4 была выпущена в 2019 году, позднее уже появилась версия 4B (B считается лучше, чем А, бывает еще символ + в версии, который означает незначительное улучшение). Версия 4B на 8GB вышла совсем недавно. Вернее ее анонсировали сразу, но купить стало возможно только недавно. Я взял сразу на 8GB. Для умного дома вполне хватит и 2GB, но если хотите поставить что-то еще на сервер кроме умного дома, то лучше брать 4Gb, либо 8.
Технические характеристики
- Процессор: Broadcom BCM2711
4 ядра Cortex-A72 (ARMv8)
64-bit SoC @ 1.5 GHz - RAM: 2\4\8GB
- Питание: USB Type-C (5V, минимум 3А).Возможно питание через GPIO (5V, минимум 3А).
- Порты и разъемы: 2 порта Micro-HDMI (одновременная поддержка двух мониторов с разрешением 4K), 2 порта USB 2.0, 2 порта USB 3.0, 1 порт Gigabit Ethernet (RJ45, 1000Base-T), 1 порт microSD (для операционной системы и хранения данных). Рекомендуется использовать карты объемом минимум 8Gb. Протестирована работа с картами до 128Gb., 40 пиновый GPIO, 3.5мм Audio, Display\Camera Connector, Power over Ethernet (PoE)
- Беспроводные интерфейсы: Двухдиапазонный WiFi (2.4 GHz и 5.0 GHz IEEE 802.11ac/n), Bluetooth 5. 0, BLE (Bluetooth Low Energy)
- Индикаторы: Встроенные светодиоды: индикация питания, работа с microSD картой, режим работы Ethernet.
Сама плата производится в Великобритании. Поставляется в красной коробке, очень маленького размера. Raspberry не навязывает никаких аксессуаров и в базовой комплектации идет только плата. На официальном сайте, можно найти еще оригинальное зарядное 5V 3A (для 4 версии компьютера нужно минимум 3A).
В комплекте только плата, буклет с базовыми «инструкциями» в картинках — руками не трогать за компоненты, брать за торцы и т.д. Также есть подробная инструкция на многих языках. Размеры платы 8,5см на 5,6см — чуть больше пластиковой банковской карты.
Плата крупным планом. Есть разъем для дисплея, разъем для камеры. 2 micro HDMI разъема, вход Type-C для питания. Вход 3.5mm для наушников. Справа 1 LAN (POE), 2 USB2.0 и 2 USB3.0. Сверху плата GPIO (интерфейс ввода/вывода общего назначения) — компьютер можно запитать от GPIO.
С обратной стороны есть только microSD разъем. Даже если будем использовать SSD, microSD нужен для записи специального образа, который будет по умолчанию грузить плату с SSD (типа как в Windows в BIOS переключается). На плате есть отверстия для прикручивания к чему-нибудь — многие корпуса с Алиэкспресс прикручиваются с помощью этих отверстий.
Компьютер очень компактный. Сложно представить, что к нему можно подключить 2 монитора 4K. Кстати, 4K при одновременно двух мониторах будет по 30fps. Если 1, то будет все 60fps. Компьютер не сверх мощный, но для сервера самое-то, главное энергопотребление и температурный режим.
При поиске на Алиэкспресс платы Raspberry, сразу замечаешь, что каждый продавец хочет вам продать свой «самый лучший» набор: обычно это сама плата, какой-нибудь корпус, ноунэйм блок питания, неизвестная карта памяти и обычно пару проводов (HDMI или другие). Не советую брать такие комплекты, так как качество аксессуаров там на очень низком уровне. Найти же чисто голую плату в продаже сложно, но можно. Там где я покупал, была опция плата + алюминиевые радиаторы. Именно такой вариант я и заказал. Радиаторы мне не пригодились, но это было дешевле, чем покупать ненужные наборы.
Argon One — лучший корпус для Raspberry
С чистой совестью могу назвать Argon One лучшим корпусом для одноплатника Raspberry. Такой корпус обойдется в 20$ за версию без платы расширения M.2, но мы здесь собрались именно ради этой самой платы M.2 — за такой вариант придется выложить около 43$. Цена не сильно высока, по сравнению с безымянными корпусами неизвестных производителей. Плюс здесь мы получаем полноценные HDMI в итоге, управляемое (настраиваемое) активное охлаждение + качественное продуманное пассивное охлаждение (толстый алюминиевый корпус отводящий тепло с процессора и RAM через теплопроводящие силиконовые проставки). Ну и вишенка на торте — плата M.2, которая решает проблему быстро выходящих из строя microSD карт. Поставляется корпус в фирменной коробке, по размеру чуть больше самой платы Raspberry.
В комплекте корпус, аксессуары вложенные в него, инструкция на английском по настройке.
Все разъемы вырезаны идеально. Также очень удобно, что все разъемы выведены в одно место (сама плата имеет выходы на разные стороны). Нижняя часть здесь — плата расширения M.2 с USB3.0 разъемом (есть версии без нее).
Под магнитной крышкой удобно выведена плата GPIO. Очень удобно использовать пины Raspberry — нет нужды разбирать корпус. Кстати питать плату можно и через пины 5V и GND (помните про минимум 3А).
А вот, собственно, и все содержимое корпуса. Слева верх корпуса, в нем есть кулер и плата для управления им. Также тут пины GPIO, которые выходят на саму крышку корпуса. Весь корпус из металла. Обратите внимание на 2 массивных прямоугольных куска металла слева — это для процессора и RAM. Также на плате есть переключатель, который покажу чуть позже. Правая часть — плата расширения M.2. На ней слот M.2 и USB3.0 разъем. Как видно, диски SSD подходят разного размера, вплоть до 2280. Единственное, NVME диски не поддерживаются. USB3.0 перемычка папа-папа по центру фото служит для соединения платы M.2 с самим корпусом Argon (с самой платой Raspberry). Снизу — конвертер HDMI, Audio 3.5mm. В пакетике винты и силиконовые проставки.
Две части корпуса крупным планом. На левой (основной) части есть «джампер» — специальный переключатель пинов. Он имеет 2 положения: 1-2 (ручное включение компьютера по нажатии на кнопку) и 2-3 (всегда включен- при отключении электричества и его восстановления, компьютер сам запускается). Естественно, я поставил его в положение 2-3 (нам важно, чтобы сервер работал нон-стоп 24\7). Вообще я хочу купить самый простой ИБП для роутера и сервера умного дома, чтобы они всегда были онлайн. Также на плате есть IR (инфракрасный) приемник для дистанционного включения\выключения компьютера, но для моих задач, это не нужно.
Плата-конвертер. Выводит все разъемы с Raspberry на одну сторону корпуса. Конвертирует micro HDMI в 2 полноценных HDMI (как показывает практика, полноценные HDMI прилично дешевле и вообще их куда проще найти).
Набор аксессуаров — силиконовые ножки на корпус, винтики, силиконовые теплопроводящие прокладки.
SSD диск формата M.2 2280 от Netac — 240GB
На секунду оставим корпус, так как для сборки сервера нам не хватает последней детали — SSD диска.
Самым дешевым и проверенным сейчас является производитель Netac. Давно пользуюсь их HDD и SSD и ничего плохого про них сказать не могу. Взял на 240GB, хотя для умного дома и 120GB с головой хватило бы на всевозможные расширения (меньше 120 не делают просто уже), так как хочу запустить медиасервер на Raspberry. Приходит диск в коробке полностью на китайском. Есть надпись 3 года гарантии. Диск SATA (6GB\s). Формат M.2 2280 (длины диска).
На передней стороне модуль памяти. Видно, что есть 1 свободный слот — в версии 480GB (максимальная для такого формата диска, NVME может быть и на 2TB, но нам он не подходит) — будет тут еще один модуль памяти. Бумажка с серийником обязательна, при ее удалении обнуляется гарантия (гарантия кстати рабочая, знакомый получил бесплатно замену за нерабочий по приезду диск. Не от магазина, а от производителя). В комплекте есть отвертка и 2 винта (не нужны нам, в корпусе уже есть винт).
К слову, чтобы больше не возвращаться к диску — максимальная его температура — 73.6 градуса при постоянной записи на него. Скорость записи прямо зависит от нагрева диска.
При тестировании диска, первые минут 7 скорость записи была около 250МБ\с, а после разогрева стала постепенно падать с 250 до 180, потом до 130 и в конце до 50МБ\с. Емкость диска проверена, скорость чтения не падала — 250МБ\с. Это скорость чтения\записи не через SATA, а через USB3.0 плату от Argon, то есть реальные показатели, как оно и будет на сервере. Скорость более чем хорошая, такого конкретного разогрева диска на сервере не будет.
SSD диск кстати приходит неразмеченный. Нужно через Disk manager (Менеджер дисков Windows) создать новый том, следуя стандартным настройкам мастера настроек.
Сборка сервера умного дома
Первым этапом плата-конвертер соединяется с Raspberry. Также теплопроводящие силиконовые проставки наклеиваются на процессор и оперативную память.
Далее плата вставляется в пины GPIO и привинчивается к корпусу. В плату расширения M.2 вставляется диск SSD. Обратите внимание, что диск прикручивается черным винтом, а золотой остался внизу как поддержка диска. Не перегибайте SSD диск.
Перед скручиванием корпуса нужно применить небольшое улучшение — нужно поменять приоритет загрузки системы с microSD карты на SSD диск. Для этого в программе Raspberry Pi Imager, которая скачивается здесь, выбирается Misc Utilities Imager -> Bootloader -> USB boot. Записывается это на microSD карту (она становится загрузочной на 200МБ).
Ставите ее в Raspberry и подаете питание, когда зеленый светодиод перестанет мигать — выключаете и достаете карту — запись завершена.
После этого нужно установить операционную систему Raspberry OS (Lite версия без графического интерфейса). Рекомендую ставить именно ее, можно поставить Home Assistant и без нее, но тогда сервер не сможет больше ничего делать, кроме запуска Home Assistant. В том же прошивальщике выбираете Raspberry Pi OS Lite 32bit и пишите образ уже на SSD. Диск ваш станет определяться как и СД карта — 200МБ. Не пугайтесь, это часть диска фрагментируется под загрузочный раздел, так и должно быть (через диспетчер дисков Windows можно вернуть все как было — удалить загрузочные разделы и вернуть реальный размер диска одним разделом, если нужно).
После этого ставим диск в корпус и можно все скручивать. Финальным шагом является установка USB перемычки, соединяющей плату M.2 с корпусом. Не забудьте про нее, а то загрузка OS не пойдет. Сервер готов к использованию (вернее аппаратная часть готова).
Программная настройка Raspberry OS и Home Assistant
На программной части в этой статье останавливаться не буду. Для нетерпеливых, вот видео от уважаемого Alex Kvazis по настройке системы (кстати тоже на SSD диск). Просто спокойно делаете все по шагам — проще простого.
Важно. Если у вас не идет загрузка «зависимостей» через интернет на Raspberry (нет внешнего выхода в сеть), то посмотрите урок 1.1, который решает эту проблему (нужно WiFi сети дать больший приоритет).
По настройке только отмечу 1 этап — настройка локализации Raspberry. Здесь нужно выбрать ru-RU-UTF-8 и делается это пробелом на клавиатуре. Alex пропустил этот момент, пришлось потупить, пока не нашел.
Питание сервера умного дома
Raspberry Pi4B требует минимум 3А для бесперебойной работы сервера. Блоки 5В, выдающие полноценные 3А, можно посчитать на пальцах. Я изначально использовал блок QC3.0 с Fasttech (типа их фирменный), потом все же раскошелился на оригинальную Raspberry зарядку. Стоит кстати недорого, по цене обычных зарядок из китая.
Параметры: вход 100-240V 50\60Hz, выход 5.1В 3А, кабель 1.5 метра 18AWG, коннектор Type-C, вилка EU.
Блок сделан по заказу UK в Камбоджии, даже не Китай. Сделан конечно очень качественно, ничего не скажешь. Есть в 2 цветах: черный и белый. Крайне не рекомендую использовать паленые китайские блоки, тем более, те, что идут в универсальных наборах — от блока питания зависит очень много, при недостатке мощности сервер может тупить + надежность блока очень важна.
Zigbee координатор
Zigbee считается самым распространенным беспроводным протоколом на данный момент. Все ввиду низкого потребления и ячеистости сети — то есть некоторые устройства могут быть репитерами (повторителями сигнала), которые расширяют сеть и снижают нагрузку на координатор (головное Zigbee устройство).
Для умного дома Home Assistant требуется универсальный Zigbee «стик» (специальный Zigbee USB модуль в виде флешки). Данный модуль позволяет подключать к умному дому любые Zigbee устройства, не важно какого бренда.
Это не заводские устройства. Их паяют энтузиасты и продаются они здесь: тыц.
Самым первым был стик CC2531 (заводской кстати), у него была очень маленькая дальность покрытия и минимальное число устройств в сети. На смену ему пришел стик V3 на модуле CC2538. Недавно вышел новый V4 на модуле CC2652P (разницы между CC2538 и CC2652 огромной нет, а вот разница по сравнению с CC2531 колоссальная). У меня модуль CC2562P с модулем Ebyte E72 (есть также RFstar, но это совсем не принципиально). Есть также менее и более мощные антенны — у меня например на 12dBi (стоит в частном доме в котельной).
Zigbee стик рекомендуется подключать на некотором удалении от самого сервера, чтобы не создавать помехи. Для этих целей подойдет любой usb 2.0 — 3.0 удлинитель, который часто идет в комплекте с мышкой\флешкой и т.д.
Вот кстати некоторые другие самоделки, купленные через ZigБЕРУ группу. Слева вверху — шлюз Xiaomi EU версии, прошитый в OpenWRT и установленным Home Assistant — у него 250МБ памяти, есть динамик и подсветка. Можно включать радио или звуковые оповещения через Google TTS. Вся система запускается в оперативной памяти и обнуляется каждый перезапуск (нет проблем с картами памяти). Это самое дешевое устройство для умного дома Home Assistant — в нем есть Zigbee модуль, BT Mesh модуль, что позволяет через разные интеграции подключать любые устройства умного дома. Минус — очень слабое устройство с технической точки зрения, которое по факту работает на пределе (но работает и ничего не тормозит — просто тяжелые интеграции вы не поставите). Данный шлюз — идеальное решение для небольшой дачи, дома или же для новичков в умном доме.
Далее слева внизу — 8 канальное реле с сухими контактами — может выступать как обычное реле с беспроводным управлением, либо как контроллер любых внешних датчиков\сенсоров.
Справа вверху — сенсор Co2 на модуле SenseAir S8 (довольно дорогой модуль), но славится своей точностью.
Снизу справа — тот же Zigbee стик, просто с другой стороны.
Архитектура умного дома для больших площадей покрытия
Возвращаемся к покрытию основного дома и гостевого, между которыми около 15 метров. Понятное дело, что требуется в первую очередь сеть WiFi. Xiaomi EU шлюз имеет не очень мощный WiFi модуль, поэтому лучше, чтобы WiFi роутер\репитер был как можно ближе (опять же интернет нужен только для дистанционного управления, а так, все устройства общаются со шлюзом по Zigbee и все работает шустро).
Основной сервер. Raspberry Pi4B 8GB + Argon One корпус + SSD диск + Zigbee стик 2652P. Я сервер разместил в котельной, так как там есть и питание и WiFi роутер с LAN портом и куча свободного места, где можно все это добро удобно расположить и в тоже время ограничить доступ посторонним. Далее Zigbee устройства наполняют сеть. Те, что питаются от сети 220V, обычно являются еще и репитерами — расширяют сеть. Понятно, что не все работает по Zigbee, есть еще WiFi устройства (обычно самодостаточные продукты, типа умного пылесоса, лампочек, увлажнителей, обогревателей и т.д.), Bluetooth датчики или устройства. Я стараюсь избегать Bluetooth протокола из-за небольшой дальности работы и необходимости еще одного шлюза.
Дополнительный сервер. Xiaomi EU шлюз. Гостевой дом у меня небольшой, всего около 30 кв. метров. Для его покрытия с лихвой хватает шлюза сяоми с Home Assistant. В гостевом доме устройств и датчиков не сильно много, поэтому разворачивать еще один сервер на Raspberry было бы расточительно. Также настроено общение между основным сервером и дополнительным по MQTT (протокол общения по типу подписчик-издатель, то есть кто-то публикует сообщения, а кто-то их слушает).
Таким образом, в основном сервере можно управлять сразу всем, что есть и в основном доме и в гостевом, а в случае аварии на основном сервере, дополнительный продолжает работать. Вообще, в идеале, делить сеть на как можно большее число серверов, но это очень дорого и сложно.
Вывод
В данной статье рассмотрели из каких компонентов лучше собрать умный дом на Home Assistant. По соотношению цена-качество-удобство использования, это считается лучшей сборкой на данный момент. Знаю, что некоторые сидят на Intel NUC, но NUC сервер прилично дороже сборки на Raspberry. NUC обычно продается как голая материнская плата и если посчитать все затраты на накопитель, RAM память, блок питания, то получается уже кругленькая сумма. Можно также использовать старый компьютер или ноутбук, но тут вопрос уже сколько он проживет и плюс потребление ноутбука и Raspberry несравнимо.
Ссылки
Полезные ссылки на товары из этой статьи, кроме самоделок, которые можно купить в специализированной группе.
Raspberry Pi4B 8GB (и другой объем)
Argon One M.2 корпус
Оригинальный блок питания Raspberry
SSD Netac 240GB (и другие объемы)
Хостинг «сделай сам» — практически сетевой
Итак, вы на самом деле не верите ни в одну из страшных историй о запуске собственного веб-сервера или просто хотите сами убедиться, так ли это весело, как рекламируется!
В любом случае, вы хотите установить свой собственный веб-сервер. Так как я не делал этого сам, я могу только предложить несколько указателей и несколько ссылок на более осведомленные места, чем здесь.
Высокая пропускная способность, постоянно.
Главное, что вам нужно, — это круглосуточное подключение к Интернету с высокой пропускной способностью. Вы не должны пытаться разместить веб-сервер на коммутируемом соединении 56k. У вас должно быть как минимум «забитое» ISDN-соединение, но предпочтительно полнодуплексный кабельный модем или DSL-соединение. (Если вы собираетесь использовать подключение через кабельный модем, убедитесь, что запуск веб-сервера разрешен в соответствии с Условиями обслуживания вашего интернет-провайдера. )
Большинство интернет-провайдеров не назначают постоянные IP-адреса, если вы не платите за выделенную линию, поэтому в большинстве случаев у вас будет динамический IP-адрес. (Провайдеры кабельного модема обычно назначают IP-адреса динамически, используя DHCP .) Поскольку для размещения домена вам нужен статический IP-адрес, вам необходимо зарегистрироваться в службе динамического DNS. См. на этой странице для получения дополнительной информации.
Чтобы получить подробные пошаговые инструкции по настройке веб-сервера на DSL или кабельном модеме, перейдите на сайт Брайана Ли DSLwebserver.com . Он проведет вас через весь процесс, включая настройку файлов зоны DNS.
Получите свой веб-сервер здесь…
После подключения вам потребуется специальный компьютер и программное обеспечение для веб-сервера. Вы можете запустить веб-сервер практически на любой платформе ОС, которая вам нравится, но у Linux, похоже, больше всего вариантов «бесплатного» (или почти бесплатного) программного обеспечения для веб-сервера.
это хорошее место для начала. Информация и сравнительные обзоры пакетов веб-серверов, а также полезная информация для будущих веб-мастеров. Не забудьте также проверить их ресурсы ссылка.
Безопасность!
Если у вас есть собственный сервер, и особенно если у вас есть собственный почтовый сервер, будьте готовы к нежелательным посетителям!
Вы можете сначала проверить AntiOnline или Rootshell.com Истории здесь могут просто убедить вас, что пусть кто-то другой беспокоится о взломе или взломе. Много полезной информации, очень читабельно.
После посещения AntiOnline вы будете готовы посетить CERT и CIAC сайты для руководств и информации о последних событиях в мире компьютерной безопасности. Эти сайты также являются хорошим местом для посещения, если вы хотите узнать, является ли предупреждение о вирусе, которое вы только что получили, реальным или мистификацией (страницы McAfee Virus Library и Virus Alert также являются отличными местами для проверки на наличие мистификаций и последних вирусов). . У CERT также есть хороший документ в стиле вопросов и ответов по Home Network Security , который стоит посмотреть.
Если вы предпочитаете формат часто задаваемых вопросов, стоит ознакомиться с часто задаваемыми вопросами по безопасности WWW от консорциума W3C (World Wide Web Consortium).
Вам понадобится какой-нибудь брандмауэр для защиты вашего сайта. Руководство покупателя брандмауэра ICSA Labs (бесплатно, но для доступа к нему необходимо зарегистрироваться) содержит информацию о проверке с отслеживанием состояния и, возможно, все, что вам нужно знать о брандмауэрах!
И последнее, но не менее важное: прочтите книгу «Разоблачение взлома» . Он очень удобен для чтения неспециалистами и дает дополнительные меры для каждого метода взлома, который он описывает. Хорошо стоит 40 долларов или около того. Веб-сайт также содержит исчерпывающие списки инструментов, сценариев и другие ссылки.
Запустите свой собственный сервер для удовольствия (и нулевой прибыли)
Кажется, что есть услуга для всего, но иногда вы просто узнаете больше, делая это самостоятельно. Если вы не наслаждались несколько анахроничными удовольствиями запуска собственного сервера и хостинга собственного проклятого веб-сайта, что ж, сегодня вам повезло!
Да, мы возьмем какой-нибудь старый компьютер и превратим его в веб-сервер для размещения всех ваших домашних проектов. С таким же успехом вы можете использовать Raspberry Pi — подойдет даже Zero W — или что-нибудь, что будет работать под управлением Linux, но имейте в виду, что не все вычислительные платформы созданы одинаково, как мы вскоре обсудим.
Да, в этой серии статей мы собираемся сделать это самостоятельно. Здесь много движущихся частей, поэтому нам придется охватить много материала. Не волнуйтесь — это не невероятно сложно. И у вас нет , чтобы делать то, что мы говорим. На каждом шагу есть гибкость, и вам предлагается проложить свой собственный путь. Это часть удовольствия!
Примечание. Для экономии места мы пропустим некоторые из самых основных деталей, таких как установка Linux, и сосредоточимся на тех, которые имеют наибольшее влияние на проект. В этой статье дается общий обзор того, что нужно для размещения веб-сайта вашего проекта дома. Он намеренно замалчивает более глубокие детали и делает некоторые необходимые предположения.
Все мы знаем, что такое веб-сайт. Вы смотрите на один. Как вы создадите веб-сайт? Вероятно, у вас есть идея. Некоторый HTML представлен миру каким-то программным обеспечением веб-сервера. Но как веб-сервер узнает, какие файлы HTML отображать? И как люди переходят от имени, которое они могут ввести в своем браузере, к вашему веб-серверу? Какую роль играют IP-адреса, и можно ли это сделать с помощью домашнего подключения к Интернету?
Сначала поговорим о веб-сервере. Это просто компьютер с программным обеспечением для обслуживания веб-сайтов. Наиболее распространенное серверное программное обеспечение называется Apache, и оно совместимо практически с любым веб-сайтом, который вы хотите запустить. Он выполняет задачу связывания запросов веб-сайта с коллекцией файлов, составляющих веб-сайт.
Типичный стоечный веб-сервер, любезно предоставленный Википедией CC BY 2.5Для запуска Apache нам нужен компьютер и ОС. Мы возьмем старый ноутбук и установим на него Linux Mint. Linux Mint является потомком Ubuntu, поэтому большинство руководств по Ubuntu прекрасно работают с ним.
В качестве оборудования мы используем ноутбук эпохи Vista с 64-битным двухъядерным процессором AMD Turion, 2 ГБ памяти и старым жестким диском на 120 ГБ. Да, нам действительно стоит потратить несколько баксов и переключить его на SSD. Но это всего лишь набросанный проект для удовольствия, и нет необходимости тратить деньги на простой эксперимент. Конечно, вам не обязательно использовать старый ноутбук. Настольный компьютер будет работать нормально, или небольшой форм-фактор — что угодно.
Если вы похожи на меня и хотите, чтобы сервер хранился на полке, имейте в виду, что вам понадобится монитор и клавиатура, чтобы диагностировать его в случае возникновения проблем. Преимущество ноутбука в том, что он имеет встроенный монитор и клавиатуру! Это может пригодиться, когда он не в сети, и вы не можете понять, почему.
Важное примечание о выбранном вами компьютере: на нем должна быть установлена поддерживаемая ОС. В мире x86 это означает 64-битный процессор. Большинство современных дистрибутивов Linux плохо поддерживают 32-битные процессоры или вообще не поддерживают их. Без поддерживаемой ОС в вашем проекте не будет актуального программного обеспечения. Это ограничит возможности, но также и безопасность. Вы бы не стали запускать Windows XP в Интернете, так что не останавливайтесь на старых версиях Linux.
Первый шаг: подключение к Интернету
Сервер заслуживает проводного подключения, когда это возможно, но беспроводное соединение тоже подойдет, если оно надежно. У нашего древнего ноутбука нет адаптера Wi-Fi, поэтому он жестко подключен к модему/маршрутизатору/телефону, предоставленному нашим интернет-провайдером. Мы также рекомендуем вам настроить ноутбук на статический IP-адрес, чтобы его IP-адрес в вашей сети никогда не менялся. Вы можете сделать это в маршрутизаторе или в конфигурации Ethernet в Linux.
Настройка сервера
Вентиляционные отверстия находятся слева, поэтому они открыты с правой стороны рядом с маршрутизатором, поставляемым интернет-провайдером.Далее в нашем списке идет установка некоторых основных инструментов для Linux, таких как текстовый редактор nano для командной строки и ) серверное программное обеспечение. SSH позволит вам подключиться к серверу с другого компьютера, а как только SSH будет установлен, вы можете засунуть ноутбук на полку рядом с вашим роутером и забыть о нем. Не оставляйте ноутбук закрытым — ему нужна вентиляция, так что хотя бы оставьте экран частично открытым. Чтобы сэкономить место, положите ноутбук на бок вентиляционными отверстиями вверх.
Для входа на сервер вам понадобится терминальная программа. Большинство операционных систем поставляются с программой терминала SSH, такой как Windows Terminal или Terminal в Mac OS. Я использую MobaXterm в Windows уже много лет и считаю его гораздо более удобным. Некоторые люди предпочитают простые терминальные программы SSH, такие как PuTTY. Используйте то, что работает для вас, и подключитесь к своему серверу по SSH на его IP-адрес.
Далее вам нужно будет установить программное обеспечение веб-сервера Apache. Для этого есть множество руководств в Интернете, но будьте осторожны: во многих из них вы должны выполнить базовую установку Apache, MariaDB и PHP, а затем разместить свои файлы в /var/www/html
в качестве пользователя root. Не делай этого! Вам необходимо создать то, что называется виртуальным хостом Apache, и нового системного пользователя, с которым он будет связан.
Мастер вашего домена
Наконец, вам нужно доменное имя и способ связать его с вашим сервером Linux. Существует большое количество регистраторов доменов, и вы можете получить доменное имя .com менее чем за 10 долларов США в год. Обычными регистраторами, одобренными компьютерщиками, являются Cloudflare или Namecheap. Это не одобрение , просто подтолкните в правильном направлении, если вы никогда не делали этого раньше. (Не стесняйтесь оставлять свои отзывы в комментариях.)
Чтобы связать этот домен с вашим сервером, вам потребуются услуги поставщика системы доменных имен (DNS). DNS — это то, что сопоставляет ваше доменное имя с IP-адресом через так называемую запись адреса (A).
У вас есть один динамический IP-адрес, мистер
Многие регистраторы доменов предоставляют бесплатные услуги DNS, но они не оптимизированы для домашнего хостинга. Почему бы и нет? Если бы ваш сервер находился где-нибудь в центре обработки данных, ему был бы присвоен постоянный IP-адрес. Но поскольку вы размещаете его дома, общедоступный IP-адрес вашего сетевого подключения будет время от времени меняться, и ваш веб-сайт будет отключаться, пока IP-адрес не будет обновлен во всем мире. Вам нужен поставщик DNS, который может обнаружить изменение, а затем соответствующим образом обновить запись A вашего домена.
Провайдеров таких услуг много и даже можно сделать своего. Но для простоты мы порекомендуем запустить DNS в Cloudflare. Cloudflare бесплатно предоставляет сеть доставки контента (CDN), которая добавляет слой между The World и вашим сервером. Это удобно, потому что IP-адреса Cloudflare никогда не меняются. Когда ваш сервер получает новый IP-адрес, он может сообщить об этом Cloudflare, и они будут соответствующим образом направлять весь трафик без необходимости обновлять DNS по всему миру. Это огромное преимущество. Они также кэшируют ваш веб-сайт в своем CDN, поэтому, когда ваш веб-сайт попадает на первую страницу Hackaday, он может пережить натиск трафика!
Скрытие вашего общедоступного IP-адреса от мира — еще одна причина использовать Cloudflare. Единственные IP-адреса, открытые для всего мира, будут принадлежать Cloudflare, и они будут перенаправлять веб-запросы на ваш сервер, в то же время не пуская злоумышленников. Это дает еще один уровень защиты вашего домашнего сервера и вашей домашней сети в целом. И самое приятное, что это совершенно бесплатно.
Их превосходная документация описывает, как настроить динамический DNS с помощью их службы.
Из веб-браузера на веб-сервер и обратно
После того, как вы настроили DNS и веб-сервер, вам нужно сообщить своему домашнему маршрутизатору, чтобы он принимал трафик через порты 80 и 443 (порты для трафика http и https) и перенаправлял их на ваш ноутбук с Linux. Некоторые маршрутизаторы позволяют настроить демилитаризованную зону, в которой весь сервер будет напрямую подключен к Интернету, но это не рекомендуется и не требуется. Вы также захотите настроить брандмауэр на своем сервере для приема трафика через порты 80 и 443. И, поскольку у нас открыт 443, давайте зашифруем наш HTTP-трафик, не так ли?
Можно спорить о технических преимуществах или их отсутствии, но вашему веб-сайту потребуется SSL-сертификат. По крайней мере, это сделает ваш сайт более привлекательным для современных браузеров, которые показывают предупреждения, если сертификат SSL отсутствует. В прошлом вам нужен был статический IP-адрес, и вы должны были потратить приличную сумму денег на SSL-сертификат. Ни одна из этих вещей не имеет место сейчас. SSL-сертификат может быть предоставлен Let’s Encrypt, бесплатным поставщиком сертификатов SSL/TLS, который использует программное обеспечение Certbot для получения сертификата и даже для настройки Apache. Слик!
Что еще вы можете сделать с вашим новым домашним сервером? Возможности почти безграничны! Даже если у вас быстрый интернет, вы можете запустить новый сервер, чтобы еще больше ускорить работу. Запуск собственного разрешающего DNS-сервера локально означает, что вы можете кэшировать запросы DNS в своей собственной сети, что ускоряет разрешение DNS. Это может сделать просмотр веб-страниц более быстрым. Вы также можете использовать программное обеспечение Pi-Hole для блокировки всех рекламодателей, чтобы вашим устройствам не требовался отдельный блокировщик рекламы.
Домашний сервер также является отличной точкой сбора данных для ваших проектов Интернета вещей и дает вам площадку для экспериментов. Есть много хакеров, использующих самодельные серверы, и некоторые из них даже зашли так далеко, что заставили свои серверы работать исключительно от солнечной энергии, например https://solar.