Configuração do Sistema para o Servidor MCU
Para preparar o ambiente no CentOS, ajuste os limites do sistema e parâmetros de rede. Comece editando os limites de recursos:
sudo su
cat >> /etc/security/limits.conf <<eof eof="" hard="" nofile="" nproc="" soft="" stack="" unlimited=""></eof>
Adicione o módulo PAM para limites no login:
echo "session required pam_limits.so" >> /etc/pam.d/login
Para CentOS, atualize as configurações de nproc em limits.d:
echo "* soft nproc unlimited
* hard nproc unlimited" >> /etc/security/limits.d/99-nproc.conf
cat /etc/security/limits.d/99-nproc.conf
Otimize os parâmetros de rede em sysctl.conf:
cat >> /etc/sysctl.conf <<netparam fs.file-max="200000" net.core.rmem_default="16777216" net.core.rmem_max="16777216" net.core.wmem_default="16777216" net.core.wmem_max="16777216" net.ipv4.tcp_mem="8388608" net.ipv4.tcp_rmem="4096" net.ipv4.tcp_wmem="4096" net.ipv4.udp_mem="4096" netparam=""></netparam>
Verifique os limites aplicados com:
ulimit -a
Baixando o Software Intel WebRTC
Obtenha a versão 4.0 do pacote e documentação associada:
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/12880/Intel_CS_WebRTC.v4.0.zip
unzip Intel_CS_WebRTC.v4.0.zip -d cs_webrtc_v4
cd cs_webrtc_v4
tar xzf CS_WebRTC_Conference_Server_MCU.v*.tgz
Alternativamente, para a versão 3.5.2:
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/12532/Intel_CS_WebRTC.v3.5.2.zip
Instalação do Ambiente de Execução
Instale ferramentas necessárias e dependências do servidor:
sudo yum install -y unzip bzip2
cd Release-v4.0
./video_agent/install_deps.sh
./audio_agent/compile_ffmpeg_with_libfdkaac.sh
cp ffmpeg_libfdkaac_lib/* audio_agent/lib/
Verifique os certificados e arquivos de configuração:
ls -l management_console/cert nuve/cert portal/cert webrtc_agent/cert
ls -l management_console/management_console.toml nuve/nuve.toml portal/portal.toml webrtc_agent/agent.toml
Preparando o Node.js e Serviços de Banco de Dados
Instale o Node.js via repositório EPEL:
sudo yum install -y epel-release
sudo yum install -y nodejs npm
Configure o MongoDB adicionando seu repositório e instalando:
cat > /etc/yum.repos.d/mongodb-org.repo <<repo baseurl="https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/" enable="" enabled="1" gpgcheck="0" install="" mongod="" mongodb-org-server="" name="MongoDB" repo="" repository="" start="" sudo="" systemctl="" yum=""></repo>
Para o RabbitMQ, instale primeiro o Erlang e depois o servidor:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
sudo yum install -y erlang
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
sudo yum install -y rabbitmq-server
echo "NODENAME=rabbit@localhost" | sudo tee /etc/rabbitmq/rabbitmq-env.conf
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Configuração do Firewall e Inicialização do Serviço
Abra as portas necessárias no firewalld:
sudo yum install -y firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --zone=public --permanent --add-port=3000/tcp
sudo firewall-cmd --zone=public --permanent --add-port=3001/tcp
sudo firewall-cmd --zone=public --permanent --add-port=3004/tcp
sudo firewall-cmd --zone=public --permanent --add-port=5672/tcp
sudo firewall-cmd --reload
Inicialize todos os componentes do servidor de conferência:
bin/init-all.sh --deps
bin/start-all.sh
Para interromper os serviços:
bin/stop-all.sh