Hvordan installere AirSonic på Ubuntu 18.04 LTS

AirSonic er en gratis og åpen kildekode mediestrømmeserver. I denne opplæringen vil jeg veilede deg gjennom prosessen med å distribuere en AirSonic-serverforekomst fra bunnen av på en Ubuntu 18.04 LTS-serverforekomst.

Forutsetninger

  • En nylig distribuert Vultr Ubuntu 18.04 LTS-serverforekomst med minst 2 GB minne. Si at den har en IPv4-adresse 203.0.113.1.
  • En sudo-bruker .
  • Et domene airsonic.example.comsom peker til serverforekomsten nevnt ovenfor.

Trinn 1: Grunnleggende systemkonfigurasjon

Lag en byttefil

For å få bedre systemytelse, anbefales det å lage en 2GB (2048M) byttefil på en maskin med 2GB minne:

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

Merk: Hvis du bruker en annen serverstørrelse, kan den passende størrelsen på swap-partisjonen variere.

Konfigurer maskinens vertsnavn og fullt kvalifiserte domenenavn (FQDN)

Riktig oppsetting av et vertsnavn og en FQDN for maskinen er nødvendig for å aktivere HTTPS-sikkerhet med et Let's Encrypt SSL-sertifikat.

Følgende kommandoer vil sette opp et vertsnavn airsonicog en FQDN airsonic.example.comfor maskinen:

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

Resultatene kan bekreftes med følgende:

hostname
hostname -f

Endre brannmurregler for å tillate innkommende SSH, HTTP, og HTTPStrafikk

Konfigurer UFW-brannmurregler for å kjøre en AirSonic-server:

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

Når du ser ledeteksten Command may disrupt existing ssh connections. Proceed with operation (y|n)?, skriv inn yog trykk deretter på ENTER.

Oppdater systemet

Av sikkerhets- og ytelsesformål er det nødvendig å oppdatere Ubuntu 18.04 LTS-systemet til siste status:

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

Under oppgraderingen kan du bli informert om at den installerte versjonen av grub-konfigurasjonsfilen har blitt lokalt endret. Siden vi faktisk ikke er ansvarlige for endringen, bruk UPpilen for å markere install the package maintainer's versionalternativet, og trykk deretter ENTER.

Etter at systemet har startet på nytt, logger du på igjen som samme sudo-bruker for å gå videre.

Trinn 2: Installer OpenJDK Java Runtime Environment (JRE) 8

Installer OpenJDK JRE 8 og bekreft deretter resultatene:

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

Utdataene fra den andre kommandoen vil være lik følgende:

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)

I tillegg må du sette opp JAVA_HOMEmiljøvariabelen som følger:

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

Trinn 3: Installer AirSonic

AirSonic kan distribueres ved hjelp av ulike metoder. I denne opplæringen vil vi installere AirSonic ved å bruke AirSonic WAR-pakken.

Opprett en dedikert bruker og en dedikert gruppe, begge kalt airsonic:

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

Last ned den nyeste AirSonic WAR-pakken, 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

Last ned de forhåndsdefinerte AirSonic-enhetsfilene systemdog start AirSonic-tjenesten:

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

Merk: Du må kanskje se gjennom og tilpasse de to AirSonic-enhetsfilene systemdpå din egen maskin.

Trinn 4: Test installasjonen

AirSonic vil være oppe og kjøre nå og lytte på port 8080. Du kan bruke følgende kommando for å bekrefte at dette er tilfellet:

ps -ef|grep airsonic

Du kan også besøke AirSonic-siden direkte, men du må midlertidig endre brannmurreglene først:

sudo ufw allow in 8080/tcp

Deretter peker du favorittnettleseren din til http://203.0.113.1:8080/airsonic, og bruker deretter standardlegitimasjonen oppført nedenfor for å logge på:

  • Brukernavn: admin
  • Passord: admin

Av sikkerhetshensyn bør du endre administratorens passord umiddelbart etter pålogging.

Når resultatet er bekreftet, begrense tilgangen på porten 8080igjen:

sudo ufw deny in 8080/tcp

Trinn 5: Skaff et Let's Encrypt SSL-sertifikat for din AirSonic-side

Av sikkerhetshensyn anbefales det å aktivere HTTPS-sikkerhet på alle nyopprettede nettsteder. Den mest praktiske praksisen for det er å distribuere et Let's Encrypt SSL-sertifikat som følger.

Installer Certbot-verktøyet:

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

Bruk Certbot til å søke om et Let's Encrypt SSL-sertifikat for domenet airsonic.example.com:

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

Sertifikatet og kjeden vil bli lagret på følgende:

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

Nøkkelfilen vil bli lagret her:

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

Let's Encrypt SSL-sertifikatet er utformet for å utløpe om tre måneder. Du kan sette opp en cron-jobb for å fornye sertifikatene dine automatisk:

sudo crontab -e

Når du blir bedt om å velge en editor, skriv inn 2og trykk deretter for ENTERå velge /usr/bin/vim.basic.

Deretter trykker du på Oog legger til en ny linje som vist nedenfor:

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

Lagre og avslutt:

:wq!

Denne cron-jobben vil forsøke å oppdatere Let's Encrypt-sertifikatet hver dag ved middagstid.

Trinn 6: Installer Nginx som en omvendt proxy

Ved hjelp av Nginx kan du både lette besøkendes tilgang, (slik at de ikke lenger trenger å legge inn 8080portnummeret), og aktivere HTTPS-sikkerhet på AirSonic-nettstedet ditt.

Installer Nginx med APT:

sudo apt install -y nginx

Deretter oppretter du en konfigurasjonsfil for 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

Lag en symbolsk lenke som peker til den nyopprettede AirSonic Nginx-konfigurasjonsfilen:

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

Start Nginx på nytt for å sette konfigurasjonen din i kraft:

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

Til slutt, pek favorittnettleseren din til http://airsonic.example.com/airsoniceller for https://airsonic.example.com/airsonicå begynne å utforske AirSonic-nettstedet ditt.


Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Opprette en Jekyll-blogg på Ubuntu 16.04

Opprette en Jekyll-blogg på Ubuntu 16.04

Bruker du et annet system? Jekyll er et flott alternativ til WordPress for blogging eller deling av innhold. Det krever ingen databaser, og det er veldig enkelt, jeg

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

PHP og relaterte pakker er de mest brukte komponentene når du distribuerer en webserver. I denne artikkelen vil vi lære hvordan du setter opp PHP 7.0 eller PHP 7.1 o

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Sette opp en Yii-applikasjon på Ubuntu 14.04

Sette opp en Yii-applikasjon på Ubuntu 14.04

Yii er et PHP-rammeverk som lar deg utvikle applikasjoner raskere og enklere. Det er enkelt å installere Yii på Ubuntu, som du vil lære nøyaktig

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Sett opp Red5 Media Server på Ubuntu 16.04

Sett opp Red5 Media Server på Ubuntu 16.04

Bruker du et annet system? Red5 er en åpen kildekode medieserver implementert i Java som lar deg kjøre Flash flerbrukerapplikasjoner som live streamin

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Hvordan installere Vanilla Forum på Ubuntu 16.04

Hvordan installere Vanilla Forum på Ubuntu 16.04

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Hvordan installere Gitea på Ubuntu 18.04

Hvordan installere Gitea på Ubuntu 18.04

Bruker du et annet system? Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, gratis og åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer