Прежде чем начать, я хочу сказать, что я сделал поиск по этой теме. Ни один из результатов не отвечает на мои вопросы о многоцелевом домашнем сервере.
Всем привет!
Я хочу построить домашний сервер для следующих целей:
- хранить файлы / носители в качестве резервной копии с компьютеров, которые имеют к ним доступ
- Потоковая передача указанного мультимедиа на конкретный компьютер, подключенный к нему, или на телевизор, подключенный к серверу
- Игровой сервер для 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, потому что они появились в моем исследовании. Также я хочу, чтобы несколько пользователей могли иметь доступ к серверу одновременно (потоковая передача на несколько устройств одновременно - с одинаковыми или разными носителями, загрузка / выгрузка файлов, в то время как кто-то еще транслирует и т. Д.)