Как да инсталирате AirSonic на Ubuntu 18.04 LTS

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

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

  • Наскоро внедрен Vultr Ubuntu 18.04 LTS сървърен екземпляр с поне 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
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трафик

Настройте правилата на защитната стена на UFW за стартиране на сървър на AirSonic:

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.

Актуализирайте системата

За целите на сигурността и производителността е необходимо да актуализирате системата Ubuntu 18.04 LTS до най-новото състояние:

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

По време на надстройката може да бъдете информирани, че текущо инсталираната версия на конфигурационния файл grub е локално променена. Тъй като ние всъщност не носим отговорност за модификацията, използвайте UPстрелката, за да маркирате install the package maintainer's versionопцията и след това натиснете ENTER.

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

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

Инсталирайте OpenJDK JRE 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

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 пакет, 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

Изтеглете предварително дефинираните 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/default/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 ufw allow in 8080/tcp

След това насочете любимия си уеб браузър към http://203.0.113.1:8080/airsonicи след това използвайте идентификационните данни по подразбиране, изброени по-долу, за да влезете:

  • потребителско име: admin
  • парола: admin

От съображения за сигурност трябва да промените паролата на администратора веднага след влизане.

След като резултатът бъде потвърден, отново ограничете достъпа до порта 8080:

sudo ufw deny in 8080/tcp

Стъпка 5: Получете Let's Encrypt SSL сертификат за вашия сайт на AirSonic

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

Инсталирайте помощната програма Certbot:

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

Използвайте Certbot, за да кандидатствате за Let's Encrypt SSL сертификат за домейна airsonic.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -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

Когато бъдете подканени да изберете редактор, въведете 2и след това натиснете, за ENTERда изберете /usr/bin/vim.basic.

След това натиснете Oи добавете нов ред, както е показано по-долу:

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 с помощта на APT:

sudo apt install -y nginx

След това създайте конфигурационен файл за 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

Създайте символна връзка, сочеща към новосъздадения конфигурационен файл на AirSonic Nginx:

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

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

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

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


Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване

Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Как да настроите надстройки без надзор на Debian 9 (разтягане)

Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

Как да инсталирате и конфигурирате PHP 7.0 или PHP 7.1 на Ubuntu 16.04

PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Три безплатни контролни панела на сървъра (бърза инсталация)

Три безплатни контролни панела на сървъра (бърза инсталация)

1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код

Настройване на приложение Yii на Ubuntu 14.04

Настройване на приложение Yii на Ubuntu 14.04

Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l

Настройте свой собствен DNS сървър на Debian/Ubuntu

Настройте свой собствен DNS сървър на Debian/Ubuntu

Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th

Използване на Logrotate за управление на регистрационни файлове

Използване на Logrotate за управление на регистрационни файлове

Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Настройте Red5 Media Server на Ubuntu 16.04

Настройте Red5 Media Server на Ubuntu 16.04

Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

Компилирайте и инсталирайте Nginx с модула PageSpeed ​​на Debian 8

В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Как да инсталирате Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Как да инсталирате Vanilla Forum на Ubuntu 16.04

Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Как да инсталирате Kanboard на Ubuntu 18.04 LTS

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Kanboard на Debian 9

Как да инсталирате Kanboard на Debian 9

Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира

Как да инсталирате Gitea на Debian 9

Как да инсталирате Gitea на Debian 9

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е

Как да инсталирате Gitea на Ubuntu 18.04

Как да инсталирате Gitea на Ubuntu 18.04

Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е

Инсталирайте Lynis на Debian 8

Инсталирайте Lynis на Debian 8

Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз

Как да инсталирате Thelia 2.3 на Debian 9

Как да инсталирате Thelia 2.3 на Debian 9

Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече