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

0

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

Всем привет!

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

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

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

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

Немного предыстории о себе: я физик и электротехник, специализируюсь в области компьютерных наук. Я знаю значительную долю C, C ++ и Python. Но я не знаю PHP или других языков сервера. Я знаком с Windows / OSX / Linux, но мои навыки Linux / терминала не на высшем уровне.

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

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

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

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

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

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

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

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

user2237160
источник
То, что вы ищете, звучит как NAS (Network Attached Storage). NAS часто прекрасно совместим с другими ОС (SMB / Samba работает по всем направлениям, а некоторые NAS предлагают поддержку других протоколов, например AFP и NFS). Проверьте FreeNAS и их особенности Вот и, надеюсь, это соответствует тому, что вы хотели.
Darius

Ответы:

0

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

  • Во-первых, вам нужно рассмотреть ваше оборудование , Надежен ли настольный компьютер для повседневного использования? Можно ли легко проводить техническое обслуживание накопителей и оперативной памяти? Не могли бы вы найти запчасти для сервера через два года? Вы можете выбрать переоборудование любого старого настольного компьютера на чердаке (дешево по цене надежности), купить 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). Вы должны настроить веб-сервер последним, так как он обычно самый раздражающий (с точки зрения безопасности) для полной настройки. Не создавайте никаких программ или сценариев с нуля, если они не существуют.

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

oldmud0
источник