Surveillance Camera – ZoneMinder

Judul yang saya tulis ini merupakan subject sewaktu saya masih aktif menyelesaikan laporan selama kuliah dulu. Bukan satu-satunya rekomendasi bagi yang ingin menggunakan cctv cam di linux, namun boleh di coba juga.

Kali ini aplikasi yang dirancang bangun tidak menggunakan basis rpm seperti dulu saat saya menggunakan openSuSE 11.2 emerald. Ubuntu mempermudah segalanya, hanya tinggal bagaimana kemahiran saat troubleshoot nya.

Gunakan repositori ke :
~# add-apt-repository ppa:iconnor/zoneminder
~# apt-get update && apt-get install zoneminder && apt-get install php5-cgi && a2enmod cgi && a2enmod rewrite && sed -i ‘s/var\/www/usr\/share\/zoneminder/g’ /etc/apache2/site-enabled/<config_file> && apt-get install v4l-utils

Pastikan informasi device kita peroleh di sistem, seperti width and height pixel dari cam yang digunakan :
zoneminderzoneminder2

Oh ya, pastikan juga nilai memori di sisi kernel (E.G : kernel.shmall = 268435456 dan kernel.shmmax = 268435456) mendukung aplikasi zoneminder ini dengan asumsi alokasi memori :
256MB : 256 *1024*1024
512MB : 512*1024*1024

*) ffmpeg sudah obsolete ya dude, gunakan avconv jika ada keperluan olah data streaming audio dan video

Selamat berkreasi & Happy GNU/ Linux

What’s Next ..

Ingin tau code yang akan atau sedang saya bangun ?.. tunggu di github ya😉 .. see ya

Hary

‘Penjara’ untuk GNU/ Linux [Linux Jail]

Kembali.. knowledge di masa lalu namun perlu saya tulis juga di blog ini sebagai catatan dan pengingat. Tidak ada hal yg bisa ‘sempurna’ untuk di ingat bagi seorang yg dhoif dan mengidap dyslexia seperti saya ini *halah .

Jadi begini, terkadang kita tidak selalu bisa membuat orang melakukan kejahatan atau kesalahan di awal agar alibi nya dijadikan faktor agar ia dipenjara. Cukup dengan melihat bagaimana suatu hal berharga yang kita miliki agar tidak ‘tersentuh’ dan ‘dicolek2’, apalagi klw bukan muhrim nya [maka nya buruan nikah har.. *haduh >.< .. sama siapa ?.. sama yuki kato ?😀 ]. -tulisan malam jadinya tidak fokus- . Maka mari kita proteksi data kita dari hal2 yg tidak kita inginkan dengan step teknis, singkat, padat, dan ‘kurang’ akurat berikut😀 . Check these out.

1). Pastikan anda tahu sistem anda termasuk kategori 32 atau 64 bit .. hahaha (Lah kok ketawa😀 ). Serius,.. ini untuk menentukan berkas2 yang ingin kita salin atau gunakan.
2). Unduh berkas jailkit di sini : http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz . Trims Om Oliver
3). Ekstrak, configure, compile dan install.
4). Set temporary variable hanya agar mudah dalam me-set konfigurasi direktori dan pastinya agar tulisan ini menjadi singkat😀 . ~# D=/home/<nama_direktori>
5). mkdir -p $D
6). ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
7). mkdir -p $D/dev/ && mknod -m 666 $D/dev/null c 1 3 && mknod -m 666 $D/dev/tty c 5 0 && mknod -m 666 $D/dev/zero c 1 5 && mknod -m 666 $D/dev/random c 1 8
8). chown root:root $D && chmod 0755 $D && ls -ld $D # <- to verify
9). mkdir -p $D/bin && cp -v /bin/bash $D/bin # Pada step ini adalah fungsi apa2 saja yg ingin kita berikan untuk user, apakah ia hanya di izinkan untuk listing/ copying atau lainnya. Jika tidak ingin repot, download script disini http://www.cyberciti.biz/files/lighttpd/l2chroot.txt , kemudian jadikan executable agar bisa di eksekusi.
10). ldd /bin/bash
11). mkdir -p $D/lib/ && mkdir -p $D/lib64/ && mkdir -p $D/lib/x86_64-linux-gnu/ && cp -v /lib/x86_64-linux-gnu/{libncurses.so.5,libtinfo.so.5,libdl.so.2,libc.so.6} $D/lib/
12). cp -v /lib64/ld-linux-x86-64.so.2 $D/lib64/
13). cp -va /lib/x86_64-linux-gnu/libnss_files* $D/lib/x86_64-linux-gnu/
14). adduser <Username>
15). cp -vf /etc/{passwd,group} $D/etc/ # Agar lebih aman (setelah prosedur jail ditulisan ini selesai), sisakan 2 baris terakhir yang berkaitan dg user2 jail saja, baik untuk passwd dan group
16). pada sshd_config , pastikan baris2 berikut ini aktif :

Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
##  Apply the chrooted jail to the user called tom and jerry ##
Match User <Username>
ChrootDirectory /home/<direktori>
## Allow sftp to chrooted jail ##
ForceCommand internal-sftp

17). service ssh restart
18). mkdir -p $D/home/<nama_direktori> && chown -R <Username>:<Username> $D/home/<nama_direktori>/ && chmod -R 0700 $D/home/<nama_direktori>/
19). Silahkan testing dg aplikasi client ftp atau sftp.
20). Eh iya, agar tidak ada yg marah.. saya menggunakan referensi nya di sini : http://www.cyberciti.biz/faq/debian-ubuntu-restricting-ssh-user-session-to-a-directory-chrooted-jail/
21). Yang terakhir, JANGAN EKSEKUSI PARAM DIATAS JIKA SAYA, ANDA, atau KITA TIDAK PAHAM . 

Kali ini tidak ada screenshot (tapi bukan berarti praktik ini hoax loh) . Lebih dikarenakan saya ‘lelah’😀

Reg.

Data

Yup.. judulnya hanya ‘Data’, karena belum lama ini saya baru saja bergelut dg perhitungan yang kurang lebih berhubungan dengan data kuantitatif. Namun penyajiannya di convert kedalam bahasa pemrograman web php, javascript, jquery dg design menggunakan bootstrap & css.
Tidak terlalu luarbiasa juga, namun cukup untuk menjadi tambahan pengetahuan bagaimana mencari:
– jumlah sample yang sesuai dari sekian banyak populasi.
– nilai persamaan regresi sederhana yang membantu dalam mengukur suatu sebab akibat dari variabel yang kita teliti. Biasanya disajikan dalam bentuk tabel penolong dimana nilai didalam variabel ini akan menjadi acuan hitung (Sebagai contoh: berapa lama waktu pengerjaan untuk 0 sampai 1 tiket, 2 sampai 4 tiket, 5-7 tiket dst).
– nilai korelasi sederhana untuk penentuan koefisien determinasi atau koefisien penentu (Ini penentuan akhir bagaimana tingkat korelasi antar variabel satu dg yg lain).

Yang pada intinya point2 diatas adalah untuk menunjang dalam pembuatan keputusan, nah seharusnya kalau ini judulnya sudah bukan ‘data’ lagi, tapi sudah melalui proses data->informasi->knowledge->wisdom(decision making). Lalu, screenshot nya mana ??.. nanti saja setelah artikel yg sedang saya tulis selesai😀
Tapi boleh deh.. sedikit aja *plinplan mode : ON
dss

Optimalisasi redis

What is it things dude ??..
Jika kita me-refer langsung dari situs nya di redis.io , maka akan dijelaskan seperti berikut :
“..Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. ..”

Nah, sekarang kita coba bagaimana redis menangani masalah high availability atau master-slave. Untuk masalah instalasi nya sendiri sangat mudah (thanks to hacksparrow dan antonlogvinenko atas share-nya + muhammad abbas atas tutorialnya).

Saya menggunakan 2 server dimana 1 master (192.168.1.2) dan 1 slave (192.168.1.3) di ubuntu 11.10 oneiric ocelot. Download, instalasi dan configure dengan menggunakan parameter berikut :
[Server 1 dan 2]
~# apt-get install gcc g++ make tcl*
~# wget -c http://redis.googlecode.com/files/redis-2.4.8.tar.gz
~# tar -zxvf redis-2.4.8.tar.gz
~# cd redis-2.4.8
~# make && make install && make test
~# mkdir -p ~/.redis/
~# cp -pa /<path_source_of_redis>/redis.conf ~/.redis/
[Server 1]
Konfigurasi yang saya gunakan kira2 seperti berikut :
redis.conf

 

 

 

 

 

 

 

 

 

 

 

 

 

Continue reading

BIND System Server with Mandriva 2008.1

Sistem operasi Mandriva 2008.1 tergolong cukup lama, entah masih di support hingga saat ini atau tidak. Namun dari salah satu distro inilah saya belajar. Mulai dari issue incompatible hardware hingga masalah packages (Ini History lama saya😀 : https://forum.linux.or.id/viewtopic.php?t=22216). Lucu juga, bahkan dulu saya sempat bolak-balik ke warnet hanya untuk download dependencies dari paket aplikasi yang hendak di install di Mandriva 2008.1.

Karena itulah, dulu sempat mencoba mengutak-utik domain name service di distro ini namun menyerah karena keterbatasan ilmu pengetahuan dan fasilitas. Namun Alhamdulillah, sekarang tidak lagi karena bahan belajar sudah bisa saya temukan banyak dimana-mana.

Dimulai dengan instalasi server DNS di mandriva 2008.1
1-UIHal pertama yang langsung saya pikirkan adalah apakah repository untuk distro non-LTS semacam Mandriva 2008.1 ini masih ada atau tidak. Saya coba browse di internet, ternyata masih ada walaupun tidak banyak, dengan langkah pertama menuju situs lama kesukaan saya : http://rpm.pbone.net/ .
Saya menggunakan 2 repo berikut ini :
2-UISebelumnya perlu saya sampaikan kalau si Mandriva ini merupakan turunan Mandrake (Bukan nama taneman dari Prof. Sprout yg ada di Harry Potter loh ya😛 ) plus akuisisi dari Linux Connectiva. Jadi, memang kenapa ??, ya jadi kita menggunakan parameter yang berbeda dari pada basis debian dan RPM yang menggunakan apt-get atau yum atau zypper dalam instalasi paket aplikasi.
Continue reading

Co-operative Mosix with Co-operative Linux [Long Post]

Mari bermain kembali dengan superkomputer🙂 . Sebelumnya pernah saya tulis artikelnya tentang dasar-dasar pengetahuan membangun cluster superkomputer di  UPDATE – Superkomputer dengan Native GNU/ Linux – Finale .

Untuk urusan server dan cluster, GNU/Linux memang sudah teruji. Nah disini kita coba membangun superkomputer dengan openmosix-nya windows (CoMosix), dimana CoMosix ini sebenarnya adalah bundling dari CoLinux. Meskipun colinux tergolong cara lama/ obsolete juga dalam hal virtualisasi disamping cygnuswindows dan vmware, namun akan kita coba sebagai tambahan referensi.

Langkah 1 : menyiapkan windows sebagai main node nya dalam menjalankan CoLinux.
Langkah 2melakukan instalasi nfs-server di Cygwin. Sebenarnya langkah instalasi nfs-server, portmap/ rcpbind ini optional  karena kita dapat melakukan instalasi dhcp-server dan nfs-server langsung didalam node CoLinux nya. Kemudian pada Control Panel – Administrative Tools – Services , pastikan service mountd, nfsd, dan rpcbind telah running. Gunakan parameter berikut untuk check binding service atau port yg listen ~# rpcbind -p | grep <service_name>
cywgin-nfs2 Alhamdulillah-coLinux6
Continue reading