How To Integrate Moodle with Ldap Zimbra

Ceritanya kemarin ada project buat server plus paket aplikasi untuk sekolah. Service yang diinginkan antara lain mail server dan elearning. Untuk mail server saya memilih zimbra karena menurut saya itu pilihan yang tepat saat itu, kemudian untuk elearning saya memilih moodle karena menurut saya elearning yang paling enak dan kaya fitur bukan lain ya si moodle ini.
Singkat cerita instalasi mail server dan elearning selesai dengan selamat tanpa kendala yang serius :D kemudian saya dan tim berfikir, kalau ada 2 service (mail dan elearning) maka setiap siswa juga harus di daftarkan pada kedua service dong? Tentu ini sangat merepotkan belum lagi ke depan akan ditambahi service captive portal untuk autentikasi user hotspot, harus input data lagi dong?
Akhirnya muncul sebuah ide yang tergolong ide lama, yaitu mengitegrasikan user pada mail server ke moodle. Untuk keperluan tersebut zimbra sangat mendukung karena sudah menyediakan service ldap, thank zimbra :D
Oke, sekarang langsung saja siapkan alat dan bahan yang diperlukan:
  • Elearning yang telah terinstall dan dapat beroprasi dengan baik
  • Mail server (zimbra) yang telah terinstall. Pada zimbra kita harus mencatat hal hal berikut untuk autentikasi ke ldap zimbra
    • IP address/domain mail server (pada contoh menggunakan : 10.10.10.2)
    • Bind user dan password untuk masuk ke struktur direktori (ldap) zimbra. Jika kalian lupa password ldap, ikuti tutorial berikut : https://wiki.zimbra.com/wiki/Resetting_LDAP_and_MySQL_Passwords
      Setelah semua bahan terkumpul saatnya kita eksekusi
  • Karena saya belum mengerti tentang skema ldap di zimbra, maka saya menggunakan aplikasi bantuan dari softerra yang berupa ldap browser, bisa kalian download secara GRATIS di http://www.ldapadministrator.com/download.htm .
FYI : untuk login ke LDAP berikut parameter yang saya gunakan :
  • Host                               : 10.10.10.2
  • Base DN                        : dc=sekolah,dc=sch,dc=id
  • Principal/BIND user       : uid=zimbra,cn=admins,cn=zimbra
  • Bind password               : password
Untuk host, base DN,Bind password menyesuaikan pengaturan server.
Berikut tampilan LDAP browser yang telah berhasil login.

Dari sisi sebelah kiri dapat kita lihat bahwa username email disimpan dalam ou people, maka kita dapat memperkecil atau memfokuskan pencarian pada ou tersebut dengan cara mengganti base DN menjadi seperti ini : ou=people,dc=sekolah,dc=sch,dc=id
Sehingga hasil akhir menjadi seperti ini:
Untuk melihat detail dari tiap user, pilih salah 1 user seperti di atas (klik nama user)

Berikut detail salah 1 user:
Note : bagian yang dikotak merah merupakan attribute yang sering digunakan, seperti :
-          givenName (nama depan),
-          sn (nama belakang),
-          mail (alamat email),
-          cn (nama lengkap),

-          uid (username).
2Lanjut ke bagian konfigurasi moodle
a.       Login ke moodle sebagai administrator
b.      Masuk ke menu :Home/Site administration/Plugins/Authentication/Manage authentication
c.       Disable “Email-based self-registration” karena kita tidak akan menggunakannya
d.      Enable “LDAP server” dengan cara klik icon mata di sebelah kanan, kemudian klik settings 
e.    Sesuaikan seperti di bawah ini:



f.       Jika sudah pilih “Save Changes”

g.      Ini adalah metode autentikasi yang saya gunakan
 Terlihat pada LDAP server masih memiliki 0 user, karena belum ada yang login.
h.       Sekarang coba login dengan username sesuai email (tanpa @blablabla) karena user attribute saya gunakan uid yaitu hanya username, jika ingin menggunakan email lengkap silakan ganti user attribute dengan mail.
 Login telah berhasil, sekarang cek info (profile) user.
 Data user sesuai dengan attribute yang kita masukkan di konfigurasi LDAP tadi.
User LDAP telah bertambah

agus

10 Useful NetBeans IDE Java Shortcuts

1. Type "fcom" (without the quotes, same as all the rest below) and then press Tab. You now have this, i.e., a brand new code fold:
// 
// 
2. Type "bcom" and then press Tab to create the start of a new set of comments in your code:
/**/
3. Type "runn" and press Tab and you'll have all of this:
Runnable runnable = new Runnable() {

    public void run() {

    }
};
4. If I have this:
String something = "";
...and then below that type "forst" and press Tab, I now have this:
String something = "";
for (StringTokenizer stringTokenizer = new StringTokenizer(something); stringTokenizer.hasMoreTokens();) {
    String token = stringTokenizer.nextToken();

}
Also, experiment with "forc", "fore", "fori", "forl", and "forv"!
5. I always knew that "sout" turns into "System.out.println("");" but did you know that (again assuming you first have a string something like above) if you type "soutv" you end up with this:
System.out.println("something = " + something);
Thanks Tom Wheeler for this tip.
6. Next, here are the new shortcuts that are new from NetBeans IDE 6.9 onwards:
as - assert=true;
su - super
db - double
sh - short
na - native
tr - transient
vo - volatile

7. I knew that "ifelse" would resolve to an if/else block. But did you know that if you don't need an 'else', you can simply type "iff", press Tab, and then end up with this:
if (exp) {

}
8. From NetBeans IDE 6.9 onwards, the "sw" shortcut expands to the following:
switch (var) {
    case val:

        break;
    default:
        throw new AssertionError();
}
9. If you're using while loops, experiment with "whileit", "whilen", and "whilexp".
10. Always remember these: "im" expands to "implements; "ex" to "extends".

Reblog from : http://netbeans.dzone.com/top-10-interesting-netbeans-shortcuts

Menghitung Selisih Waktu dengan JAVA (OOP)

Postingan kali ini Menghitung Selisih Waktu dengan JAVA (OOP) akan menunjukkan contoh aplikasi berbasis java untuk menghitung selisih antara 2 waktu dengan menggunakan pendekatan objek atau biasa disebut OOP (Object oriented programming).

1. Ini merupakan class yang memiliki main method di dalamnya

2. Ini merupakan class utama untuk membandingkan 2 waktu dan menghitung selisihnya.

[TIPS & TRIK] Mengganti ServerName Apache di ClearOS

Kali ini saya akan menunjukkan cara merubah ServerName Apache di ClearOS. Kalau biasanya kita hanya meminimalisir informasi header dengan opsi ServerTokens Prod maka kali ini saya akan menunjukkan cara merubah informasi header menjadi sesuai keinginan kita sendiri.

Apa yang dimaksud header dari web server?

Informasi apa saja yang diberikan web server?

Mengapa perlu disembunyikan?

*nanya terus tong :v

Yaudah ane rangkum ye jawabannye :D
Dari header sebuah web server kita dapat menganalisa/melihat OS yang server gunakan (Windows atau GNU/Linux) terus software web server yang digunakan (IIS atau Apache atau yang lain). Kenapa perlu disembunyiin? karena tahap dalam mencari kerentaan sebuah server adalah dengan mengetahui OS yang digunakannya, misalnya kita tau bahwa server tersebut pake windows XP yaudah nggak usah repot repot, kasih metasploit aja beres tuh server :D *kata temen ane sih*

Bagaimana cara melihat informasi header sebuah web server?

bisa pake curl maupun pake add ons browser *cari sendiri nama add ons nya :v*
kalau pake curl bisa pake command ini : 
# curl -I <alamat_web>
misal :
Contoh informasi web server
nah yang kali ini ingin saya bahas adalah cara merubah bagian "Server : Apache"
cara yang paling mudah adalah dengan mengganti opsi "ServerTokens" pada file /etc/httpd/conf/httpd.conf
Parameter ServerTokens antara lain :
- Full : semua informasi akan ditampilkan (seperti gambar di atas)
- OS      : hanya menampilkan software web server dan OS server
- Prod    : hanya menampilkan software web server yang dipakai

Misal kita mengganti ServerTokens menjadi seperti ini : ServerTokens Prod
maka hasil curl akan seperti berikut
ServerTokens Prod
ServerTokens Prod
Pada bagian Server hanya muncul informasi aplikasi web server yang kita gunakan, tidak selengkap gambar di atas.
Q : Lalu bagaimana jika kita mau merubah nama Apache di atas?
A : Gampang, siapin aja bubur ketan (Jawa : Jenang) :D

Bercanda vrooh, caranya cukup simpel kok, ikuti aja step by step di bawah ini:

1. Install modul apache yaitu mod_security dan mod_evasive
# yum --enablerepo=clearos-epel install mod_security mod_evsive
2. Edit file /etc/httpd/conf.d/mod_security.conf
# nano /etc/httpd/conf.d/mod_security.conf
tambahkan "SecServerSignature "IniWebServerGue"" di bagian atas </IfModule>, lihat gambar di bawah
Ganti teks "IniWebServerGue" sesuai selera
3. Edit file /etc/httpd/conf/httpd.conf dan rubah ServerTokens menjadi Full,lihat gambar di bawah
#nano /etc/httpd/conf/httpd.conf
Ganti ServerTokens menjadi Full
4. Muat ulang service web server (apache) 
# service httpd restart
5. Sekarang coba lakukan curl lagi
Hasil curl setelah informasi header dirubah
6. Mari kita bermain main :D
- Edit file /etc/httpd/conf.d/mod_security.conf
# nano /etc/httpd/conf.d/mod_security.conf
- ganti "IniWebServerGue"" di bagian atas </IfModule>, dengan "IIS"
- jika sudah, restart service httpd
# service httpd restart
- coba curl ke alamat web lagi
Wew ClearOS kok pake IIS ya :D
7. Pengujian menggunakan add ons browser
Informasi webserver sebelum dirubah
Yee, ClearOS sekarang jadi Windows server :D


Membuat Konversi Suhu dengan Java (OOP)

Kali ini saya akan memberikan contoh aplikasi sederhana untuk menghitung konversi suhu dengan menggunakan Java dengan menggunakan pendekatan OOP Aplikasi kali ini terdiri dari 5 class. 1 class sebagai main dan yang lain sebagai kalkulator suhu.
Baiklah langsung saja, simak source code di bawah:
1. Ini merupakan class utama yang memiliki main method di dalamnya

2. Ini merupakan class Celcius sebagai "kalkulator" suhu yang berasal dari celcius

3. Ini merupakan class Fahrenheit sebagai "kalkulator" suhu yang berasal dari fahrenheit

4. Ini merupakan class Kelvin sebagai "kalkulator" suhu yang berasal dari kelvin

5. Ini merupakan class Reamur sebagai "kalkulator" suhu yang berasal dari reamur

How to enable IPv6 on ClearOS

IPv6 (Internet Protocol version 6)

adalah protokol internet generasi baru yang menggantikan protokol versi sebelumnya (IPv4). IPv6 dikembangkan oleh Internet Engineering Task Force (IETF). Tujuan utama diciptakan IPv6 karena keterbatasan ruang alamat di IPv4 yang hanya terdiri dari 32 bit, sedangkan IPv6 terdiri dari 128 bit. 

IPv6 vs IPv4

Kelebihan IPv6 dibandingkan dengan IPv4 antara lain:
1. Ruang alamat IPv6 yang lebih besar yaitu 128 bit.
2. Pengalamatan multicast, yaitu pengiriman pesan ke beberapa alamat dalam satu group.
3. Stateless address autoconfiguration (SLAAC), IPv6 dapat membuat alamat sendiri tanpa bantuan DHCPv6.
4. Keamanan lebih bagus dengan adanya default sekuriti IPSec.
5. Pengiriman paket yang lebih sederhana dan efisien.
6. Dukungan mobilitas dengan adanya Mobile IPv6.
(wikipedia)

Pada kesempatan kali ini saya akan mengulas cara mengaktifkan IPv6 di ClearOS.
Kali ini saya menggunakan ClearOS Community release 6.6.0 (Final).
Untuk mengaktifkan IPv6 ada beberapa file yang harus dirubah, antara lain :
1. /etc/sysconfig/network
2. /etc/sysconfig/network-scripts/ifcfg-eth0 **
3. /etc/sysctl.conf

**eth0 sesuai dengan ethernet card yang ingin dienablekan IPv6nya

==============IPv6 Auto configuration==============
Dengan IPv6 Auto configuration memungkinkan PC mendapat IPv6 secara otomatis (IPv4 = DHCP)

Pertama, buka berkas /etc/sysconfig/network kemudian tambahkan baris berikut
NETWORKING_IPV6=yes
IPV6_AUTOCONF=yes
sehingga hasilnya seperti ini:

/etc/sysconfig/network
Kedua, buka berkas /etc/sysconfig/network-scripts/ifcfg-eth0 kemudian tambahkan baris berikut
IPV6INIT=yes
IPV6_AUTOCONF=yes
*eth0 sesuai dengan ethernet card yang ingin dienablekan IPv6nya
sehingga hasilnya seperti ini:
/etc/sysconfig/network-scripts/ifcfg-eth0
Ketiga, buka berkas /etc/sysctl.conf kemudian cari bagian :
 - net.ipv6.conf.all.disable_ipv6 = 1
 - net.ipv6.conf.default.disable_ipv6 = 1
ganti menjadi :
- net.ipv6.conf.all.disable_ipv6 = 0
- net.ipv6.conf.default.disable_ipv6 = 0
/etc/sysctl.conf  sebelum dirubah
/etc/sysctl.conf  setelah dirubah
Keempat, ketikkan perintah berikut di terminal :
- # sysctl -p
- # service network restart
- # ifconfig
maka hasilnya akan seperti berikut:
Sebelum mengaktifkan IPv6

Setelah mengaktifkan IPv6
Uji coba koneksi IPv6 :
ping ke DNS Server google
ping ke google.com dengan menggunakan IPv6

Reset password root ipfire

Beberapa bulan lalu saya install proxy warnet dengan os IPFIRE,proxy sudah berjalan sebagaimana mestinya. Hari ini saya di call oleh sang owner warnet tsb,katanya internet di warnet mati tapi kalau langsung dari modem bisa trus dia bilang proxynya error. Jadilah ane ke warnet tsb, karena udah lama (saking awetnya ipfire jadi nggak pernah maintenance deh) ane lupa password "root" di ipfire, browsing kesana-kemari kok nggak nemu tutor yang pas,malah nemu tutor reset password IPCOP, coba ane terpkan ternyata gagal. Udah hampir ane install ulang tuh proxy tapi ane ingat dulu juga pernah bantuin temen yang lupa password root servernya (dia pake ubuntu) trus ane coba terapin ke IPFIRE dan alhamdulillah BISA!!! (kaya slogan SMK, SMK BISA!!!).

Berikut step by step nya:
1. Boot ipfire
2. Saat muncul tampilan GRUB ipfire seperti di bawah, silakan tekan "e"

3. Arahkan ke line nomer 2 (bagian KERNEL) kemudian tekan "e"

4. kemudian di akhir baris cari bagian "ro" (lihat gambar) kemudian ganti dengan "rw init=/bin/bash" (lihat gambar)

ganti dengan

5. Tekan "enter" kemudian tekan "b" untuk booting
6. Setelah masuk shell, ketikkan perintah "passwd root" atau cukup "passwd" untuk mengganti password root (lihat gambar), kemudian masukkan password yang baru, kemudian ulangi lagi password yang baru
7. Restart PC, kemudian login dengan password yang baru

Sekian