GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Server Streaming Musik Sonerezh di Ubuntu 16.04 dengan Apache atau Nginx

Sonerezh adalah server streaming musik berbasis web yang dihosting sendiri dan ditulis dalam PHP dan HTML5. Ini ringan dibandingkan dengan Subsonic yang ditulis di Jawa. Sonerezh adalah perangkat lunak sumber terbuka, didistribusikan di bawah ketentuan AGPL. Tutorial ini akan menunjukkan cara menginstal Sonerezh di Ubuntu 16.04 dengan Apache atau Nginx.

Fitur Sonerezh:

  • Antarmuka web modern dan mudah digunakan
  • Pengelolaan daftar putar:tambahkan judul, album, dan artis ke daftar putar Anda.
  • Berbagi musik melalui sistem pengelolaan pengguna
  • Ekstraksi metadata otomatis dan impor file
  • Transkode otomatis ke mp3
  • Mesin telusur sederhana

Dengan Sonerezh, Anda dapat mendengarkan musik dari mana saja dengan browser web dan koneksi internet.

Untuk mengikuti tutorial ini, Anda harus menginstal LAMP atau LEMP di Ubuntu 16.04. Jika Anda belum melakukannya, silakan lihat tutorial berikut.

  • Cara menginstal LAMP (Apache, MariaDB, PHP7) di Ubuntu 16.04
  • Cara menginstal LEMP (Nginx, MariaDB, PHP7-FPM) di Ubuntu 16.04

Setelah LAMP atau LEMP terinstal, kembali ke sini dan baca terus.

Menginstal Sonerezh di Ubuntu 16.04

Versi stabil terbaru adalah Sonerezh 1.1.3, dirilis pada 19 Desember 2016. Anda dapat mengunduhnya dengan Git dari repositori Github.

Ubah direktori menjadi /var/www/ .

cd /var/www/

Instal git dan gunakan git untuk mengkloning Sonerezh dari Github.

sudo apt install git

sudo git clone --branch master https://github.com/Sonerezh/sonerezh.git

Setel server web (www-data ) sebagai pemilik direktori baru.

sudo chown www-data:www-data /var/www/sonerezh/ -R

Buat Database MariaDB/MySQL untuk Sonerezh

Masuk ke server database MariaDB/MySQL dengan perintah berikut:

mysql -u root -p

Kemudian buat database untuk Sonerezh. Tutorial ini memberi nama database sonerezh . Anda dapat menggunakan nama apa pun yang Anda suka.

create database sonerezh;

Buat pengguna database dan berikan pengguna ini semua hak istimewa di database sonerezh. Ganti your-password dengan kata sandi pilihan Anda.

grant all privileges on sonerezh.* to sonerezh@localhost identified by 'your-password';

Hapus hak istimewa dan keluar.

flush privileges;

exit;

Menyiapkan Apache Virtual Host

Kami akan membuat sonerezh.conf file di /etc/apache2/sites-available/ direktori.

sudo nano /etc/apache2/sites-available/sonerezh.conf

Salin dan tempel baris berikut di file. Ganti teks merah dengan nama domain pilihan Anda. Anda juga perlu membuat catatan A untuk nama domain. Jika Anda menginstal Sonerezh di server rumah Anda, maka Anda juga perlu mengonfigurasi penerusan porta di router.

<VirtualHost *:80>
   ServerName music.your-domain.com
   DocumentRoot /var/www/sonerezh

   <Directory /var/www/sonerezh>
     Options -Indexes
     AllowOverride All

    # Apache 2.2.x
    <IfModule !mod_authz_core.c>
      Order Allow,Deny
      Allow from all
    </IfModule>

   # Apache 2.4.x
   <IfModule mod_authz_core.c>
     Require all granted
    </IfModule>
 </Directory>

 CustomLog /var/log/apache2/sonerezh-access.log "Combined"
 ErrorLog /var/log/apache2/sonerezh-error.log
</VirtualHost>

Simpan dan tutup file.

sudo a2ensite sonerezh.conf

Kemudian aktifkan modul mod_rewrite dan muat ulang server web Apache agar perubahan diterapkan.

sudo a2enmod rewrite

sudo systemctl reload apache2

Sekarang buka music.your-domain.com/install . Anda akan melihat penginstal web Sonerezh, yang mencantumkan beberapa persyaratan. Untuk memenuhi persyaratan ini, jalankan perintah berikut.

sudo apt install php7.0-gd libav-tools

Mengaktifkan HTTPS (Apache)

Untuk menyelesaikan instalasi, Anda harus memasukkan detail database dan membuat akun admin. Namun sebelum itu, mari kita instal sertifikat TLS gratis dari Let’s Encrypt agar apa yang Anda masukkan di web installer tidak akan terendus.

Instal klien certbot (Let's Encrypt).

sudo apt install letsencrypt python-letsencrypt-apache

Sekarang jalankan perintah berikut untuk mendapatkan sertifikat TLS/SSL gratis. Ganti teks berwarna merah dengan data Anda yang sebenarnya.

sudo letsencrypt --apache --agree-tos --redirect --hsts --email your-email-address -d music.your-domain.com

Penjelasan:

  • –apache :Gunakan plugin Apache untuk mendapatkan dan menginstal sertifikat secara otomatis.
  • –setuju-untuk :Menyetujui persyaratan layanan.
  • –mengalihkan :Arahkan ulang semua lalu lintas HTTP ke HTTPS untuk virtual host
  • –hsts : Memaksa browser untuk selalu menggunakan TLS.

Dalam beberapa detik, Anda akan melihat hal berikut, yang berarti sertifikat TLS/SSL gratis diperoleh dan diinstal di server Apache Anda.

Konfigurasi TLS/SSL default mendapat nilai A+ dalam pengujian SSL Labs.

Menyiapkan Blok Server Nginx

Jika Anda menggunakan Nginx, bukan Apache, buat file blok server Nginx.

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

Salin dan tempel baris berikut di file. Ganti teks merah dengan nama domain pilihan Anda. Anda juga perlu membuat catatan A untuk nama domain. Jika Anda menginstal Sonerezh di server rumah Anda, maka Anda juga perlu mengonfigurasi penerusan porta di router.

server {
    listen      80;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Simpan dan tutup file. Kemudian uji konfigurasi.

sudo nginx -t

Jika tes berhasil, muat ulang Nginx.

sudo systemctl reload nginx

Sekarang buka music.your-domain.com/install . Anda akan melihat penginstal web Sonerezh, yang mencantumkan beberapa persyaratan. Untuk memenuhi persyaratan ini, jalankan perintah berikut.

sudo apt install php7.0-gd libav-tools

Mengaktifkan HTTPS (Nginx)

Untuk menyelesaikan instalasi, Anda harus memasukkan detail database dan membuat akun admin. Namun sebelum itu, mari kita instal sertifikat TLS gratis dari Let’s Encrypt agar apa yang Anda masukkan di web installer tidak akan terendus.

Instal klien certbot (Let's Encrypt).

sudo apt install letsencrypt

Sekarang jalankan perintah berikut untuk mendapatkan sertifikat TLS/SSL gratis. Ganti teks berwarna merah dengan data Anda yang sebenarnya.

sudo letsencrypt certonly --webroot --agree-tos --email your-email-address -d music.your-domain.com -w /var/www/sonerezh/app/webroot/

Dalam beberapa detik, Anda akan melihat hal berikut, yang berarti sertifikat TLS/SSL gratis telah diperoleh.

Sekarang edit file blok server Sonerezh untuk mengonfigurasi TLS.

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

Ubah konfigurasi menjadi berikut.

server {
    listen      80;
    server_name music.your-domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    ssl_certificate /etc/letsencrypt/live/music.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/music.your-domain.com/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # modern configuration. tweak to your needs.
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    # OCSP Stapling ---
    # fetch OCSP records from URL in ssl_certificate and cache them
    ssl_stapling on;
    ssl_stapling_verify on;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Simpan dan tutup file. Kemudian uji konfigurasi.

sudo nginx -t

Jika tes berhasil, muat ulang Nginx.

sudo systemctl reload nginx

Selesaikan Instalasi

Sekarang koneksi Anda mendukung HTTPS, Anda dapat memasukkan detail database Anda di penginstal web. Dan juga buat akun admin dan tentukan folder musiknya.

Server Streaming Musik Berbasis Web Sonerezh

Perpanjang Otomatis Sertifikat

Untuk memperbarui sertifikat Let's Encrypt secara otomatis, edit file crontab pengguna root.

sudo crontab -e

Tambahkan baris berikut di akhir file.

@daily letsencrypt renew --quiet && systemctl reload apache2

Jika Anda menggunakan Nginx, maka ganti apache2 dengan nginx.

@daily letsencrypt renew --quiet && systemctl reload nginx

Reload diperlukan untuk server web untuk mengambil sertifikat baru.

Itu dia! Saya harap tutorial ini membantu Anda menginstal server streaming musik Sonerezh di Ubuntu 16.04 dengan Apache atau Nginx. Anda mungkin juga ingin melihat cara memasang server streaming musik Subsonic.


Ubuntu
  1. Cara Menginstal HTTP Git Server Dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Server Streaming Musik Koel di Ubuntu 18.04

  3. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 20.04

  1. Cara Menginstal Nginx di Ubuntu 20.04

  2. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  3. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 18.04

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

  2. Cara Menginstal Jellyfin Media Server dengan Nginx di Ubuntu 20.04

  3. Cara Menginstal FileRun di Ubuntu 20.04 dengan Apache/Nginx