Do que preciso?
Considerações
Este é apenas um guia, e considera que você possui conhecimento de Linux e configuração de servidores.
Requisitos
Não é preciso muito pra começar a usar o STB, mas você deve estar atento ao número de usuarios simultaneos, e os horarios de pico. Por hora, vamos focar na instalação básica, e mais a frente vamos dar dicas para escalar para servidores maiores.
Quantos usuarios um servidor desses consegue servir?
- Processador: 1 núcleo
- Memória: 3 GB RAM
- Armazenamento: 40 GB
- Transferencia; Ilimitada
A média de uso de memória RAM por cada conexão é de 20 mb. Isso é, a cada usúario o servidor precisa de 20 mb. Dando uma margem de 1 gb para os outros serviços necessários, dos quais falaremos mais adiante, temos 2 gb para o nosso servidor HTTP. Com nossos 2 gb (2048 mb) restantes nós podemos servir: 2048 / 20 = 102 clientes Simultaneamente com uma boa margem de segurança.
A transferencia deve ser preferencialmente ilimitada, pois quando um usuario fizer login, a lista de mídia será baixada, convertida, e servida ao usuario. Uma lista de 3mb é baixada do servidor e depois enviada para o usuario totalizando 6 mb de transferencia. Outras transferencias também são realizadas pelo servidor como EPGs e Sinopses. Acho que você já entendeu até onde isso vai.
O conteudo do streaming/video em si não passam pelo servidor, apenas as listas.
Instalação básico.
Precisamos de 3 serviços para que tudo funcione, e eles são:
- 1 servidor HTTP (Apache ou Nginx)
- 1 database (MySQL)
- 1 servidor DNS (bind9)
Também são necessários PHP e extenções como curl e mysql, para o servidor apache você deve habilitar o modulo rewrite para fazer uso do .htaccess
Configurações
Você deve editar o arquivo index.php na pasta api com informações do banco de dados (não precisa criar as tabelas, apenas crie um banco e um usuario com permissões básicas)
No mesmo arquivo da pasta api, você deve adicionar um servidor principal e os alternativos.
Você deve editar os arquivos *.db da pasta BIND e depois os copiar para a pasta de configuração do bind.
Personalizações
Essas devem ser feitas manualmente nos arquivos css