Educação Aberta/Plataformas livres
Esse texto está desatualizado ou precisa de revisão em conteúdo ou forma para que possa ser utilizado. Veja as atuais discussões, sugestões e proponha melhorias na aba de discussão. |
Esse é um guia técnico voltado para instalação de serviços de comunicação livre. Sugestões de melhoria nos processos, alternativas, pegadinhas, soluções, são bem vindas. Tentamos ser detalhados para que alguém com nível técnico médio possa seguir a orientação. Sugestões para melhoria de segurança (firewall, settings, coisas a ficar atento, etc) são também muito bemvindas.
Mumble
[editar | editar código-fonte]Ferramenta livre para comunicação priorizando áudio e texto. Pode ser usado com app em celulares e computadores. Usa salas de b
Clientes testados e funcionando
[editar | editar código-fonte]- Linux
- Android (Plumber)
Centos 7
[editar | editar código-fonte]Orientações funcionais em https://wiki.mumble.info/wiki/Install_CentOS7
Debian 9
[editar | editar código-fonte]Só instalar pacote mumble-server
Problemas
[editar | editar código-fonte]Aplicativo de Android funciona muito bem mas é muito antigo
- Setup inicial (elaborar)
Configurações de Privacidade
Nas configurações habilitar:
obfuscate=true
Para que os endereços IP's fiquem "não-reconhecíveis"
Outras opções em : https://superuser.com/questions/455520/is-mumble-safe-privacy-wise
Mumble-Web
[editar | editar código-fonte]Permite acesso ao mumble com qualquer browser, sem uso de apps. Veja orientações gerais e download.
CentOS
[editar | editar código-fonte]- Usar
npm
, que instala nousr/lib/node_modules
- Baixar e instalar websockify
- Remover do
setup.py
:install_requires=['numpy']
já que CentOS roda versão mais antiga de Python que não pode ser atualizada, atrapalha yum. python setup.py install
(com root)- Criar certificados Letsencrypt (
sudo certbot certonly --apache
). Orientações sobre Certbot. - Setup Apache proxy (abaixo, modificado com base nesse post).
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin contato@aberta.org.br
ErrorLog /etc/httpd/logs/error.log
CustomLog /etc/httpd/logs/access.log combined
DocumentRoot /usr/lib/node_modules/mumble-web/dist
ServerName XXX-XXX
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/XXX-XXX/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/XXX-XXX/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/XXX-XXX/chain.pem
RewriteEngine On
ProxyPass /.wellknown !
#MUMBLE
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule / ws://localhost:64737/ [P,L]
ProxyPass /voip/ http://localhost:64737
ProxyPassReverse /voip/ http://localhost:64737
<Directory /usr/lib/node_modules/mumble-web/dist>
Require all granted
</Directory
</VirtualHost>
</IfModule>
- Dar permissões pro usuário e grupo
apache
(ou equivalente) no diretório e arquivosmurmur-web
- Editar configurações no
/etc/murmur.ini
(welcome message, por exemplo) - Ligar serviço murmur com
systemctl start murmur.service
, e depoissystemctl start murmur.service
se quiser que rode sempre que iniciar o servidor. - Ligar websockify com algo como:
websockify -v --ssl-target --cert /etc/letsencrypt/live/XXX-XXX/cert.pem --key /etc/letsencrypt/live/XXX-XXX/privkey.pem --web=/usr/lib/node_modules/mumble-web/dist/ 64737 localhost:64738
- Acessar o site.
Debian 9
[editar | editar código-fonte]- Instalação via
apt-get install mumble-server
e dpkg edpkg-reconfigure mumble-server
. Orientações gerais e outra útil. - Configurar arquivo mumble-server no nginx, modelo funcional abaixo, assumindo que nginx escuta SSL na porta 4444. Orientações sobre arquivos de configuração no nginx.
server {
listen 4444 ssl http2;
listen [::]:4444 ssl http2;
server_name mumble.aberta.org.br;
ssl_certificate /etc/letsencrypt/live/mumble.aberta.org.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mumble.aberta.org.br/privkey.pem;
location / {
root /usr/lib/node_modules/mumble-web/dist/;
}
location /demo {
proxy_pass http://localhost:64737;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name mumble.aberta.org.br;
rewrite ^(.*) https://$server_name$1 permanent;
}
- Crie um serviço (algo como
mumble-web.service
dentro de/etc/systemd/system/
). Para entender serviços, veja essas orientações.
[Unit]
Description=Mumble web interface
Documentation=https://github.com/johni0702/mumble-web
Requires=network.target
After=syslog.target network.target
[Service]
Type=simple
User=root
Restart=always
RestartSec=1
ExecStart=websockify --web=/usr/lib/node_modules/mumble-web/dist/ 64737 <seu servidor>:64738 --$
[Install]
WantedBy=multi-user.target
- Rode o serviço usando
systemctl start mumble-web
, e para começar automaticamente quando rodar o servidor,systemctl enable mumble-web
.
Jitsi
[editar | editar código-fonte]Sistema livre para comunicação priorizando video/webconferência com grupos pequenos..
Duas possíveis abordagens de instalação:
* docker
* instalado -> voltado para sistemas debian-based
Debian 9
[editar | editar código-fonte]- Docker c/SSL - ok
- Sem Docker - ok (somente instalar 1 pacote)
Centos 7
[editar | editar código-fonte]- Docker - não funciona
- Sem docker - não funciona
Jibri
[editar | editar código-fonte]Para gravar conferências
- Não funciona com docker. Na instalação com o debian 9 não parece tão trivial de instalar
Problemas
[editar | editar código-fonte]- Docker + debian 9 + jibri (streaming/recording) -> não funcionou
- Docker + debian 9 + etherpad -> não funcionou
Uso de banda e recursos
[editar | editar código-fonte]- 1.5 hora de conferencia ~ 8 Gb
O único uso considerável é de rede. Pra cada um usuário conectado, consome mais da banda. Ver essa referência.
[editar | editar código-fonte]Pontos de atenção
[editar | editar código-fonte]- Usando docker, sempre que mudar o .env apagar a pasta de configuração
- Usando docker não regenerar a imagem várias vezes com certificado, pois existe um limite de certificados emitidos por semana pelo let's encrypt
Configurações de Privacidade
Desabilitar o uso de requisição de terceiros
disableThirdPartyRequests: true
Nextcloud talk
[editar | editar código-fonte]Sistema de conferências em vídeo. Instala como plugin do Nextcloud
- CentOS - Atualizar até a última versão do Nextcloud e habilitar plugin. Sem maiores problemas.
OBS + Icecast
[editar | editar código-fonte]Sistema para transmissão de vídeo steaming usando OBS e Icecast.
Debian 9
[editar | editar código-fonte]- apt-install icecast2, seguir instruções de configuração.
- Testado usando o vlc como player
Servidores Icecast gratuito/livre
[editar | editar código-fonte]Orientações
[editar | editar código-fonte]
Etherpad
[editar | editar código-fonte]Configurações de privacidade
Desabilitar registro de IP:
"disableIPlogging": true,
Informações gerais e links
[editar | editar código-fonte]- Tabela comparativa de ferramentas de conferência
- https://github.com/jitsi/jitsi-meet/wiki/Jitsi-Meet-Instances
- https://ladatano.partidopirata.com.ar/jitsimeter/
- https://pads.ccc.de/jitsiliste
- https://meet.ufrj.br/