Начало работы над многоцелевым домашним сервером, к которому я также могу получить доступ через Интернет: потоковая передача мультимедиа, игровой сервер, хранилище файлов/резервное копирование

Начало работы над многоцелевым домашним сервером, к которому я также могу получить доступ через Интернет: потоковая передача мультимедиа, игровой сервер, хранилище файлов/резервное копирование

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

Всем здравствуйте!

Я хочу построить домашний сервер для следующих целей:

  • хранить файлы/носители в качестве резервной копии с ПК, имеющих к ним доступ
  • Транслировать указанный медиаконтент на определенный компьютер, подключенный к нему, или на телевизор, подключенный к серверу.
  • Игровой сервер для minecreaft/terraria/etc (он не будет работать 100% времени, и я захочу выключать и включать его, чтобы освободить память для других задач, когда это необходимо)
  • Получайте доступ к файлам и транслируйте их из Интернета, чтобы при необходимости иметь к ним доступ где угодно.

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

Я также хочу иметь возможность доступа к нему из Интернета, если это возможно. Таким образом, если мне действительно нужно, я могу подключиться к нему из любого места и извлечь из него файлы. Я знаю, что это на самом деле может быть очень сложно, так как мой внешний IP может быть нестатичным (как и многие компании, такие как Comcast, интернет-провайдер, к которому я, к сожалению, подключен), на самом деле может время от времени менять ваш внешний IP (но не очень часто). Я купил доменное имя для сервера у Namecheap, который предлагает своим клиентам услугу динамического DNS. Таким образом, он может правильно обновлять свой внешний IP.

Немного о себе: я специалист по физике и электротехнике, а также специалист по информатике. Я неплохо знаю C, C++ и python. Но я не знаю PHP или другие серверные языки. Я знаком с windows/osx/linux, но мои навыки работы с linux/terminal не на высшем уровне.

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

Как мне начать все это делать? Как мне убедиться, что сервер совместим с windows/OSX/Linux.

Я надеялся сделать из него сервер Linux, так как знал, что это, вероятно, лучший вариант (хотя я и не мастер Linux).

Если я могу подключить его к интернету (чтобы иметь доступ к этим файлам из любой точки мира), как мне его защитить? Как сделать так, чтобы только определенные пользователи могли войти в систему?

Я имею в виду компьютер, вот его характеристики. У него нет дополнительных апгрейдов (поэтому у него та же оперативная память, что и у него - 8 ГБ). Все, что у него есть, это то, что у него есть.

У меня есть перечисленное мной оборудование. Это очень старый (читай: 6-летний) настольный компьютер, который я купил некоторое время назад. Я хочу, чтобы это был частично проект, но с легкой кривой обучения. Я не хочу писать свое собственное приложение для потокового сервиса, но я не хочу, чтобы все было "настроил и забыл", поскольку я хочу изучить основы сетевых устройств и подключения серверов к Интернету для передачи файлов/удаленного управления/и т. д.

Я не знаю, является ли виртуализация всего наилучшим решением по двум причинам: 1) виртуализация требует гораздо больше оперативной памяти 2) это кажется сложным для этой работы Я хочу иметь возможность полностью контролировать все удаленно, и если виртуальная машина выйдет из строя, как я смогу запустить ее удаленно? (может быть, это на самом деле не проблема)

Я рассматривал некоторые вещи, такие как Plex и OwnCloud, но я хочу убедиться, что они интегрируются (т. е. я могу загружать медиа на сервер с OwnCloud, который Plex затем может транслировать). Я полностью открыт для альтернатив, я упоминаю только Plex и OwnCloud, потому что они появились в моем исследовании. Также я хочу, чтобы несколько пользователей могли иметь доступ к серверу одновременно (транслировать на множество устройств одновременно — с теми же или разными медиа, загружать/выгружать файлы, пока кто-то другой транслирует и т. д.)

решение1

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

  • Во-первых, вам нужнорассмотрите ваше оборудование. Надежен ли настольный компьютер для повседневного использования? Можно ли легко проводить техническое обслуживание дисков и оперативной памяти? Сможете ли вы найти детали для сервера через два года? Вы можете выбрать между переоборудованием любого старого настольного компьютера, стоящего на чердаке (дешево за счет надежности), покупкой NAS (сетевого хранилища за счет производительности) или самостоятельной сборкой башни (дорого, но наиболее гибко).
  • Второй,исследовать конкретную операционную систему или дистрибутивкоторые вы хотели бы использовать. В четырех из пяти случаев вы, вероятно, будете использовать дистрибутив Linux. Существует так много серверно-ориентированных дистрибутивов, что я даже не могу начать их называть! (Но если вы настаиваете, самые популярные — Ubuntu Server и CentOS.)
  • Выберите конфигурацию вашего диска. Это очень важно в долгосрочной перспективе, так как диск может выйти из строя через год, пять лет, пятнадцать лет, и вы не хотите тратить свою полосу пропускания на резервное копирование вне офиса. Аппаратный RAID является обязательным, что позволит вам создавать экономичные избыточные конфигурации, больше, чем просто обычные RAID 0 и RAID 1. У вас все равно должен быть источник резервного копирования, но RAID позволит вам заменить неисправный диск из четырех или пяти дисков без какой-либо катастрофы.Не полагайтесь на внешние USB-накопители, работающие 24/7. Они очень быстро выходят из строя. Отключайте внешние накопители, когда они не нужны.
  • Если вам это не нужно, не виртуализируйте. Решения по виртуализации имеют большой смысл в контексте предприятия/центра обработки данных, где вся информация контроллера домена может храниться полностью внутри одного образа, а несколько контроллеров домена могут работать на одном и том же оборудовании одновременно. Виртуализация широко используется в доменах Windows Server и обходится недешево, если вы не идете по пути VirtualBox. Если у вас есть такая возможность, запускайте все свои программы непосредственно в одной ОС; это позволит вам легче управлять своими службами (и памятью).
  • Ваш маршрутизатор может справиться с большинством задач брандмауэра, однако вам нужно будетукрепить каждую службукоторые вы запускаете публично, ограничивая их права на чтение/запись. Главное правило — убедиться, чтодержите открытыми как можно меньше портовдля предотвращения возможных дыр в безопасности. Вы можете использовать SSH-туннели в случае, если вам нужен временный доступ к сервису, для которого вы не открыли порт.
  • Используйте fear.org длядинамический DNSесли вам нужно. Доступны скрипты для работы с динамическими IP.
  • Начните медленно и постепенно увеличивайте нагрузку.Сначала установите важные пакеты, такие как Samba и MiniDLNA для доступа к медиа, затем начните устанавливать игровые серверы и административные службы (например, SSH). Веб-сервер следует настраивать в последнюю очередь, так как его полная настройка обычно самая раздражающая (с точки зрения безопасности). Не создавайте программное обеспечение или скрипты с нуля, если только они не существуют.

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

Связанный контент