Introdução a um servidor doméstico multifuncional que também posso acessar pela Internet: streaming de mídia, servidor de jogos, armazenamento/backup de arquivos

Introdução a um servidor doméstico multifuncional que também posso acessar pela Internet: streaming de mídia, servidor de jogos, armazenamento/backup de arquivos

Antes de começar, quero dizer que pesquisei esse tópico. Nenhum dos resultados parece responder às minhas perguntas sobre servidores domésticos de múltiplas finalidades.

Olá a todos!

Quero construir um servidor doméstico para os seguintes fins:

  • armazenar arquivos/mídia como backup de PCs que têm acesso a eles
  • Transmita a mídia para um computador específico conectado a ela ou para uma TV conectada ao servidor
  • Servidor de jogos para minecreaft/terraria/etc (não funcionará 100% do tempo e vou querer desligá-lo e ligá-lo para liberar memória para outras tarefas quando necessário
  • Acesse arquivos e transmita-os pela Internet para que eu possa acessá-los em qualquer lugar, se necessário.

Quero que ele tenha várias contas para que muitos usuários na casa possam ter seus próprios arquivos com permissões privadas e cada um possa transmitir mídia que somente eles possam acessar (bem como um fluxo público para todos os usuários - mas não para convidados)

Também quero poder acessá-lo pela Internet, se possível. Dessa forma, se eu realmente precisar, posso me conectar a ele de qualquer lugar e extrair arquivos dele. Eu sei que isso pode ser muito difícil, já que meu IP externo pode não ser estático (como muitas empresas, como a comcast, o ISP em que infelizmente estou), na verdade, pode alterar seu IP externo ocasionalmente (mas não com muita frequência). Comprei um nome de domínio para o servidor da namecheap, que oferece um serviço DNS dinâmico aos seus clientes. Dessa forma, ele pode atualizar corretamente seu IP externo.

Um pouco de experiência sobre mim: Sou formado em Física e Engenharia Elétrica com especialização em Ciência da Computação. Eu conheço bastante C, C++ e python. Mas não conheço PHP ou outras linguagens de servidor. Tenho familiaridade com windows/osx/linux, mas minhas habilidades em linux/terminal não são excelentes.

Eu tentei configurar um servidor web doméstico no passado, mas a escola atrapalhou, então fiquei muito ocupado para prosseguir. Também descobri que hospedar sites em casa geralmente é uma péssima ideia, pois não é tão confiável, tem muitos problemas de segurança, etc. Agora tenho mais tempo e quero criar uma mídia doméstica e um servidor de arquivos que também possa hospedar jogos, então eu pode fazer backup e armazenar arquivos facilmente.

Como posso começar a fazer tudo isso? Como posso ter certeza de que o servidor é compatível com Windows/OSX/Linux.

Eu esperava torná-lo um servidor Linux, pois sei que é provavelmente o melhor (embora eu não seja um mestre Linux).

Se eu puder conectá-lo à Internet (para poder acessar esses arquivos de qualquer lugar), como posso protegê-lo? Como faço para que apenas usuários específicos possam fazer login?

Tenho um computador em mente, aqui estão as especificações. Ele não tem atualizações adicionais (portanto, tem a RAM que veio com ele - 8 GB). Tudo o que vem é o que tem.

Eu tenho o hardware que listei. É um desktop muito antigo (leia-se: 6 anos) que comprei há um tempo. Quero que seja parcialmente um projeto, mas com uma curva de aprendizado fácil. Não quero escrever meu próprio aplicativo de serviço de streaming, mas não quero que tudo seja "configure e esqueça", pois quero aprender o básico sobre dispositivos de rede e conectar servidores à Internet para transferência de arquivos/controle remoto / etc.

Não sei se virtualizar tudo é o melhor por dois motivos: 1) a virtualização requer muito mais RAM 2) parece meio complexo para esse trabalho quero poder ter controle total de tudo remotamente também, e se um virtual a máquina falha, como posso iniciá-la remotamente? (talvez isso não seja realmente um problema)

Examinei algumas coisas como Plex e OwnCloud, mas quero ter certeza de que eles se integram (ou seja, posso fazer upload de mídia para o servidor com OwnCloud, que o Plex pode transmitir). Estou totalmente aberto a alternativas, só menciono plex e OwnCloud porque surgiram na minha pesquisa. Também quero que vários usuários possam acessar o servidor ao mesmo tempo (streaming para vários dispositivos simultaneamente - com mídia igual ou diferente, download/upload de arquivos enquanto outra pessoa transmite, etc.)

Responder1

Por experiência pessoal, configurar um servidor doméstico é bastante complicado do que você pensa. Agradeço sua intenção de planejar o processo de configuração antes de realizar qualquer ação.

  • Primeiro, você precisaconsidere seu hardware. O computador desktop é confiável para uso diário? A manutenção pode ser feita facilmente nas unidades e na RAM? Você poderia encontrar peças para o servidor daqui a dois anos? Você pode escolher entre reformar qualquer desktop antigo no sótão (barato com custo de confiabilidade), comprar um NAS (armazenamento conectado à rede com custo de desempenho) ou construir você mesmo uma torre (caro, mas mais flexível).
  • Segundo,pesquise um sistema operacional ou distribuição específicoque você gostaria de usar. Quatro em cada cinco vezes você provavelmente acabará usando uma distribuição Linux. Existem tantas distros orientadas a servidores por aí que nem consigo nomeá-las! (Mas se você insiste, os mais populares são Ubuntu Server e CentOS.)
  • Escolha a configuração da sua unidade. Isso é muito importante no longo prazo, pois uma unidade pode falhar de um a cinco anos, a quinze anos, e você não quer desperdiçar sua largura de banda em backups externos. O RAID de hardware é obrigatório, o que permitirá que você crie configurações redundantes econômicas, mais do que apenas o RAID 0 e o RAID 1 normais. Você ainda deve ter uma fonte de backup, mas o RAID permitirá que você substitua uma unidade com falha entre quatro ou cinco unidades sem nenhum desastre.Não confie em unidades USB externas 24 horas por dia, 7 dias por semana. Estes falham muito rapidamente. Desconecte unidades externas quando não forem necessárias.
  • Se você não precisa, não virtualize. As soluções de virtualização fazem muito sentido em um contexto empresarial/datacenter, onde as informações inteiras de um controlador de domínio podem ser armazenadas completamente dentro de uma única imagem e vários controladores de domínio podem ser executados no mesmo hardware simultaneamente. A virtualização é muito usada em domínios do Windows Server e não sai barata, a menos que você siga o caminho do VirtualBox. Se puder, execute todos os seus programas diretamente no mesmo sistema operacional; isso permitirá que você gerencie seus serviços (e memória) com mais facilidade.
  • Seu roteador pode lidar com a maioria das coisas do firewall para você; no entanto, você precisaráendurecer cada serviçoque você executa publicamente, restringindo suas permissões de leitura/gravação. A regra principal é certificar-se demantenha o mínimo de portas abertas possívelpara evitar possíveis falhas de segurança. Você pode usar túneis SSH caso precise de acesso temporário a um serviço para o qual não abriu uma porta.
  • Use medo.org paraDNS dinâmicose você precisar. Scripts estão disponíveis para trabalhar com IPs dinâmicos.
  • Comece devagar e vá subindo.Instale primeiro pacotes importantes como Samba e MiniDLNA para acesso à mídia e, em seguida, comece a estabelecer seus servidores de jogos e serviços administrativos (como SSH). Você deve configurar o servidor web por último, pois geralmente é o mais chato (em termos de segurança) de configurar totalmente. Não crie nenhum software ou script do zero, a menos que ele não exista.

Continue pesquisando e você encontrará um ótimo servidor doméstico dentro de alguns meses.

informação relacionada