22 September 2013

OpenWrt + PHP/MySQL + Hot Potatoes = Localhost Quiz

Kali ini saya ingin berbagi pengalaman membuat Quiz dan bisa di akses melalui localhost/router. Sebelumnya saya telah terbiasa memakai Moodle untuk memberikan quiz. Tetapi Moodle tidak mungkin di install ke router saya yang kebetulan bertipe MR3020. Jadi tujuan postingan kali ini adalah solusi alternatif agar quiz tetap bisa diakses offline dan hasilnya bisa disimpan di database.

Saya anggap para pembaca sekalian sudah bisa menginstall php dan mysql server di router berbasis OpenWrt. Langkah selanjutnya adalah mendowload quizmaker berjudul Hot Potatoes di http://hotpot.uvic.ca/ . Program ini cukup sederhana dan mudah di operasikan. 


Yang pertama kita buat terlebih dahulu adalah soal/quiz yang akan kita ujikan dengan Hot Potatoes. Dengan petunjuk di http://jalt-publications.org/tlt/departments/tlt-wired/articles/700-saving-hot-potatoes-quiz-results-database , kita bisa menyimpan hasil quiz tersebut di database MySQL.

Yang perlu di perhatikan adalah beberapa baris kode yang mesti diperbaiki. Agar tidak pusing tujuh keliling, jungkir balik dan google sana-sini seperti saya, berikut ini adalah perbaikan kodenya (diberi warna merah) agar berjalan sempurna:
---------------------------
// Connect to the local database using username root and no password.
mysql_connect ("localhost", "root", "");
// Select our database named scores.
mysql_select_db ("scores");
// insert our 5 fields into the table eng101
mysql_query ("insert into eng101
(
realname,
Exercise,
Score,
Start_Time,
End_Time
)
VALUES
(
'$_POST[realname]',
'$_POST[Exercise]',
'$_POST[Score]',
'$_POST[Start_Time]'
, '$_POST[End_Time]'
)
");
//Provide some feedback to the student.
echo ("Your answers have been saved!");
------------------------

Jikalau tidak ada kesalahan maka  melalui phpMyAdmin hasil quiz akan nampak seperti gambar diatas.
Agar lebih mudah , maka kita juga bisa menampilkan isi database melalui php dengan kode sebagai berikut:
-------------------------------------
$con=mysqli_connect("localhost","root","","scores");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM eng101 ORDER BY Score DESC");

echo "
Exercise

Name

Score

Start Time

End Time

";

while($row = mysqli_fetch_array($result))
  {
  echo " ";
  echo "
" . $row['Exercise'] . "
";
  echo "
" . $row['realname'] . "
";
  echo "
" . $row['Score'] . "
";
  echo "
" . $row['Start_Time'] . "
";
  echo "
" . $row['End_Time'] . "
";
  echo "
";
  }
echo "
";

mysqli_close($con);

---------------------------------------------------------------------------
Hasil tampilan dari kode diatas sederhananya adalah sebagai berikut:
Semua file diatas tinggal di upload ke satu folder di router yang sudah terinstall OpenWrt + PHP + MySQL. Semoga ini menjadi solusi ringkas dan ringan bagi yang lagi ingin memberikan quiz melalui router OpenWrt. Contoh file diatas bisa di download di Sample.zip . Mohon maaf tampilan kode diatas kurang sempurna melalui blogspot. Silahkan lihat kode yang lebih sempurna di Sample.zip -nya. Akhir kata selamat mencoba ! .

07 August 2013

OpenWrt + Transmission = Mesin Torrent

Suka ke www.piratebay.se untuk download sesuatu? Mesti hidupkan komputer semalam suntuk untuk download file yang gede? Kalau jawabannya iya maka pengalaman saya satu ini mungkin bisa jadi pertimbangan. 


Di OpenWrt juga tersedia aplikasi untuk mendowload torrent. Berhubung daya listrik yang terpakai untuk hidupkan satu router tentunya jauh lebih kecil untuk hidupkan satu buah laptop atau desktop, maka ini bisa menjadi solusi yang hemat listrik.

Seperti biasa routernya terlebih dahulu di flash dengan OpenWrt dan sekaligus di extroot agar kapasitas penyimpanan bertambah. Setelah itu ketikkan perintah berikut di Putty :

opkg update
opkg install transmission-daemon transmission-cli transmission-remote transmission-web luci-app transmission

Selanjutnya di web interface LUCI sudah akan bertambah satu menu tambahan di bagian Service yakni Transmission. Ada beberapa konfigurasi yang mungkin perlu di utak-atik. Setelah di simpan konfigurasinya maka akan muncul tombol Open Web Interface. Nah disitulah kita bisa memasukkan link torrent yang ingin kita download. Untuk lebih jelasnya silahkan ke sini .

Ada kalanya tombol Open Web Interface -nya menghilang , jangan panik. Itu artinya aplikasi Transmission tiba-tiba stop. Aktifkan kembali dengan mengetikkan perintah berikut di Putty :

/etc/init.d/transmission restart


Semoga tombol Open Web Interface -nya kembali muncul. Selamat mencoba !

MR3020 + OpenWrt + EasyHotSpot + Choova Chilli

Petualangan saya dengan router TP Link MR3020 pun berlanjut di musim liburan kali ini. Kali ini saya akan berbagi pengalaman bagaimana menginstall EasyHotSpot ke router ini. EasyHotSpot secara sederhana adalah aplikasi untuk membuat router kita semacam Warnet Mini. Jadi ceritanya begitu ada yang terhubung ke routernya maka ada tampilan yang mengharuskan mengisi Username dan Password. Dengan begitu barulah bisa mengakses internet. 


Untuk memulainya seperti biasa TP Link MR3020 di flash terlebih dahulu dengan OpenWrt. Setelah itu perlu di exroot agar kapasitas penyimpannya bertambah. Untuk keperluan ini saya memerlukan 1 USB Hub. 1 Port untuk flashdisknya (keperluan exroot) dan 1 Port nya lagi untuk modem USB bermerek ZTE (untuk koneksi ke internet).

Setelah terkonek ke internet , maka langkah selanjutnya adalah membuat Interface baru. Hasilnya kira-kira seperti ini:
Pastikan interface yang telah kita buat telah ada dengan mengetikkan perintah ifconfig di Putty.
Di kasus saya, interface barunya bernama br-wifi. Interface baru ini juga seharusnya bisa terkoneksi dengan internet. Pastikan hal tersebut dengan koneksi laptop kita ke wifi-nya.

Langkah berikutnya adalah menginstall paket-paket aplikasi tambahan dengan mengetikkan perintah berikut di Putty:
root@OpenWrt:~# opkg update 
root@OpenWrt:~# opkg install coova-chilli haserl lighttpd lighttpd-mod-cgi  php5-cgi php5-cli php5-mod-gd php5-mod-gmp php5-mod-mysql php-pear freeradius2 freeradius2-mod-sql-mysql php5-mod-mcrypt perl openssl-util unzip git zoneinfo-asia zoneinfo-core freeradius2-mod-sqlcounter freeradius2-mod-sql freeradius2-mod-sql-mysql mysql-server libncursesw php5-mod-dom php5-mod-xmlwriter php5-mod-xmlreader zip lighttpd-mod-simple-vhost


Langkah berikutnya adalah mengkonfigurasi databasenya MySQL  dan EasyHotSpot -nya.
Sampai di langkah ini saya sendiri tidak mengalami kendala yang berarti dengan berhasilnya diakses EasyHotSpot di http://192.168.1.1:81

Tetapi di langkah berikutnya ini saya cukup di buat puyeng yakni mengkonfigurasi FreeRadius -nya.
Pastikan semuanya bekerja dengan sempurna dengan mengetikkan perintah radiusd -X di Putty. Jikalau tidak ada kesalahan maka silahkan di hentikan proses berjalannya dengan mengetikkan Ctrl+C.
Setelah di enable dan di start radiusd -nya maka pada saat netstat -apn akan muncul tampilan seperti dibawah ini:
udp        0      0 192.168.1.1:1812        0.0.0.0:*                           
udp        0      0 192.168.1.1:1813        0.0.0.0:*

Jikalau tidak ada tampilan diatas, jangan di lanjutkan dulu proses instalasinya. Ulangi dan cek kembali langkah-langkah diatas. Dan kalau diperlukan di ulangi dari awal. :-)

Akhirnya langkah terakhir adalah mengkonfigurasi Choova-Chilli nya.
Setelah semua terinstall sempurna maka akan mendapatkan tampilan mirip seperti dibawah ini:
Sumber : http://blog.obengkumana.net