Mar 152012
 

Streaming server Icecast bisa di setting untuk pengguna tertentu yang memasukkan username dan password. Backend pengguna ini bisa macam-macam seperti database server atau LDAP. Settingannya ternyata mudah! Berikut adalah setingan Icecast yang memanfaatkan LDAP sebagai backend pengguna.

Pertama-tama kita tentukan URL untuk stream yang perlu autentikasi dan opsi-opsinya. Setingan ini ada di file /etc/icecast.xml

...
<mount>
  <mount-name>/stream</mount-name>
  <authentication type="url">
    <option name="listener_add" value="http://example.com/auth/connect.php" />
  </authentication>
</mount>
...

Yang perlu diperhatikan adalah tipe autentikasi “url” dan opsi dengan nama “listener_add”, yaitu ketika ada pendengar yang mencoba akses akan diautentikasi menggunakan file connect.php di server example.com. Value disini harus bisa diakses dari luar walau file connect.php dan icecast-nya berada dalam satu mesin. Nah, ini isi dari file connect.php:

<?php
$bind_user = $_REQUEST["user"];
$bind_pass = $_REQUEST["pass"];

$ds = ldap_connect("ldap://example.com");
if($ds) {
  $r = ldap_bind($ds, "uid=$bind_user,ou=people,dc=example,dc=com", $bind_pass);
  if($r) {
    header('icecast-auth-user: 1');
    header('icecast-auth-message: OK');
    ldap_close($ds);
    exit;
  } else {
    header('icecast-auth-user: 0');
    header('icecast-auth-message: Wrong username and/or password!');
    ldap_close($ds);
    exit;
  }
} else {
  header('icecast-auth-user: 0');
  header('icecast-auth-message: fail to connect to LDAP server');
  exit;
}
?>

Segitu saja, sederhana sekali bukan? 😉 Yang perlu diperhatikan adalah parameter kedua dari ldap_bind, ini tergantung dari data di ldap server kita, format diatas cocok untuk openldap server dan 389 directory server.

Untuk autentikasi dan sekaligus menghitung lama koneksi contohnya bisa dilihat di contoh yang disertakan pada paket Icecast dan baca dokumentasi dari Icecast.

Tautan:
Icecast, Icecast Documentation, 389 Directory Server, OpenLDAP

Apr 152011
 

Ingin menginstall sistem operasi (SO) GNU/Linux di banyak komputer sekaligus? Malas install satu persatu? Mesin virtual bisa diminta bantuannya!

SO GNU/Linux dua-satu tahun terakhir ini lebih mudah dipindah-tempatkan. Install di satu komputer dan akan jalan juga bila dipindah ke komputer lain. Ini memudahkan kita bila ingin menginstal banyak SO sekaligus. Install di satu tempat, baru nanti kita distribusikan ke komputer lain. Menginstall satu-satu? Tidak perlu, kita install di satu hard disk dan kita bisa duplikasi. Cara duplikasinya macam-macam, bisa memakai partimage, dd, ddrescue dan aplikasi lain yang pada dasarnya menduplikasi (partisi) hard disk. Partimage menduplikasi partisi, sedang dd dan ddrescue menduplikasi hard disk.

Lalu apa kaitannya dengan mesin virtual? Kita bisa install SO baru di mesin virtual dan hard disk virtual-nya bisa duplikasi ke hard disk beneran! dd dan ddrescue akan meng-copy data pada level blok. Bila kita punya hard disk 80GB ingin diduplikasi dengan dd/ddrescue maka 80GB itu yg di-copy, bukan data yang ada di hard disk (yg pasti lebih kecil dari kapasitas hard disk). Jadi kebayang berapa lama waktu dibutuhkan untuk duplikasinya, dan hard disk 80GB juga sudah mulai susah dicari 😉 Partimage bisa meng-copy datanya saja, tapi tidak kita bahas disini. Nah, kalau pakai mesin virtual kita bisa tentukan sekecil mungkin hard disk virtualnya dan nantinya kita duplikasi ke hard disk yang lebih besar, tinggal kita resize saja partisi hasil duplikasinya. Continue reading »

%d bloggers like this: