Ինչպես տեղադրել Airsonic Media Server-ը CentOS 7-ում


Ներածություն

Airsonic-ը բաց կոդով վեբ վրա հիմնված մեդիա սերվեր է, որը թույլ է տալիս օգտվողներին կառավարել, հեռարձակել և կիսել իրենց աուդիո և վիդեո ֆայլերը: Դա բազմակողմանի և հզոր գործիք է՝ տարբեր մեդիա ձևաչափերի աջակցությամբ, ինչպես նաև երրորդ կողմի ծառայությունների հետ, ինչպիսիք են Last.fm-ը և Tidal-ը: Այս հոդվածում մենք ձեզ կառաջնորդենք CentOS 7 համակարգում Airsonic-ի տեղադրման գործընթացում:

Նախադրյալներ

Սկսելուց առաջ համոզվեք, որ ունեք −

  • CentOS 7 համակարգ՝ root կամ sudo մուտքով:

  • Կայուն ինտերնետ կապ:

  • Հրամանատարի հիմնական իմացություն:

Քայլ 1. Թարմացրեք ձեր համակարգը

Նախ, թարմացրեք ձեր CentOS 7 համակարգը վերջին տարբերակին՝ գործարկելով հետևյալ հրամանները

sudo yum update
sudo yum upgrade

Քայլ 2. Տեղադրեք Java

Airsonic-ը պահանջում է Java-ն գործարկելու համար, ուստի նախ պետք է այն տեղադրենք: Տեղադրեք OpenJDK 11 փաթեթը՝ գործարկելով հետևյալ հրամանները −

sudo yum install java-11-openjdk

Հաստատելու համար, որ Java-ն տեղադրված է, գործարկեք հետևյալ հրամանը -

java -version

Քայլ 3. Ստեղծեք հատուկ օգտատեր Airsonic-ի համար

Անվտանգության նկատառումներից ելնելով, խորհուրդ է տրվում ստեղծել առանձին օգտատեր՝ Airsonic ծառայությունը գործարկելու համար: Օգտագործեք հետևյալ հրամանը՝ «airsonic» անունով նոր օգտվող ստեղծելու համար

sudo useradd -r -m -U -d /opt/airsonic -s /sbin/nologin airsonic

Քայլ 4. Ներբեռնեք և կարգավորեք Airsonic-ը

Ներբեռնեք վերջին Airsonic անկախ WAR ֆայլը պաշտոնական GitHub պահոցից -

sudo wget https://github.com/airsonic/airsonic/releases/download/v10.6.2/airsonic.war -P /opt/airsonic

Կարգավորել թույլտվությունները ներբեռնված ֆայլի համար -

sudo chown airsonic: /opt/airsonic/airsonic.war

Ստեղծեք նոր systemd սպասարկման ֆայլ Airsonic-ի համար

sudo nano /etc/systemd/system/airsonic.service

Տեղադրեք հետևյալ բովանդակությունը ֆայլի մեջ −

[Unit]
Description=Airsonic Media Server
After=remote-fs.target network.target

[Service]
User=airsonic
Group=airsonic
Environment="JAVA_OPTS=-Xmx700m"
ExecStart=/usr/bin/java $JAVA_OPTS -Dairsonic.home=/opt/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /opt/airsonic/airsonic.war
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Պահպանեք ֆայլը և դուրս եկեք տեքստային խմբագրիչից:

Քայլ 5. Սկսեք և միացրեք Airsonic ծառայությունը

Սկսեք Airsonic ծառայությունը հետևյալ հրամանով −

sudo systemctl start airsonic

Միացնել Airsonic-ը սկսելու համար բեռնման պահին −

sudo systemctl enable airsonic

Քայլ 6. Կարգավորեք Firewall-ը

Եթե ձեր համակարգում միացված է firewall, ավելացրեք կանոն, որը թույլ կտա մուտքային երթևեկությունը կանխադրված Airsonic պորտում (8080) -

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Քայլ 7. Մուտք գործեք Airsonic վեբ ինտերֆեյս

Բացեք ձեր վեբ զննարկիչը և անցեք http://your_server_IP:8080/airsonic: Դուք կտեսնեք Airsonic մուտքի էջը: Մուտք գործելու համար օգտագործեք կանխադրված օգտանունը «admin» և գաղտնաբառը «admin»: Համոզվեք, որ փոխեք կանխադրված գաղտնաբառը առաջին անգամ մուտք գործելուց անմիջապես հետո՝ անվտանգությունն ապահովելու համար:

Քայլ 8. Կարգավորեք Airsonic-ը

Մուտք գործելուց հետո ձեզ կներկայացվի Airsonic վահանակ: Այստեղ կարող եք հարմարեցնել կարգավորումները, ավելացնել մեդիա թղթապանակներ և կարգավորել տրանսկոդավորման տարբերակները:

Մեդիա թղթապանակներ ավելացնելու համար անցեք «Կարգավորումներ» > «Մեդիա թղթապանակներ» և սեղմեք «Ավելացնել մեդիա թղթապանակ» կոճակը: Տրամադրեք ուղի դեպի ձեր մեդիա պանակը և ընտրեք թղթապանակի տեսակը (Երաժշտություն կամ Տեսանյութ): Թղթապանակ ավելացնելու համար սեղմեք «Պահպանել»:

Տրանսկոդավորման տարբերակները կարգավորելու համար անցեք «Կարգավորումներ» > «Տրանսկոդավորում»: Airsonic-ը գալիս է տարբեր մեդիա ձևաչափերի համար նախապես կազմաձևված տրանսկոդավորման կարգավորումներով, բայց դուք կարող եք դրանք հարմարեցնել ձեր կարիքներին համապատասխան:

Անհրաժեշտության դեպքում կարգավորեք մեդիա սկաների, ցանցի և անվտանգության կարգավորումները: Համոզվեք, որ սեղմեք «Պահպանել» ցանկացած փոփոխություն կատարելուց հետո:

Քայլ 9. Վայելեք ձեր Airsonic մեդիա սերվերը

Ամեն ինչ կարգավորելով՝ այժմ կարող եք օգտագործել Airsonic՝ ձեր մեդիա ֆայլերը հեռարձակելու, կառավարելու և համօգտագործելու համար: Դուք կարող եք մուտք գործել ձեր Airsonic սերվեր ցանկացած սարքից վեբ բրաուզերով, ներառյալ սմարթֆոնները, պլանշետները և համակարգիչները:

Քայլ 10. Կազմաձևեք հակադարձ պրոքսի (ըստ ցանկության)

Եթե ցանկանում եք մուտք գործել Airsonic՝ օգտագործելով տիրույթի անուն կամ ենթադոմեյն, կարող եք ստեղծել հակադարձ վստահված անձ՝ օգտագործելով վեբ սերվեր, ինչպիսիք են Nginx-ը կամ Apache-ը: Այս օրինակում մենք կօգտագործենք Nginx-ը:

Տեղադրեք Nginx-ը

sudo yum install epel-release
sudo yum install nginx

Սկսեք և միացրեք Nginx-ը

sudo systemctl start nginx
sudo systemctl enable nginx

Ստեղծեք նոր Nginx սերվերի բլոկի կազմաձևման ֆայլ

sudo nano /etc/nginx/conf.d/airsonic.conf

Տեղադրեք հետևյալ բովանդակությունը ֆայլում՝ փոխարինելով yourdomain.com-ը ձեր տիրույթով կամ ենթադոմեյնով −

server {
   listen 80;
   server_name yourdomain.com;

   location / {
      proxy_pass http://localhost:8080/airsonic/;
      proxy_set_header Host $host;
      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 $scheme;
   }
}

Պահպանեք ֆայլը և դուրս եկեք տեքստային խմբագրիչից:

Վերբեռնեք Nginx-ը՝ փոփոխությունները կիրառելու համար

sudo systemctl reload nginx

Թարմացրեք ձեր DNS կարգավորումները՝ ձեր տիրույթը կամ ենթադոմեյնը ձեր սերվերի IP հասցեին ուղղելու համար:

Քայլ 11. Ապահովեք ձեր Airsonic սերվերը SSL-ով (ըստ ցանկության)

Ձեր տվյալները պաշտպանելու և Airsonic սերվերի անվտանգությունը բարձրացնելու համար խորհուրդ է տրվում օգտագործել HTTPS: Դրան հասնելու ուղիներից մեկը Let's Encrypt-ից անվճար SSL վկայագիր ստանալն է:

Տեղադրեք Certbot և Nginx հավելվածը

sudo yum install certbot python2-certbot-nginx

Գործարկեք Certbot-ը՝ SSL վկայական ստանալու և տեղադրելու համար

sudo certbot --nginx -d yourdomain.com

Հետևեք էկրանի հրահանգներին՝ ավարտելու SSL վկայագրի կարգավորումը: Ավարտելուց հետո ձեր Airsonic սերվերը հասանելի կլինի HTTPS-ի միջոցով:

Քայլ 12. Միացնել SSL-ի ավտոմատ թարմացումը (ըստ ցանկության)

Եկեք գաղտնագրենք SSL վկայագրերը վավեր են 90 օր: Նորացման գործընթացը ավտոմատացնելու համար ստեղծեք cron աշխատանք՝ Certbot-ի նորացման հրամանը պարբերաբար գործարկելու համար:

Բացեք crontab ֆայլը

sudo crontab -e

Ֆայլին ավելացրեք հետևյալ տողը −

0 2 * * * /usr/bin/certbot renew --quiet

Սա կգործարկի նորացման հրամանը ամեն օր ժամը 2-ին: Եթե սերտիֆիկատը մոտ է իր գործողության ժամկետին, Certbot-ն ավտոմատ կերպով կթարմացնի այն:

Հետևելով այս լրացուցիչ քայլերին, դուք կարող եք ավելի մեծացնել ձեր Airsonic մեդիա սերվերի գործառույթն ու անվտանգությունը: Հակադարձ վստահված անձի, SSL վկայագրի և վկայագրի ավտոմատ նորացման միջոցով դուք կարող եք վայելել ավելի ապահով և օգտագործողի համար հարմար փորձ՝ հեռարձակելով և կիսելով ձեր մեդիա ֆայլերը:

Քայլ 13. Տեղադրեք և կազմաձևեք տվյալների բազա (ըստ ցանկության)

Լռելյայնորեն, Airsonic-ը օգտագործում է ներկառուցված H2 տվյալների բազա՝ իր տվյալները պահելու համար: Այնուամենայնիվ, դուք կարող եք բարելավել ձեր Airsonic սերվերի կատարումն ու հուսալիությունը՝ օգտագործելով արտաքին տվյալների բազա, ինչպիսիք են PostgreSQL կամ MySQL/MariaDB: Այս օրինակում մենք կտեղադրենք և կկարգավորենք PostgreSQL-ը:

Տեղադրեք PostgreSQL

sudo yum install postgresql-server postgresql-contrib

Նախաձեռնել PostgreSQL տվյալների բազան

sudo postgresql-setup initdb

Սկսեք և միացրեք PostgreSQL ծառայությունը

sudo systemctl start postgresql
sudo systemctl enable postgresql

Ստեղծեք նոր PostgreSQL օգտվող և տվյալների բազա Airsonic-ի համար

sudo -i -u postgres
createuser airsonic
createdb -O airsonic airsonicdb
exit

Խմբագրել PostgreSQL կազմաձևման ֆայլը՝ տեղական կապերը թույլատրելու համար

sudo nano /var/lib/pgsql/data/pg_hba.conf

Գտեք հետևյալ տողերը −

host    all    all      127.0.0.1/32      ident
host    all    all      ::1/128           ident

Նույնականացումը փոխարինեք md5-ով

host    all    all      127.0.0.1/32      md5
host    all    all      ::1/128           md5

Պահպանեք ֆայլը և դուրս եկեք տեքստային խմբագրիչից:

Վերագործարկեք PostgreSQL ծառայությունը

sudo systemctl restart postgresql

Թարմացրեք Airsonic ծառայության ֆայլը՝ PostgreSQL տվյալների բազան օգտագործելու համար

sudo nano /etc/systemd/system/airsonic.service

Փոփոխեք Environment և ExecStart տողերը հետևյալ կերպ

Environment="JAVA_OPTS=-Xmx700m -Dspring.datasource.url=jdbc:postgresql://localhost:5432/airsonicdb -Dspring.datasource.username=airsonic -Dspring.datasource.password=your_password"
ExecStart=/usr/bin/java $JAVA_OPTS -Dairsonic.home=/opt/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -Dspring.profiles.active=legacy -jar /opt/airsonic/airsonic.war

Փոխարինեք your_password-ը Airsonic PostgreSQL օգտվողի համար ուժեղ գաղտնաբառով:

Պահպանեք ֆայլը և դուրս եկեք տեքստային խմբագրիչից:

Վերագործարկեք Airsonic ծառայությունը

sudo systemctl restart airsonic

Քայլ 14. Կարգավորել երրորդ կողմի ինտեգրումները (ըստ ցանկության)

Airsonic-ն աջակցում է ինտեգրմանը երրորդ կողմի տարբեր ծառայությունների հետ, ինչպիսիք են Last.fm-ը, Tidal-ը և Google Drive-ը: Այս ինտեգրումները կարգավորելու համար հետևեք ստորև նշված քայլերին −

  • Last.fm − Գնացեք «Կարգավորումներ» > «Անձնական» և մուտքագրեք ձեր Last.fm օգտվողի անունը և գաղտնաբառը «Last.fm Scrobbling» բաժնում: Սեղմեք «Պահպանել»՝ սկրոբլինգը միացնելու համար:

  • Tidal − Գնացեք «Կարգավորումներ» > «Ցանց» և մուտքագրեք ձեր Tidal API նշանը «Մակընթացային կարգավորումներ» բաժնում: Սեղմեք «Պահպանել»՝ Tidal ինտեգրումը միացնելու համար:

  • Google Drive − Գնացեք «Կարգավորումներ» > «Մեդիա թղթապանակներ» և սեղմեք «Ավելացնել մեդիա թղթապանակ» կոճակը: Ընտրեք «Google Drive»-ը որպես թղթապանակի տեսակ և հետևեք էկրանի հրահանգներին՝ նույնականացնելու և մուտքը դեպի ձեր Google Drive հաշիվը թույլատրելու համար:

Այս լրացուցիչ քայլերով դուք կարող եք ավելի մեծացնել ձեր Airsonic մեդիա սերվերի հնարավորությունները: Արտաքին տվյալների բազան օգտագործելով՝ դուք կարող եք բարելավել կատարումը և հուսալիությունը, մինչդեռ երրորդ կողմի ինտեգրումները թույլ են տալիս միացնել ձեր սերվերը հանրաճանաչ ծառայություններին, ինչպիսիք են Last.fm-ը, Tidal-ը և Google Drive-ը:

Եզրակացություն

Այս հոդվածում մենք ձեզ ուղեկցել ենք CentOS 7-ում Airsonic մեդիա սերվերի տեղադրման և կազմաձևման գործընթացում: Airsonic-ի միջոցով դուք կարող եք հեշտությամբ հեռարձակել ձեր երաժշտությունն ու տեսանյութերը, կիսվել ձեր մեդիա գրադարանով ընկերների և ընտանիքի հետ և վայելել ձեր բովանդակությունը ցանկացած սարքի վրա: .