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