GNU/Linux >> Belajar Linux >  >> Debian

Cara menginstal server media Serviio di Raspberry Pi

Tujuan

Instal layanan media Serviio di Raspberry Pi

Persyaratan

  • Raspberry Pi dengan instalasi Raspbian "Stretch" yang berfungsi
  • Hak istimewa root

Kesulitan

MUDAH

Konvensi

  • # – memerlukan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik
    langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Pengantar

Serviio adalah server media yang ditulis dalam java. Ini tersedia dalam dua versi:yang gratis (sayangnya gratis seperti dalam bir), dan versi "pro", yang dilengkapi dengan beberapa fitur tambahan seperti akses jarak jauh. Dalam tutorial ini kita akan membahas instalasi Serviio pada Raspberry Pi yang menjalankan versi minimal Raspbian “Stretch”.

Menginstal dependensi

Serviio ditulis dalam java, oleh karena itu kita harus menginstal kit pengembangan java untuk dapat menggunakannya. Ada dua versi JDK di repositori Raspbian Stretch:versi open source, dirilis di bawah GPLv2 lisensi, disebut OpenJDK , dan versi komersial berpemilik dari Oracle (paket ini sebenarnya disebut Oracle-Java8-jdk). Keduanya harus bekerja dengan benar, tetapi dalam tutorial ini kita akan menggunakan yang pertama.

# apt-get update && apt-get install --no-install-recommends openjdk-8-jdk ffmpeg x264

Ambil dan instal Serviio

Sekarang kita telah menginstal semua paket yang diperlukan, kita harus mengambil tarball Serviio:karena kita bekerja pada mesin tanpa kepala, kita akan menggunakan wget untuk menyelesaikan tugas. Oleh karena itu, kami menjalankan:

wget http://download.serviio.org/releases/serviio-1.9-linux.tar.gz

Setelah unduhan selesai, kita dapat melanjutkan ke instalasi Serviio yang sebenarnya. Kami akan mengekstrak konten tarball di dalam /opt direktori:jelas Anda dapat memilih yang lain, tetapi /opt secara konvensional digunakan untuk meng-host aplikasi pihak ketiga mandiri. Mari kita lanjutkan:

# tar -xvzf serviio-1.9-linux.tar.gz -C /opt

-C opsi (kependekan dari --directory ) menginstruksikan tar untuk mengubah direktori ke direktori yang diberikan, sebelum melakukan operasi.

Buat layanan systemd untuk Serviio

Setelah Serviio terinstal, Anda dapat mengamati bahwa ada dua skrip di dalam /opt/serviio-1.9/bin direktori:serviio.sh dan serviio-console.sh. Yang pertama meluncurkan server sedangkan yang kedua adalah antarmuka untuk mengontrolnya.

Pada titik ini, kita memiliki semua yang kita perlukan untuk membuat layanan systemd untuk meluncurkan serviio ketika sistem melakukan booting. Untuk menyelesaikan tugas ini, kita harus menulis file layanan kecil. Seperti yang Anda pasti tahu, systemd adalah sistem init linux baru, sekarang diadopsi oleh semua distribusi utama. Ini telah menjadi sumber dari banyak diskusi di komunitas open source, tetapi tidak diragukan lagi telah menjadi standar. Untuk membuat layanan, jalankan editor favorit Anda dan buat file bernama serviio.service yang berisi teks di bawah ini:

[Unit]
Description=Serviio media Server
After=syslog.target network.target

[Service]
User=serviio
ExecStart=/opt/serviio-1.9/bin/serviio.sh
ExecStop=/opt/serviio-1.9/bin/serviio.sh -stop

[Install]
WantedBy=multi-user.target

Menjelaskan sintaks file layanan systemd bukanlah tujuan dari tutorial ini, tetapi harap perhatikan baris yang berisi User=serviio petunjuk. Apa yang ingin kita peroleh dengannya, adalah menentukan bahwa daemon harus dijalankan dengan serviio hak pengguna dan bukan sebagai root, untuk alasan keamanan. serviio pengguna belum ada, jadi mari kita buat dan berikan kepemilikan direktori /opt/serviio-1.9 dan semua file di dalamnya:

# useradd -r -U -s /sbin/nologin serviio && chown -R serviio:serviio /opt/serviio-1.9

Anda mungkin familiar dengan useradd perintah, tetapi untuk kejelasan, mari kita tentukan untuk apa opsi yang disediakan. -r opsi menentukan bahwa kita ingin membuat system account . Akun sistem tidak memiliki informasi penuaan dan uid dengan nilai <1000; untuk akun seperti itu tidak ada direktori home yang dibuat. -U opsi akan menginstruksikan program untuk membuat juga grup dengan nama yang sama dengan pengguna, dan secara otomatis menambahkan pengguna ke grup tersebut. Akhirnya dengan -s , kami menentukan shell untuk pengguna. Dalam hal ini kami menggunakan /sbin/nologin yang merupakan fake shell . Kami menggunakannya untuk alasan keamanan:dengan cara ini pengguna, layanan yang berjalan, tidak akan pernah bisa menggunakan shell yang sebenarnya untuk menjalankan perintah.

Itu dia:kami telah membuat pengguna serviio dan menulis file layanan kami. Sekarang kita harus menyalinnya ke /usr/systemd/system direktori:

# cp serviio.service /etc/systemd/system

Untuk mengaktifkan layanan yang sekarang kita jalankan:

# systemctl enable serviio.service

Sekarang, reboot sistem:jika semuanya berjalan dengan baik, layanan serviio akan sudah aktif ketika proses boot selesai. Anda dapat memverifikasi statusnya dengan menjalankan:

$ systemctl status serviio.service

Systemd akan memberi tahu Anda tentang status daemon, misalnya:

● serviio.service - Serviio media Server
   Loaded: loaded (/etc/systemd/system/serviio.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-09-28 21:29:18 CEST; 31s ago
 Main PID: 420 (java)
   CGroup: /system.slice/serviio.service
           └─420 java -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -Djava.net.preferIPv4Stack=true
[...]

Seperti yang Anda lihat, layanan ini aktif dan berjalan, jadi semuanya berjalan seperti yang diharapkan. Jika terjadi kesalahan dan ada masalah saat meluncurkan layanan, Anda dapat menggunakan log yang disediakan oleh perintah yang sama untuk menyelesaikan masalah.

Jika Anda menjalankan firewall di mesin Anda, Anda juga harus membuka port 8895/tcp , 1900/udp , 23423/tcp dan 23424/tcp . Dua port terakhir diperlukan masing-masing untuk mengontrol konsol dan mengakses browser media

Kontrol layanan

Untuk mengontrol serviio, kami memiliki beberapa opsi. Karena kami menjalankan mesin tanpa kepala, kami tidak dapat mengakses konsol grafis, tetapi kami dapat mengakses antarmuka web, dengan menavigasi ke http://yourmachineip:23423/console/ dari komputer lain di lan yang sama atau menggunakan aplikasi pihak ketiga seperti aplikasi android “ServiiDroid”.

Daftar lengkap opsi yang memungkinkan tersedia di sini:http://serviio.org/apps" . Jika Anda menjalankan layanan versi “pro”, Anda juga dapat menjelajahi katalog Anda dengan menggunakan browser media terintegrasi yang dapat diakses di http://yourmachineip:23424/mediabrowser/ .


Debian
  1. Cara Menginstal Server Media Plex di Ubuntu 20.04

  2. Cara Menginstal Server Media Plex di Ubuntu 18.04

  3. Cara Menginstal Server Media Plex di CentOS 7

  1. Cara Menginstal Server Media Plex di Debian 9

  2. Cara Menginstal Server Media Plex di CentOS 7

  3. Cara Memasang Server Media AirSonic di CentOS 8

  1. Cara Menginstal Server Media Plex di CentOS 8

  2. Cara Menginstal Jellyfin Media Server di Debian 10

  3. Cara Menginstal Jellyfin Media Server di Debian 10 Buster