GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Server Streaming Musik Koel di Ubuntu 18.04

Koel adalah aplikasi streaming audio pribadi berbasis web yang ditulis dalam Vue.js di sisi klien dan Laravel di sisi server. Tutorial ini akan membahas cara menginstal Koel di server berbasis Ubuntu 18.04.

Prasyarat

  • Server yang menjalankan Ubuntu 18.04.

  • Pengguna sudo non-root.

  • Pastikan semuanya diperbarui.

    $ sudo apt update &&sudo apt upgrade
  • Beberapa paket yang dibutuhkan sistem Anda.

    $ sudo apt install ca-certificates curl unzip build-essential libpng-dev gnupg2 lsb-release ufw -y

    Beberapa paket ini mungkin sudah diinstal pada sistem Anda.

Konfigurasi Firewall

Langkah pertama adalah mengkonfigurasi firewall. Sebelum mengaktifkan firewall, kita harus mengizinkan port SSH jika tidak, server kita akan terkunci.

$ sudo ufw izinkan OpenSSH

Aktifkan firewall.

$ sudo ufw aktifkan

Izinkan port HTTP dan HTTPS.

$ sudo ufw izinkan http
$ sudo ufw izinkan https

Periksa status firewall.

$ sudo ufw status

Anda akan melihat keluaran serupa.

Status :Active
untuk bertindak dari
------- ----
OpenSsh Izinkan di mana saja
80 /tcp memungkinkan di mana saja
443 /TCP Izinkan di mana saja
OpenSsh (v6) Izinkan Anywhere (v6)
80 /tcp (v6) Izinkan di mana saja (v6)
443 /tcp (v6) Izinkan di mana saja (v6)

Instal Git

Kita akan mulai dengan menginstal Git.

$ sudo apt install git -y
$ git config --global user.name "Nama Anda"
$ git config --global user.email "[email protected]"

Instal Node.js

Kami akan menginstal Node 10.x alih-alih 12.x terbaru karena Koel mengemas beberapa pustaka usang yang tidak kompatibel dengan Node 12.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

Periksa apakah Node sudah terpasang dengan benar.

$ node --version

Anda akan melihat keluaran serupa.

v10.17.0

Pasang Benang

Instal manajer paket Benang.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update &&sudo apt install -y yarn

Periksa apakah Benang berfungsi dengan benar.

$ benang --version

Anda akan melihat keluaran serupa.

1.19.1

Instal PHP

Instal PHP 7.2 dengan semua ekstensi yang diperlukan.

$ sudo apt install -y php7.2-fpm php7.2-mbstring php7.2-bcmath php7.2-xml php7.2-mysql php7.2-curl php7.2-zip

Periksa apakah PHP berfungsi dengan benar.

$ php --version

Anda akan melihat keluaran serupa.

PHP 7.2.24-1+ubuntu18.04.1+deb.sury.org+1 (cli) (dibuat:24 Okt 2019 18:29:11) ( NTS )
Hak Cipta (c) 1997-2018 Grup PHP
Zend Engine v3.2.0, Hak Cipta (c) 1998-2018 Zend Technologies
  dengan Zend OPcache v7.2.24-1+ubuntu18.04.1+deb.sury.org+1, Hak Cipta (c ) 1999-2018, oleh Zend Technologies

Instal MariaDB

MariaDB adalah pengganti drop-in untuk MySQL yang berarti perintah untuk menjalankan dan mengoperasikan MariaDB sama dengan perintah untuk MySQL. Untuk menginstal MariaDB, jalankan perintah berikut.

$ sudo apt install mariadb-server

Periksa apakah MariaDB diinstal dengan benar.

$ mysql --version

Anda akan melihat output berikut.

mysql Ver 15.1 Distrib 10.1.41-MariaDB, untuk debian-linux-gnu (x86_64) menggunakan readline 5.2

Jalankan perintah berikut untuk melakukan konfigurasi default seperti memberikan kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menjatuhkan tabel pengujian. Masukkan ya untuk semuanya dan siapkan kata sandi root.

$ sudo mysql_secure_installation

Ada peringatan dengan menyiapkan kata sandi root. MariaDB secara default memungkinkan pengguna root sistem untuk masuk ke MariaDB tanpa kata sandi. Tetapi jika Anda akan menggunakan aplikasi pihak ke-3 untuk mengakses melalui root, kata sandi adalah suatu keharusan jika tidak, aplikasi seperti PHPMyAdmin akan gagal. Untuk ini, Anda perlu menonaktifkan otentikasi berbasis plugin yang merupakan opsi default di MariaDB.

Untuk Menonaktifkan otentikasi plugin dan memulihkan kata sandi root, masukkan prompt MySQL terlebih dahulu dengan menggunakan perintah berikut.

$ sudo mysql -u root

Sekarang masukkan perintah berikut untuk menonaktifkan otentikasi plugin.

gunakan mysql;
perbarui set pengguna plugin='' where User='root';
flush privileges;
keluar

Setelah ini restart layanan MariaDB Anda.

$ sudo systemctl restart mariadb.service

Itu dia. Lain kali Anda ingin login ke MySQL, gunakan perintah berikut

$ sudo mysql -u root -p

Masukkan kata sandi root Anda saat diminta.

Konfigurasi MariaDB untuk Koel

Sekarang kita perlu menyiapkan database yang akan digunakan untuk aplikasi Koel. Untuk melakukan itu login ke MySQL prompt. Kami akan berasumsi bahwa Anda menggunakan metode otentikasi default MariaDB (yaitu tanpa menggunakan kata sandi root) untuk sisa tutorial.

$ sudo mysql -u root

Setelah di prompt, masukkan perintah berikut yang akan mengatur database bernama koelmusic dan pengguna database bernama koeluser dan berikan akses ke database.

mysql> BUAT DATABASE koelmusic;
mysql> BUAT PENGGUNA 'koeluser'@'localhost' DIIDENTIFIKASI DENGAN 'yourpassword';
mysql> BERIKAN SEMUA HAK ISTIMEWA DI koelmusic.* KEPADA 'koeluser'@'localhost ';
mysql> HAK ISTIMEWA FLUSH;
mysql> keluar

Instal Nginx

Instal server Nginx.

$ sudo apt install nginx

Periksa apakah itu berfungsi dengan benar.

$ nginx -v

Anda akan melihat output berikut.

versi nginx:nginx/1.14.0 (Ubuntu)

Jalankan perintah berikut untuk menambahkan file konfigurasi untuk Koel.

$ sudo nano /etc/nginx/sites-available/koel.conf

Rekatkan kode berikut di editor.

server {
 listen         *:80;
 server_name     koel.example.com;
 root           /var/www/koel;
 index           index.php;

 gzip           on;
 gzip_types     text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
 gzip_comp_level 9;

 # Hanya daftar putih index.php, robots.txt, dan beberapa rute khusus
 if ($request_uri !~ ^/$|index\.php|robots\.txt|(public|api) /|remote|api-docs|sw\.js) {
   return 404;
}

 location /media/ {
   internal;

   alias       $upstream_http_x_media_root;

   access_log /var/log/nginx/koel.access.log;
   error_log /var/log/nginx/koel.error.log;
}

 lokasi / {
   try_files   $uri $uri/ /index.php?$args;
}

 lokasi ~ \.php$ {
   try_files $uri $uri/ /index.php?$args;
   fastcgi_param PATH_INFO $fastcgi_pat h_info;
   fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_pass unix:/var/run/php./var/run/ fastcgi_index index.php;
   fastcgi_split_path_info   ^(.+\.php)(/.+)$;
   fastcgi_intercept_errors on;
   include fastcgi_params;
}
}

File ini mengasumsikan bahwa kita akan menginstal Koel ke domain koel.example.com dan di direktori /var/www/koel .

Aktifkan file konfigurasi ini dengan menautkannya ke sites-enabled direktori.

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

Uji konfigurasi.

$ sudo nginx -t

Anda akan melihat output berikut yang menunjukkan konfigurasi Anda benar.

nginx:file konfigurasi /etc/nginx/nginx.conf sintaks ok
nginx:file konfigurasi /etc/nginx/nginx.conf tes berhasil

Muat ulang layanan Nginx.

$ sudo systemctl reload nginx

Instal Komposer

Ini adalah hal terakhir yang kita butuhkan sebelum melanjutkan ke instalasi.

Masukkan perintah berikut untuk menginstal Komposer.

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php - r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Periksa apakah itu berfungsi dengan benar.

$ komposer --version

Anda akan melihat output berikut.

Versi komposer 1.9.1 01-11-2019 17:20:17

Instal Koel

Buat folder root dokumen kosong untuk Koel.

$ sudo mkdir -p /var/www/koel

-p argumen memastikan bahwa direktori induk var dan www secara otomatis dibuat jika tidak ada.

Navigasikan ke folder root dokumen.

$ cd /var/www/koel

Ubah kepemilikan root dokumen menjadi user yang merupakan pengguna non-root yang kami gunakan untuk tutorial.

$ sudo chown -R user:user /var/www/koel

Kloning repositori Koel Git dan checkout versi terbarunya. Anda dapat memeriksa versi terbaru dari halaman rilisnya.

$ git clone --recurse-submodules https://github.com/phanan/koel.git .
$ git checkout v4.1.1

Instal dependensi.

$ instal komposer

Jalankan perintah berikut untuk mengatur database dan akun admin. Masukkan mysql sebagai tipe database, lewati port dan masukkan kredensial database yang kami buat di atas. Untuk folder media, Anda dapat memasukkan sesuatu seperti /home/user/songs .

$ php artisan koel:init

Ubah kepemilikan folder root dokumen kembali ke www-data pengguna.

$ sudo chown -R www-data:www-data /var/www/koel

Pengaturan sekarang selesai. Buka koel.example.com di browser Anda dan masuk dengan kredensial yang Anda buat di atas dan mulai streaming. Situs web Koel juga dapat diakses melalui seluler.

Konfigurasi Koel

Ada detail lebih lanjut yang dapat Anda konfigurasikan dengan mengedit .env file dengan perintah berikut.

$ sudo nano /var/www/koel/.env

Di sini Anda dapat memasukkan detail SMTP Anda, mengonfigurasi Youtube dan Last.fm untuk Koel dan melakukan lebih banyak hal.

Muat ulang server Nginx untuk menerapkan perubahan.

Jika Anda ingin mengatur ulang kata sandi admin, Anda dapat melakukannya dengan mengeluarkan perintah berikut.

$ php artisan koel:admin:change-password

Jika Anda ingin memindai perpustakaan media untuk file yang diperbarui, Anda dapat melakukannya dengan perintah berikut.

$ php artisan koel:sync

Anda akan melihat output berikut.

Sinkronisasi Koel dimulai.
953/953 [????????????????????????????????] 100%
Lengkap! 944 lagu baru atau yang diperbarui, 0 lagu yang tidak diubah, dan 9 file yang tidak valid.

Akhiri perintah dengan -v tandai yang akan memberi Anda lebih banyak detail seperti kesalahan sinkronisasi.

Anda bahkan dapat mengatur perintah ini sebagai tugas cron, misalnya, untuk dijalankan setiap tengah malam. Untuk melakukannya jalankan perintah berikut.

$ crontab -e

Pilih 1(nano ) sebagai editor Anda.

Tempel baris berikut di akhir file.

0 0 * * * cd /var/www/koel &&/usr/bin/php artisan koel:sync>/dev/null 2>&1

Simpan file dengan menekan Ctrl + X dan memasukkan Y ketika diminta. Sekarang, perpustakaan media Anda akan disinkronkan setiap tengah malam.

Untuk lebih banyak hal, lihat dokumentasi resmi Koel.

Menyiapkan HTTPS menggunakan Let's Encrypt

Untuk menggunakan Let's encrypt, kita perlu menginstal Certbot paket.

Tambahkan repositori.

$ sudo add-apt-repository ppa:certbot/certbot

Instal Certbot.

$ sudo apt install python-certbot-nginx

Instal sertifikat.

$ sudo certbot --nginx -d koel.example.com

Jika ini adalah pertama kalinya Anda menggunakan alat di server ini, Anda harus menyetujui persyaratan dan memasukkan alamat email Anda. Katakan tidak ketika ditanya apakah Anda ingin membagikan email Anda dengan yayasan EFF.

Jika berhasil, certbot akan menanyakan bagaimana Anda ingin mengonfigurasi setelan HTTPS.

Silakan pilih apakah akan mengarahkan ulang lalu lintas HTTP ke HTTPS, menghapus akses HTTP.
--------------------------- -------------------------------------------------- --
1:Tanpa pengalihan - Jangan membuat perubahan lebih lanjut pada konfigurasi server web.
2:Pengalihan - Membuat semua permintaan dialihkan untuk mengamankan akses HTTPS. Pilih ini untuk
situs baru, atau jika Anda yakin situs Anda berfungsi di HTTPS. Anda dapat mengurungkan
perubahan ini dengan mengedit konfigurasi server web Anda.
------------------------------ --------------------------------------------------
Pilih nomor yang sesuai [1-2] lalu [enter] (tekan 'c' untuk membatalkan):

Pilih 2 lalu tekan ENTER . Sertifikat Anda sekarang diinstal dan diaktifkan. Sertifikat Anda akan diperpanjang secara otomatis dalam 90 hari.

Kesimpulan

Ini mengakhiri tutorial kami. Anda dapat mengalirkan media dari server Anda ke isi hati Anda.


Ubuntu
  1. Cara Menginstal Server RabbitMQ di Ubuntu 18.04 &16.04 LTS

  2. Cara Menginstal Server Gitlab di Ubuntu 18.04 &16.04 LTS

  3. Cara menginstal MsSQL Server 2019 di Ubuntu 20.04

  1. Cara Menginstal Server Web Nginx di Ubuntu 18.04

  2. Cara menginstal Ansible di Ubuntu Server 21.04

  3. Cara Menginstal Xrdp Server di Ubuntu 20.04 LTS

  1. Cara menginstal Server Streaming Musik Sonerezh di Ubuntu 18.04 LTS

  2. Cara Menginstal Server Streaming Musik Ampache di Ubuntu 20.04

  3. Cara Memasang Server Streaming Musik Ampache di Fedora 33