Предуслови
Корак 1: Основна конфигурација система
Корак 2: Инсталирајте ОпенЈДК Јава Рунтиме Енвиронмент (ЈРЕ) 8
Корак 3: Инсталирајте АирСониц
Корак 4: Тестирајте инсталацију
Корак 5: Набавите Лет'с Енцрипт ССЛ сертификат за своју АирСониц локацију
Корак 6: Инсталирајте Нгинк као обрнути прокси
АирСониц је бесплатан сервер за стримовање медија отвореног кода. У овом водичу, водићу вас кроз процес постављања инстанце АирСониц сервера од нуле на Убунту 18.04 ЛТС инстанци сервера.
Предуслови
- Новопостављена инстанца сервера Вултр Убунту 18.04 ЛТС са најмање 2 ГБ меморије. Рецимо да има ИПв4 адресу
203.0.113.1.
- : Судо корисника .
- Домен
airsonic.example.comкоји се упућује на инстанцу сервера поменуту горе.
Корак 1: Основна конфигурација система
Креирајте датотеку за размену
Да бисте постигли боље перформансе система, препоручује се да направите датотеку за замену од 2 ГБ (2048 М) на машини са 2 ГБ меморије:
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
Напомена: Ако користите другу величину сервера, одговарајућа величина свап партиције може варирати.
Подесите име хоста машине и потпуно квалификовано име домена (ФКДН)
Правилно подешавање имена хоста и ФКДН-а за машину је потребно за омогућавање ХТТПС безбедности помоћу Лет'с Енцрипт ССЛ сертификата.
Следеће команде ће поставити име хоста airsonicи ФКДН airsonic.example.comза машину:
sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts
Резултати се могу потврдити следећим:
hostname
hostname -f
Измените правила заштитног зида да бисте дозволили улазни SSH, HTTP, и HTTPSсаобраћај
Подесите УФВ правила заштитног зида за покретање АирСониц сервера:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Када видите упит Command may disrupt existing ssh connections. Proceed with operation (y|n)?, унесите, yа затим притисните ENTER.
Ажурирајте систем
Због безбедности и перформанси, неопходно је ажурирати Убунту 18.04 ЛТС систем на најновији статус:
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Током надоградње, можда ћете бити обавештени да је тренутно инсталирана верзија конфигурационе датотеке груб локално измењена. Пошто ми заправо нисмо одговорни за измену, користите UPстрелицу да означите install the package maintainer's versionопцију, а затим притисните ENTER.
Након што се систем поново покрене, пријавите се поново као исти судо корисник да бисте наставили даље.
Корак 2: Инсталирајте ОпенЈДК Јава Рунтиме Енвиронмент (ЈРЕ) 8
Инсталирајте ОпенЈДК ЈРЕ 8, а затим потврдите резултате:
sudo apt install -y openjdk-8-jre-headless
java -version
Излаз друге команде ће бити сличан следећем:
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)
Поред тога, потребно је да подесите JAVA_HOMEпроменљиву окружења на следећи начин:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Корак 3: Инсталирајте АирСониц
АирСониц се може применити на различите методе. У овом водичу ћемо инсталирати АирСониц користећи АирСониц ВАР пакет.
Креирајте наменског корисника и наменску групу, обе назване airsonic:
sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic
Преузмите најновији АирСониц ВАР пакет, АирСониц в10.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
Преузмите унапред дефинисане датотеке АирСониц systemdјединице и затим покрените АирСониц услугу:
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
Напомена: Можда ћете морати да прегледате и прилагодите две датотеке АирСониц systemdјединице на сопственој машини.
Корак 4: Тестирајте инсталацију
АирСониц ће сада радити и слушати на порту 8080. Можете користити следећу команду да потврдите да је то случај:
ps -ef|grep airsonic
Такође можете директно да посетите АирСониц локацију, али прво морате привремено да измените правила заштитног зида:
sudo ufw allow in 8080/tcp
Затим, усмерите свој омиљени веб претраживач на http://203.0.113.1:8080/airsonic, а затим користите подразумеване акредитиве наведене у наставку да бисте се пријавили:
- Корисничко име:
admin
- Лозинка:
admin
Из безбедносних разлога, требало би да промените администраторску лозинку одмах након пријављивања.
Када се резултат потврди, поново ограничите приступ порту 8080:
sudo ufw deny in 8080/tcp
Корак 5: Набавите Лет'с Енцрипт ССЛ сертификат за своју АирСониц локацију
Из безбедносних разлога, препоручује се да омогућите ХТТПС безбедност на свакој новокреираној веб локацији. Најпогоднија пракса за то је да примените Лет'с Енцрипт ССЛ сертификат на следећи начин.
Инсталирајте услужни програм Цертбот:
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
Користите Цертбот да се пријавите за Лет'с Енцрипт ССЛ сертификат за домен airsonic.example.com:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com
Сертификат и ланац ће бити сачувани на следећем:
/etc/letsencrypt/live/airsonic.example.com/fullchain.pem
Кључна датотека ће бити сачувана овде:
/etc/letsencrypt/live/airsonic.example.com/privkey.pem
Лет'с Енцрипт ССЛ сертификат је дизајниран да истиче за три месеца. Можете да подесите црон посао за аутоматско обнављање сертификата:
sudo crontab -e
Када се од вас затражи да изаберете уређивач, унесите, 2а затим притисните ENTERда одаберете /usr/bin/vim.basic.
Затим притисните Oи додајте нови ред као што је приказано испод:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Сачувај и затвори:
:wq!
Овај црон посао ће покушати да ажурира сертификат Лет'с Енцрипт сваког дана у подне.
Корак 6: Инсталирајте Нгинк као обрнути прокси
Уз помоћ Нгинк-а, можете да олакшате приступ посетиоцима (тако да више не морају да уносе 8080број порта) и омогућите ХТТПС безбедност на вашој АирСониц веб локацији.
Инсталирајте Нгинк користећи АПТ:
sudo apt install -y nginx
Затим креирајте конфигурациону датотеку за АирСониц:
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
Направите симболичку везу која указује на новостворену АирСониц Нгинк конфигурациону датотеку:
sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/
Поново покрените Нгинк да бисте своју конфигурацију ставили на снагу:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
На крају, усмерите свој омиљени веб претраживач на http://airsonic.example.com/airsonicили https://airsonic.example.com/airsonicда бисте започели истраживање ваше АирСониц веб локације.