Как да инсталирате AirSonic на CentOS 7

AirSonic е безплатен сървър за поточно предаване на медии с отворен код. В този урок ще ви преведа през процеса на внедряване на сървърен екземпляр на AirSonic от нулата на сървърен екземпляр на CentOS 7.

Предпоставки

  • Наскоро внедрен Vultr CentOS 7 сървърен екземпляр с поне 2 GB памет. Да кажем, че има IPv4 адрес 203.0.113.1.
  • А потребителското Sudo .
  • Домейн airsonic.example.com, насочен към споменатия по-горе екземпляр на сървъра.

Стъпка 1: Основна системна конфигурация

Създайте суап файл

За да получите по-добра производителност на системата, се препоръчва да създадете 2GB (2048M) суап файл на машина с 2GB памет:

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

Забележка: Ако използвате различен размер на сървъра, подходящият размер на суап дяла може да варира.

Настройте името на хоста на машината и пълното име на домейн (FQDN)

Правилното настройване на име на хост и FQDN за машината е необходимо за активиране на HTTPS сигурността с Let's Encrypt SSL сертификат.

Следните команди ще настроят име на хост airsonicи FQDN 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

Променете правилата на защитната стена, за да разрешите входящ HTTP и HTTPS трафик

Премахнете блока по подразбиране на CentOS 7 на портове 80( HTTP) и 443( HTTPS):

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Инсталирайте репото

Инсталирайте репото на EPEL YUM и след това актуализирайте системата:

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

След като системата се рестартира, влезте отново като същия потребител на sudo, за да продължите.

Стъпка 2: Инсталирайте OpenJDK Java Runtime Environment (JRE) 8

Инсталирайте OpenJDK JRE 8 и след това потвърдете резултата на CentOS 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

AirSonic може да бъде разгърнат с помощта на различни методи. В този урок ще инсталираме AirSonic с помощта на пакета AirSonic WAR.

Създайте специален потребител и специална група, и двете с име airsonic:

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

Изтеглете най-новия пакет AirSonic WAR:

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файлове на AirSonic и след това стартирайте услугата AirSonic:

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файла на AirSonic на вашата собствена машина.

Стъпка 4: Тествайте инсталацията

AirSonic вече ще работи и ще слуша на порт 8080. Можете да използвате следната команда, за да потвърдите, че това е така:

ps -ef|grep airsonic

Можете също така директно да посетите сайта на 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: Получете Let's Encrypt SSL сертификат за вашия сайт на AirSonic

За целите на сигурността се препоръчва да активирате HTTPS защитата на всеки новосъздаден уебсайт. Най-удобната практика за това е да разположите Let's Encrypt SSL сертификат, както следва.

Инсталирайте помощната програма Certbot на CentOS 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

Използвайте Certbot, за да кандидатствате за Let's Encrypt SSL сертификат за домейна 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

SSL сертификатът Let's Encrypt е проектиран да изтече след три месеца. Можете да настроите cron задание за автоматично подновяване на вашите сертификати:

sudo crontab -e

Натиснете Iи след това въведете следния запис:

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

Запазете и излезте:

:wq

Тази задача на cron ще се опитва да актуализира сертификата Let's Encrypt всеки ден по обяд.

Стъпка 6: Инсталирайте Nginx като обратен прокси

С помощта на Nginx можете както да улесните достъпа на посетителите (така че те вече не трябва да въвеждат 8080номера на порта), така и да активирате HTTPS сигурността на вашия уебсайт на AirSonic.

Инсталирайте Nginx с помощта на YUM:

sudo yum install -y nginx

След това създайте конфигурационен файл за AirSonic:

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

Рестартирайте Nginx, за да приложите конфигурацията си:

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

И накрая, насочете любимия си уеб браузър към http://airsonic.example.com/airsonicили за https://airsonic.example.com/airsonicда започнете да изследвате вашия уебсайт на AirSonic.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече