Como instalar o AirSonic no Ubuntu 18.04 LTS

Você está aqui:
Tempo estimado de leitura: 4 min
Este artigo é uma porta de ” Como instalar o AirSonic no CentOS 7 ” para o Ubuntu 18.04

AirSonic é um servidor de streaming de mídia de código aberto e gratuito. Neste tutorial, vou guiá-lo através do processo de implantação de uma instância do servidor AirSonic a partir do zero em uma instância do servidor LTS do Ubuntu 18.04.

Pré-requisitos

  • Uma instância do servidor Site & Site Ubuntu 18.04 LTS recém-implantada com pelo menos 2 GB de memória. Digamos que tenha um endereço IPv4 203.0.113.1.
  • Um usuário sudo .
  • Um domínio airsonic.example.comsendo apontado para a instância do servidor mencionada acima.

Etapa 1: configuração básica do sistema

Crie um arquivo de troca

Para obter melhor desempenho do sistema, é recomendável criar um arquivo de troca de 2 GB (2048 M) em uma máquina com 2 GB de memória:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Nota: Se você estiver usando um tamanho de servidor diferente, o tamanho adequado da partição de troca poderá variar.

Configurar o nome do host da máquina e o nome de domínio totalmente qualificado (FQDN)

A configuração adequada de um nome de host e de um FQDN para a máquina é necessária para ativar a segurança HTTPS com um certificado Let’s Encrypt SSL.

Os seguintes comandos irão configurar um nome de host airsonice um FQDN airsonic.example.compara a máquina:

sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts

Os resultados podem ser confirmados com o seguinte:

hostname
hostname -f

Modificar as regras de firewall para permitir a entrada SSHHTTPHTTPStráfego

Configure as regras de firewall do UFW para executar um servidor AirSonic:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Quando você vir o prompt Command may disrupt existing ssh connections. Proceed with operation (y|n)?, insira ye pressione ENTER.

Atualize o sistema

Para fins de segurança e desempenho, é necessário atualizar o sistema Ubuntu 18.04 LTS para o status mais recente:

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Durante a atualização, você pode ser informado de que a versão atualmente instalada do arquivo de configuração do grub foi modificada localmente. Como não somos realmente responsáveis pela modificação, use a UPseta para destacar a install the package maintainer's versionopção e pressione ENTER.

Depois que o sistema for reinicializado, efetue login novamente como o mesmo usuário sudo para continuar.

Etapa 2: Instalar o OpenJDK Java Runtime Environment (JRE) 8

Instale o OpenJDK JRE 8 e confirme os resultados:

sudo apt install -y openjdk-8-jre-headless
java -version

A saída do segundo comando será semelhante à seguinte:

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

Além disso, você precisa configurar a JAVA_HOMEvariável de ambiente da seguinte maneira:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

Etapa 3: Instale o AirSonic

AirSonic pode ser implantado usando vários métodos. Neste tutorial, instalaremos o AirSonic usando o pacote WAR AirSonic.

Crie um usuário dedicado e um grupo dedicado, ambos nomeados airsonic:

sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic

Faça o download do pacote AirSonic WAR mais recente, o AirSonic v10.1.2:

cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic

Faça o download dos systemdarquivos da unidade AirSonic predefinidos e inicie o serviço AirSonic:

sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/default/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service

Nota: Você pode precisar revisar e personalizar os dois systemdarquivos da unidade AirSonic em sua própria máquina.

Etapa 4: teste a instalação

O AirSonic estará funcionando agora, escutando na porta 8080. Você pode usar o seguinte comando para confirmar que este é o caso:

ps -ef|grep airsonic

Você também pode visitar diretamente o site AirSonic, mas você precisa modificar temporariamente as regras de firewall primeiro:

sudo ufw allow in 8080/tcp

Em seguida, aponte seu navegador da Web favorito para http://203.0.113.1:8080/airsonice use as credenciais padrão listadas abaixo para efetuar login:

  • Nome de usuário: admin
  • Senha: admin

Por motivos de segurança, você deve alterar a senha do administrador imediatamente após o login.

Quando o resultado for confirmado, restrinja o acesso na porta 8080novamente:

sudo ufw deny in 8080/tcp

Etapa 5: Obtenha um certificado SSL Vamos criptografar para o seu site AirSonic

Por motivos de segurança, é recomendável ativar a segurança HTTPS em todos os sites recém-criados. A prática mais conveniente para isso é implantar um certificado Let’s Encrypt SSL da seguinte maneira.

Instale o utilitário Certbot:

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot

Use o Certbot para solicitar um certificado SSL de Vamos Criptografar para o domínio airsonic.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d airsonic.example.com

O certificado e a cadeia serão salvos no seguinte:

/etc/letsencrypt/live/airsonic.example.com/fullchain.pem

O arquivo chave será salvo aqui:

/etc/letsencrypt/live/airsonic.example.com/privkey.pem

O certificado Let’s Encrypt SSL foi projetado para expirar em três meses. Você pode configurar um cron job para renovar seus certificados automaticamente:

sudo crontab -e

Quando você for solicitado a selecionar um editor, insira 2e pressione ENTERpara escolher /usr/bin/vim.basic.

Em seguida, pressione Oe adicione uma nova linha, conforme mostrado abaixo:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Salve e saia:

:wq!

Esta tarefa do cron tentará atualizar o certificado Let’s Encrypt todos os dias ao meio-dia.

Etapa 6: Instale o Nginx como um proxy reverso

Com a ajuda do Nginx, você pode facilitar o acesso dos visitantes (para que eles não precisem mais inserir o 8080número da porta) e ativar a segurança HTTPS no site da AirSonic.

Instale o Nginx usando o APT:

sudo apt install -y nginx

Em seguida, crie um arquivo de configuração para o AirSonic:

cat <<EOF | sudo tee /etc/nginx/sites-available/airsonic.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name airsonic.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  airsonic.example.com;
    ssl_certificate      /etc/letsencrypt/live/airsonic.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/airsonic.example.com/privkey.pem;

    # Proxy to the Airsonic server
    location /airsonic {
        proxy_set_header X-Real-IP         \$remote_addr;
        proxy_set_header X-Forwarded-For   \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:8080;
        proxy_redirect                     http:// https://;
    }
}
EOF

Crie um link simbólico apontando para o arquivo de configuração AirSonic Nginx recém-criado:

sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/

Reinicie o Nginx para colocar sua configuração em vigor:

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Por fim, aponte seu navegador favorito para http://airsonic.example.com/airsonicou https://airsonic.example.com/airsonicpara começar a explorar seu site da AirSonic.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 33

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?