Предуслови
Корак 1: Основна конфигурација система
Корак 2: Инсталирајте ОпенЈДК Јава Рунтиме Енвиронмент (ЈРЕ) 8
Корак 3: Инсталирајте АирСониц
Корак 4: Тестирајте инсталацију
Корак 5: Набавите Лет'с Енцрипт ССЛ сертификат за своју АирСониц локацију
Корак 6: Инсталирајте Нгинк као обрнути прокси
АирСониц је бесплатан сервер за стримовање медија отвореног кода. У овом водичу, водићу вас кроз процес постављања инстанце АирСониц сервера од нуле на инстанци сервера ЦентОС 7.
Предуслови
- Новопостављена инстанца сервера Вултр ЦентОС 7 са најмање 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
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 airsonic.example.com airsonic
127.0.0.1 airsonic
::1 airsonic
EOF
Резултати се могу потврдити следећим:
hostname
hostname -f
Измените правила заштитног зида да бисте дозволили улазни ХТТП и ХТТПС саобраћај
Уклоните подразумевани блок ЦентОС 7 на портовима 80( HTTP) и 443( HTTPS):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Инсталирајте репо
Инсталирајте ЕПЕЛ ИУМ репо, а затим ажурирајте систем:
sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now
Након што се систем поново покрене, пријавите се поново као исти судо корисник да бисте наставили даље.
Корак 2: Инсталирајте ОпенЈДК Јава Рунтиме Енвиронмент (ЈРЕ) 8
Инсталирајте ОпенЈДК ЈРЕ 8, а затим потврдите резултат на ЦентОС 7:
sudo yum install -y java-1.8.0-openjdk.x86_64
java -version
Излаз друге команде ће бити сличан следећем:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, 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
Преузмите најновији АирСониц ВАР пакет:
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/sysconfig/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service
Напомена: Можда ћете морати да прегледате и прилагодите две датотеке АирСониц systemdјединице на сопственој машини.
Корак 4: Тестирајте инсталацију
АирСониц ће сада радити и слушати на порту 8080. Можете користити следећу команду да потврдите да је то случај:
ps -ef|grep airsonic
Такође можете директно да посетите АирСониц локацију, али прво морате привремено да измените правила заштитног зида:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo systemctl reload firewalld.service
Затим, усмерите свој омиљени веб претраживач на http://203.0.113.1:8080/airsonic, а затим користите подразумеване акредитиве наведене у наставку да бисте се пријавили:
- Корисничко име:
admin
- Лозинка:
admin
Из безбедносних разлога, требало би да промените администраторску лозинку одмах након пријављивања.
Када се резултат потврди, поново ограничите приступ порту 8080:
sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo systemctl reload firewalld.service
Корак 5: Набавите Лет'с Енцрипт ССЛ сертификат за своју АирСониц локацију
Из безбедносних разлога, препоручује се да омогућите ХТТПС безбедност на свакој новокреираној веб локацији. Најпогоднија пракса за то је да примените Лет'с Енцрипт ССЛ сертификат на следећи начин.
Инсталирајте услужни програм Цертбот на ЦентОС 7:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum 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
Притисните I, а затим унесите следећи унос:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Сачувај и затвори:
:wq
Овај црон посао ће покушати да ажурира сертификат Лет'с Енцрипт сваког дана у подне.
Корак 6: Инсталирајте Нгинк као обрнути прокси
Уз помоћ Нгинк-а, можете да олакшате приступ посетиоцима (тако да више не морају да уносе 8080број порта) и омогућите ХТТПС безбедност на вашој АирСониц веб локацији.
Инсталирајте Нгинк користећи ИУМ:
sudo yum install -y nginx
Затим креирајте конфигурациону датотеку за АирСониц:
cat <<EOF | sudo tee /etc/nginx/conf.d/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 systemctl restart nginx.service
sudo systemctl enable nginx.service
На крају, усмерите свој омиљени веб претраживач на http://airsonic.example.com/airsonicили https://airsonic.example.com/airsonicда бисте започели истраживање ваше АирСониц веб локације.