Sådan installeres AirSonic på Ubuntu 18.04 LTS

AirSonic er en gratis og open source mediestreamingserver. I denne vejledning vil jeg guide dig gennem processen med at implementere en AirSonic-serverinstans fra bunden på en Ubuntu 18.04 LTS-serverinstans.

Forudsætninger

  • En nyligt implementeret Vultr Ubuntu 18.04 LTS-serverinstans med mindst 2 GB hukommelse. Lad os sige, at den har en IPv4-adresse 203.0.113.1.
  • En sudo-bruger .
  • Et domæne, airsonic.example.comder peger på serverforekomsten nævnt ovenfor.

Trin 1: Grundlæggende systemkonfiguration

Opret en swap-fil

For at få bedre systemydeevne anbefales det at oprette en 2GB (2048M) swap-fil på en maskine med 2GB hukommelse:

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

Bemærk: Hvis du bruger en anden serverstørrelse, kan den passende størrelse på swap-partitionen variere.

Konfigurer maskinens værtsnavn og fuldt kvalificerede domænenavn (FQDN)

Korrekt opsætning af et værtsnavn og et FQDN til maskinen er påkrævet for at aktivere HTTPS-sikkerhed med et Let's Encrypt SSL-certifikat.

Følgende kommandoer opsætter et værtsnavn 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

Resultaterne kan bekræftes med følgende:

hostname
hostname -f

Rediger firewallregler for at tillade indgående SSH, HTTP, og HTTPStrafik

Konfigurer UFW firewall-regler for at køre en AirSonic-server:

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

Når du ser prompten Command may disrupt existing ssh connections. Proceed with operation (y|n)?, skal du indtaste yog derefter trykke på ENTER.

Opdater systemet

Af sikkerheds- og ydeevneformål er det nødvendigt at opdatere Ubuntu 18.04 LTS-systemet til den seneste status:

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

Under opgraderingen kan du blive informeret om, at den aktuelt installerede version af grub-konfigurationsfilen er blevet lokalt ændret. Da vi faktisk ikke er ansvarlige for ændringen, skal du bruge UPpilen til at fremhæve install the package maintainer's versionindstillingen og derefter trykke på ENTER.

Når systemet er genstartet, skal du logge ind igen som den samme sudo-bruger for at komme videre.

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

Installer OpenJDK JRE 8 og bekræft derefter resultaterne:

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

Outputtet af den anden kommando vil ligne 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)

Derudover skal du opsætte JAVA_HOMEmiljøvariablen som følger:

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

Trin 3: Installer AirSonic

AirSonic kan implementeres ved hjælp af forskellige metoder. I denne vejledning vil vi installere AirSonic ved hjælp af AirSonic WAR-pakken.

Opret en dedikeret bruger og en dedikeret gruppe, begge med navnet airsonic:

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

Download den seneste AirSonic WAR-pakke, 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

Download de foruddefinerede AirSonic- systemdenhedsfiler, og start derefter 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

Bemærk: Du skal muligvis gennemgå og tilpasse de to AirSonic- systemdenhedsfiler på din egen maskine.

Trin 4: Test installationen

AirSonic vil være oppe og køre nu og lytte på port 8080. Du kan bruge følgende kommando til at bekræfte, at dette er tilfældet:

ps -ef|grep airsonic

Du kan også direkte besøge AirSonic-siden, men du skal midlertidigt ændre firewall-reglerne først:

sudo ufw allow in 8080/tcp

Derefter skal du pege på din yndlingswebbrowser http://203.0.113.1:8080/airsonicog derefter bruge standardoplysningerne nedenfor til at logge ind:

  • Brugernavn: admin
  • Adgangskode: admin

Af sikkerhedsmæssige årsager bør du ændre administratorens adgangskode umiddelbart efter at du er logget ind.

Når resultatet er bekræftet, skal du begrænse adgangen til porten 8080igen:

sudo ufw deny in 8080/tcp

Trin 5: Få et Let's Encrypt SSL-certifikat til dit AirSonic-websted

Af sikkerhedsmæssige årsager anbefales det at aktivere HTTPS-sikkerhed på alle nyoprettede websteder. Den mest bekvemme praksis for det er at implementere et Let's Encrypt SSL-certifikat som følger.

Installer Certbot-værktøjet:

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

Brug Certbot til at ansøge om et Let's Encrypt SSL-certifikat for domænet airsonic.example.com:

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

Certifikatet og kæden vil blive gemt på følgende:

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

Nøglefilen gemmes her:

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

Let's Encrypt SSL-certifikatet er designet til at udløbe om tre måneder. Du kan konfigurere et cron-job til at forny dine certifikater automatisk:

sudo crontab -e

Når du bliver bedt om at vælge en editor, skal du indtaste 2og derefter trykke på for ENTERat vælge /usr/bin/vim.basic.

Tryk derefter på O, og tilføj en ny linje som vist nedenfor:

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

Gem og luk:

:wq!

Dette cron-job vil forsøge at opdatere Let's Encrypt-certifikatet hver dag ved middagstid.

Trin 6: Installer Nginx som en omvendt proxy

Ved hjælp af Nginx kan du både lette besøgendes adgang, (så de ikke længere behøver at indtaste 8080portnummeret), og aktivere HTTPS-sikkerhed på din AirSonic-hjemmeside.

Installer Nginx ved hjælp af APT:

sudo apt install -y nginx

Opret derefter en konfigurationsfil til 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

Opret et symbolsk link, der peger på den nyoprettede AirSonic Nginx-konfigurationsfil:

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

Genstart Nginx for at sætte din konfiguration i kraft:

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

Til sidst skal du pege din foretrukne webbrowser til http://airsonic.example.com/airsoniceller https://airsonic.example.com/airsonicbegynde at udforske dit AirSonic-websted.


Opsæt Cacti på Debian Jessie

Opsæt Cacti på Debian Jessie

Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed

Installer Lets Encrypt SSL på One-Click WordPress App

Installer Lets Encrypt SSL på One-Click WordPress App

Introduktion Lets Encrypt er en certifikatmyndighedstjeneste, der tilbyder gratis TLS/SSL-certifikater. Installationsprocessen forenkles af Certbot,

Konfigurer iRedMail på Debian Wheezy

Konfigurer iRedMail på Debian Wheezy

Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer

Tre gratis serverkontrolpaneler (hurtig installation)

Tre gratis serverkontrolpaneler (hurtig installation)

1. Virtualmin/Webmin Virtualmin er et kraftfuldt og fleksibelt webhotel kontrolpanel til Linux og UNIX systemer baseret på den velkendte Open Source web-base

Opsætning af en Yii-applikation på Ubuntu 14.04

Opsætning af en Yii-applikation på Ubuntu 14.04

Yii er en PHP-ramme, der giver dig mulighed for at udvikle applikationer hurtigere og nemmere. Installation af Yii på Ubuntu er ligetil, da du vil lære nøjagtigt

Brug af skærm på Ubuntu 14.04

Brug af skærm på Ubuntu 14.04

Screen er et program, der tillader flere terminalsessioner inden for et vindue. Dette giver dig mulighed for at simulere flere terminalvinduer, hvor det ma

Brug af Logrotate til at administrere logfiler

Brug af Logrotate til at administrere logfiler

Introduktion Logrotate er et Linux-værktøj, der forenkler administrationen af ​​logfiler. Det kører typisk en gang om dagen via et cron-job og administrerer logbasen

Konfiguration af statisk netværk og IPv6 på CentOS 7

Konfiguration af statisk netværk og IPv6 på CentOS 7

VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten

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

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

I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj

Sådan installeres Kanboard på Ubuntu 18.04 LTS

Sådan installeres Kanboard på Ubuntu 18.04 LTS

Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere

Sådan installeres Kanboard på Debian 9

Sådan installeres Kanboard på Debian 9

Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere

Sådan installeres Gitea på Debian 9

Sådan installeres Gitea på Debian 9

Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er

Sådan installeres Gitea på Ubuntu 18.04

Sådan installeres Gitea på Ubuntu 18.04

Bruger du et andet system? Gitea er et alternativt open source, selv-hostet versionskontrolsystem drevet af git. Gitea er skrevet på Golang og er

Sådan installeres Thelia 2.3 på Debian 9

Sådan installeres Thelia 2.3 på Debian 9

Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i

Patching the Dirty Cow Exploit på CentOS

Patching the Dirty Cow Exploit på CentOS

Hvad er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheden udnyttes gennem, hvordan Linux behandler kode. Det giver en uprivilegeret bruger mulighed for at gai

Konfigurer en ikke-rootbruger med Sudo Access på Ubuntu

Konfigurer en ikke-rootbruger med Sudo Access på Ubuntu

Det kan være farligt at have kun én bruger, som er root. Så lad os ordne det. Vultr giver os friheden til at gøre som vi vil med vores brugere og vores servere

Installer Adminer på Debian/Ubuntu

Installer Adminer på Debian/Ubuntu

Adminer er et letvægtsalternativ til phpMyAdmin. Til sammenligning er dens samlede pakkestørrelse 400KB mod 4,2 MB phpMyAdmin. I modsætning til phpMyAdmin, som

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere