Előfeltételek
1. lépés: Alapvető rendszerkonfiguráció
2. lépés: Az OpenJDK Java Runtime Environment (JRE) 8 telepítése
3. lépés: Telepítse az AirSonic-ot
4. lépés: Tesztelje a telepítést
5. lépés: Szerezzen be Let's Encrypt SSL tanúsítványt az AirSonic webhelyéhez
6. lépés: Telepítse az Nginx-et fordított proxyként
Az AirSonic egy ingyenes és nyílt forráskódú média streaming szerver. Ebben az oktatóanyagban végigvezetem Önt egy AirSonic kiszolgálópéldány üzembe helyezésének folyamatán a semmiből egy Ubuntu 18.04 LTS kiszolgálópéldányon.
Előfeltételek
- Egy újonnan telepített Vultr Ubuntu 18.04 LTS kiszolgálópéldány legalább 2 GB memóriával. Tegyük fel, hogy van IPv4-címe
203.0.113.1.
- Egy sudo felhasználó .
- Egy tartomány
airsonic.example.coma fent említett szerverpéldányra mutat.
1. lépés: Alapvető rendszerkonfiguráció
Hozzon létre egy swap fájlt
A jobb rendszerteljesítmény érdekében javasolt egy 2 GB (2048M) swap fájl létrehozása egy 2 GB memóriával rendelkező gépen:
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
Megjegyzés: Ha más szerverméretet használ, a swap partíció megfelelő mérete változhat.
Állítsa be a gép gazdagépnevét és teljesen minősített tartománynevét (FQDN)
A HTTPS biztonság engedélyezéséhez a Let's Encrypt SSL-tanúsítvánnyal megfelelően be kell állítani a gép nevét és az FQDN-t.
A következő parancsok beállítják a gép nevét airsonicés az FQDN- airsonic.example.comt:
sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts
Az eredményeket az alábbiakkal lehet megerősíteni:
hostname
hostname -f
Módosítsa a tűzfalszabályokat a bejövő SSH, HTTP, és HTTPSforgalom engedélyezése érdekében
Állítsa be az UFW tűzfalszabályokat egy AirSonic szerver futtatásához:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Amikor megjelenik a felszólítás Command may disrupt existing ssh connections. Proceed with operation (y|n)?, írja be , ymajd nyomja meg a gombot ENTER.
Frissítse a rendszert
Biztonsági és teljesítmény okokból frissíteni kell az Ubuntu 18.04 LTS rendszert a legújabb állapotra:
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
A frissítés során értesítést kaphat arról, hogy a grub konfigurációs fájl jelenleg telepített verziója helyileg módosult. Mivel valójában nem vagyunk felelősek a módosításért, a UPnyíllal jelölje ki a install the package maintainer's versionlehetőséget, majd nyomja meg a gombot ENTER.
A rendszer újraindítása után a továbblépéshez jelentkezzen be ugyanazzal a sudo felhasználóval.
2. lépés: Az OpenJDK Java Runtime Environment (JRE) 8 telepítése
Telepítse az OpenJDK JRE 8-at, majd erősítse meg az eredményeket:
sudo apt install -y openjdk-8-jre-headless
java -version
A második parancs kimenete hasonló lesz a következőhöz:
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)
Ezenkívül be kell állítania a JAVA_HOMEkörnyezeti változót az alábbiak szerint:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
3. lépés: Telepítse az AirSonic-ot
Az AirSonic különféle módszerekkel telepíthető. Ebben az oktatóanyagban az AirSonic-t az AirSonic WAR csomag segítségével telepítjük.
Hozzon létre egy dedikált felhasználót és egy dedikált csoportot, mindkettő neve airsonic:
sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic
Töltse le a legújabb AirSonic WAR csomagot, az AirSonic v10.1.2-t:
cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic
Töltse le az előre meghatározott AirSonic systemdegység fájlokat, majd indítsa el az AirSonic szolgáltatást:
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
Megjegyzés: Előfordulhat, hogy át kell tekintenie és testre kell szabnia a két AirSonic systemdegység fájlt a saját gépén.
4. lépés: Tesztelje a telepítést
Az AirSonic most működik, és a porton hallgat 8080. A következő paranccsal ellenőrizheti, hogy ez a helyzet:
ps -ef|grep airsonic
Közvetlenül is felkeresheti az AirSonic webhelyét, de először ideiglenesen módosítania kell a tűzfalszabályokat:
sudo ufw allow in 8080/tcp
Ezután mutasson kedvenc webböngészőjére a címre http://203.0.113.1:8080/airsonic, majd használja az alább felsorolt alapértelmezett hitelesítő adatokat a bejelentkezéshez:
- Felhasználónév:
admin
- Jelszó:
admin
Biztonsági okokból bejelentkezés után azonnal módosítani kell a rendszergazda jelszavát.
Az eredmény megerősítése után korlátozza 8080újra a hozzáférést a porton :
sudo ufw deny in 8080/tcp
5. lépés: Szerezzen be Let's Encrypt SSL tanúsítványt az AirSonic webhelyéhez
Biztonsági okokból javasoljuk, hogy minden újonnan létrehozott webhelyen engedélyezze a HTTPS-biztonságot. Ennek legkényelmesebb módja egy Let's Encrypt SSL-tanúsítvány telepítése az alábbiak szerint.
Telepítse a Certbot segédprogramot:
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
A Certbot használatával kérhet Let's Encrypt SSL-tanúsítványt a domainhez airsonic.example.com:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com
A tanúsítvány és a lánc a következő helyre kerül mentésre:
/etc/letsencrypt/live/airsonic.example.com/fullchain.pem
A kulcsfájl ide kerül mentésre:
/etc/letsencrypt/live/airsonic.example.com/privkey.pem
A Let's Encrypt SSL tanúsítványt úgy tervezték, hogy három hónapon belül lejárjon. Beállíthat egy cron feladatot a tanúsítványok automatikus megújításához:
sudo crontab -e
Amikor a rendszer felszólítja egy szerkesztő kiválasztására, írja be 2, majd nyomja meg ENTERa gombot a kiválasztásához /usr/bin/vim.basic.
Ezután nyomja meg a gombot O, és adjon hozzá egy új sort az alábbiak szerint:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Mentés és kilépés:
:wq!
Ez a cron feladat minden nap délben megpróbálja frissíteni a Let's Encrypt tanúsítványt.
6. lépés: Telepítse az Nginx-et fordított proxyként
Az Nginx segítségével megkönnyítheti a látogatók hozzáférését (hogy többé ne kelljen 8080beírniuk a portszámot), és engedélyezheti a HTTPS biztonságot az AirSonic webhelyén.
Az Nginx telepítése APT segítségével:
sudo apt install -y nginx
Ezután hozzon létre egy konfigurációs fájlt az AirSonic számára:
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
Hozzon létre egy szimbolikus hivatkozást, amely az újonnan létrehozott AirSonic Nginx konfigurációs fájlra mutat:
sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/
Indítsa újra az Nginx-et a konfiguráció érvénybe léptetéséhez:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Végül mutasson kedvenc webböngészőjének az AirSonic webhelyére , http://airsonic.example.com/airsonicvagy https://airsonic.example.com/airsonickezdje el felfedezni az AirSonic webhelyet.