BAB V IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dibahas mengenai proses instalasi dan konfigurasi sistem, agar dapat berjalan sesuai dengan sistem dan infrastruktur teknologi informasi yang ada di B4T. Secara garis besar sistem yang dijalankan merupakan prototype system yang di implementasikan pada jaringan lokal, dimana media virtual dan fisik digunakan sebagai bahan evaluasi terhadap sistem. Aplikasi yang digunakan dalam skripsi ini berjalan pada Sistem Operasi Linux untuk Server dan Sistem Operasi Windows untuk Client yang terkoneksi, berikut ini merupakan kebutuhan pada proses installasi LDAP dan CAS. a. Sistem Operasi
: Ubuntu server 12.04 LTS
b. Web Server
: Apache 2 dan Tomcat 6
c. Bahasa Pemrograman : PHP 5 dan Java d. Java Environment
: Sun Java Development Kit versi 6
e. PEAR
: php PEAR
f. LDAP
: slapd versi 2.4
g. LDAP Admin
: phpLDAPAadmin 1.2.0.5
h. Connector
: libapache-mod-jk
i. SSL
: OpenSSL
j. Pustaka CAS client
: phpCAS 1.3.1
k. CMS
: WordPress dan Moodle
47
48
4.1
Instalasi dan Konfigurasi Sistem Operasi Untuk proses instalasi sistem operasi yang digunakan, yaitu sistem operasi
Ubuntu server. Langkah-langkah proses instalasi nya dapat dilihat di lampiran C. Setelah melakukan instalasi sistem, selanjutnya yaitu melakukan konfigurasi pada perangkat jaringan. Langkah-langkah adalah sebagai berikut : 1.
Masuk ke direktori /etc/network/interfaces, kemudian tambahkan konfigurasi pada perangkat jaringan.
root@ldap:~# nano /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.20.12 netmask 255.255.255.0 network 192.168.20.0 broadcast 192.168.20.255 gateway 192.168.20.1 Skrip 4.1 Konfigurasi Network Interfaces
2.
Setelah melakukan konfigurasi seperti langkah pertama, dilanjutkan dengan merestart perangkat jaringan.
root@ldap:~# /etc/init.d/networking restart
49
3.
Kemudian menambahkan inisialisasi nama host pada server dengan cara menambahkan parameter seperti pada skrip 4.2 pada file /etc/hosts
127.0.0.1
localhost.localdomain localhost
127.0.1.1
ldap.b4t.ac.id
ldap
192.168.20.12 ldap.b4t.go.id
ldap
# The following lines are desirable for IPv6 capable hosts ::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters Skrip 4.2 Konfigurasi Hosts 4.
Langkah selanjutnya yaitu membuat memberikan nama pada server, dan mengaktifkannya. Caranya dengan mengetikkan perintah :
root@ldap:~# echo server1.b4t.go.id > /etc/hostname root@ldap:~# /etc/init.d/hostname.sh start
5.
Cek apakah hostname telah berjalan, dengan perintah :
root@ldap:~# hostname ldap.b4t.go.id
50
root@ldap:~# hostname -f ldap.b4t.go.id
6.
Agar dapat melakukan konfigurasi pada komputer client maka diperlukan ssh server. Cara menginstall ssh server yaitu dengan mengetikkan perintah seperti berikut.
root@ldap:~# apt-get install ssh ssh-server
Jika sudah selesai cek melalui putty, dengan memasukkan ip address yang telah dikonfigurasi pada putty kemudian klik tombol open. Apabila langkah-langkah konfigurasi jaringan diatas telah benar, maka secara langsung server tersebut akan meminta username dan password sistem tersebut.
Gambar 4.1 Putty Configuration
51
4.2
Instalasi Server LDAP Pembuatan server LDAP dilakukan sebagai tempat penyimpanan database
user. Pada skripsi ini digunakan OpenLDAP, OpenLDAP digunakan karena sistem operasi yang digunakan berbasiskan Linux, yaitu Linux Debian Squeeze. Langkah-langkah instalasi OpenLDAP seperti dibawah ini : root@ldap:~# apt-get install slapd ldap-utils
Pada saat instalasi, installer akan menampilkan beberapa form isian yang harus diisi, dibawah ini merupakan contoh dari form : Omit OpenLDAP server configuration? ... No DNS domain name : ... b4t.go.id Name of your organization : ... Balai Besar Bahan Dan Barang Teknik Admin Password : ... ********* Confirm Password : ... ********* OK BDB Do you want your database to be removed when slapd is purged? ... No Move old database? ... Yes Allow LDAPv2 Protocol? ... No Skrip 4.3 Proses Instalasi OpenLDAP
52
Secara otomatis server LDAP telah berfungsi dan sudah dapat dijalankan, maka selanjutnya adalah mengecek apakah server LDAP telah berjalan dengan menggunakan ldapsearch utility, yang merupakan bagian dari paket ldap-utils. Ketik perintah seperti dibawah ini : root@ldap:~# ldapsearch –x –b dc=b4t,dc=go,dc=id
Jika tampil keluaran seperti gambar dibawah ini, maka server LDAP telah berjalan :
Gambar 4.2 Pengecekan Server LDAP Setelah server LDAP berjalan, langkah selanjutnya yaitu menginstall tool tambahan yaitu phpLDAPAdmin untuk manajemen LDAP server. Untuk melakukan proses instalasi dapat dilakukan dengan mengetikkan perintah : root@ldap:~# apt-get install phpldapadmin
53
Perintah diatas akan mencari paket dependensi phpLDAPAdmin dan melakukan instalasi. Setelah proses instalasi selesai cek phpLDAPAdmin pada browser dengan mengetikkan http://namaserver/phpldapadmin, apabila keluar seperti gambar
di bawah ini maka phpLDAPAdmin telah terinstall dengan benar.
Gambar 4.3 phpLDAPAdmin yang sudah di install
4.3
Instalasi Server CAS CAS (Central Authentication Service) merupakan sebuah aplikasi yang
memberikan layanan otentikasi terpusat seperti sebuah portal. Dikarenakan CAS memiliki arsitektur Client/Server, maka pada tahap ini adalah instalasi server CAS. Tahapan-tahapan untuk penginstalan server CAS akan dijelaskan sebagai berikut :
54
4.3.1
Instalasi Tomcat 6 Tomcat merupakan servlet container yang umum digunakan pada banyak sistem, dalam menginstall tomcat diperlukan Java Development Kit untuk mengkompilasi maupun menjalankan program-program berbasis java. Langkah-langkah
instalasi
dan
konfigurasi
tomcat
dengan
mengetikan perintah : root@ldap:~# apt-get tomcat6 tomcat-webapps tomcat-common
Perintah diatas akan mencari paket dependensi jdk serta tomcat dan melakukan instalasi untuk dapat menjalankan server CAS. Setelah terinstall edit file /etc/default/tomcat6 dan sesuaikan parameter dengan skrip 4.4 di bawah ini : TOMCAT6_USER=tomcat6 TOMCAT6_GROUP=tomcat6 JAVA_HOME=/usr/lib/jvm/openjdk-7-jdk TOMCAT6_SECURITY=no Skrip 4.4 Parameter Tomcat 6
Setelah selesai melakukan konfigurasi pada tomcat,
agar
konfigurasi yang baru dapat dijalankan, maka tomcat harus direstart terlebih dahulu dengan perintah :
55
root@ldap:~# /etc/init.d/tomcat6 restart
Lakukan
pengujian
pada
browser
dengan
mengetikkan
http://namaserver:8080, jika pada browser muncul tampilan seperti gambar 4.4, maka instalasi tomcat telah berhasil dan dapat digunakan.
Gambar 4.4 Tomcat yang sudah di install
Selanjutnya edit file /etc/tomcat6/tomcat-users.xml seperti skrip 4.5 untuk menambahkan hak akses admin pada tomcat user :
<user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> -->
56
<user name="iqbal" password="b4t" roles="admin,manager" /> Skrip 4.5 Penambahan Hak Akses Admin dan Manager
Buka browser kembali dengan url http://namaserver:8080, kemudian pada halaman tomcat klik manager app untuk masuk ke halaman Tomcat Web Application Manager, tak lupa masukkan username dan password yang telah dibuat pada tomcat-users.xml :
Gambar 4.5 Tomcat Web Application Manager
4.3.2
Securing Web Server (HTTPS) Dikarenakan server CAS membutuhkan mode https agar dapat berjalan dengan baik, maka perlu ditambahkan protokol tambahan ssl (secure socket layer) yang berfungsi sebagai protokol web server yang disertai dengan enkripsi (https).
57
Langkah selanjutnya adalah menyediakan layanan https pada web server, untuk mengaktifkan layanan https tersebut ketikkan perintah : root@ldap:~# a2enmod ssl
Perintah diatas akan membuat satu file konfigurasi baru pada direktori /etc/apache2/site-enabled. Nama file default adalah default-ssl yang merupakan file konfigurasi virtual host untuk protokol https.
4.3.3
Instalasi Mod_Jk untuk Mengintegrasikan Apache dan Tomcat Mod_Jk adalah aplikasi yang berfungsi untuk menjembatani antara apache2 dan tomcat6 (ProxyPass). Untuk menginstall Mod_Jk, ketikkan perintah : root@ldap:~# apt-get install libapache2-mod-jk
Setelah
Mod_Jk
terinstall,
edit
file
/etc/libapache2-mod-
jk/workers.properties kemudian sesuaikan dengan parameter yang ada pada server : workers.tomcat_home=/opt/tomcat/ workers.java_home=/usr/lib/jvm/java-6-sun-1.6.0.26/ ps=/ worker.list=ajp13_worker worker.ajp13_worker.port=8009
58
worker.ajp13_worker.host=localhost worker.ajp13_worker.type=ajp13 worker.ajp13_worker.lbfactor=1 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=ajp13_worker Skrip 4.6 Konfigurasi file workers.properties
Agar konfigurasi file workers.properties diatas dapat dikenali oleh apache, pada direktori /etc/apache2/mods-enabled terdapat file jk.load yang berfungsi untuk mengenalkan mod_jk pada apache. Konfigurasi dari jk.load sebagai berikut : LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so JkWorkersFile /etc/libapache2-mod-jk/workers.properties Skrip 4.7 Konfigurasi file jk.load
Langkah selanjutnya yaitu memasukkan parameter mount point dari
tomcat
melalui
apache
ke
dalam
virtual
host.
Edit
file
/etc/apache2/sites-enabled/default-ssl, tambahkan skrip 4.8 kedalam file konfigurasi tersebut : JkMount /cas/* ajp13_worker Skrip 4.8 Konfigurasi mod_jk pada file default-ssl
Restart apache dengan perintah :
59
root@ldap:~# /etc/init.d/apache2 restart
4.3.4
Deploying CAS CAS dibangun secara ekslusif dengan Maven 2 Build Management System. Sistem ini menyediakan struktur bangunan dan direktori, tepatnya semua proyek yang menggunakan Maven 2 dan mendefinisikan hasil akhir yang bisa dicoba pada berbagai proyek dengan type seperti JAR, WAR, EAR dan lainnya. CAS sendiri terdiri dari file-file java yang harus dikompilasi agar dapat dijalankan pada container tomcat. Untuk melakukan
kompilasi
CAS,
download
source
CAS
dari
url
http://downloads.jasig.org/cas/cas-server-3.4.12-release.tar.gz. Setelah di download kemudian ekstrak file tersebut, selanjutnya buka Tomcat Web Application Manager melalui browser. Pada menu Deploy pilih WAR file to deploy.
Gambar 4.6 Deployer WAR pada Tomcat Web Application Manager
Kemudian klik Browse, cari file pada direktori cas-server-3.4.12release/modules/cas-server-webapp-3.4.12.war,
dilanjutkan
dengan
60
mengklik tombol Deploy. Selanjutnya restart tomcat dan lihat hasilnya pada browser dengan mengetikkan https://namaserver/cas/ seperti nampak pada gambar berikut ini :
Gambar 4.7 CAS yang telah di install
4.4
Integrasi Server LDAP dan CAS Untuk dapat mengintegrasikan antara server LDAP dan CAS, tahapantahapan yang dilakukan adalah sebagai berikut : 1. Masuk ke dalam direktori cas/META-INF/maven/org.jasig.cas/casserver-webapp/ pada webapps tomcat, kemudian edit file pom.xml dan tambahkan skrip berikut : <dependency>
org.jasig.cas <artifactId>cas-server-core
61
${project.version}
<dependency>
org.springframework.webflow <artifactId>spring-webflow <scope>compile
<dependency>
org.springframework.ldap <artifactId>spring-ldap-core
<dependency>
org.springframework.ldap <artifactId>spring-ldap-core-tiger Skrip 4.9 Konfigurasi file pom.xml
2. Masuk ke dalam direktori cas/WEB-INF/ pada webapps tomcat, kemudian edit file deployerConfigContext.xml, tambahkan skrip berikut pada bagian authentication.
62
p:searchBase="dc=b4t,dc=go,dc=id" p:contextSourceref="contextSource" />
id="contextSource"
class="org.springframework.ldap.core.support.LdapContextSource"> <property name="pooled" value="false" /> <property name="url" value="ldap://192.168.20.12:389" /> <property
name="userDn"
value="cn=admin,dc=b4t,dc=go,dc=id" /> <property name="password" value="iqbal" />
<property name="baseEnvironmentProperties">
63
<map> <entry
key="com.sun.jndi.ldap.connect.timeout"
value="3000" /> <entry key="com.sun.jndi.ldap.read.timeout" value="3000" /> <entry
key="java.naming.security.authentication"
value="simple" /> Skrip 4.10 Konfigurasi file deployerConfigContext.xml
Selanjutnya yaitu melakukan pengujian pada browser, masukkan url https://namaserver/cas/ kemudian masukkan username dan password account admin dari ldap. Jika muncul tampilan seperti gambar berikut, berarti server LDAP dan CAS telah terintegrasi.
64
Gambar 4.8 Server LDAP dan CAS telah Terintegrasi
4.5
Integrasi Client CAS Sebagaimana yang telah dijelaskan pada bab ii (dua), CAS dapat
diintegrasikan dengan berbagai macam pustaka client. Pada skripsi ini pustaka client yang digunakan yaitu phpCAS. phpCAS ini akan diintegrasikan ke dalam aplikasi content management system
(CMS), diantaranya menggunakan
WordPress dan Moodle yang dijadikan sebagai prototype untuk menggambarkan integrasi sistem pada proses otentikasi menggunakan Lightweight Directory Access Protocol (LDAP) dan Central Authentification Service (CAS).
4.5.1
Integrasi dengan WordPress Pada WordPress terdapat plug-in untuk CAS authentifikasi, sehingga untuk konfigurasinya dapat dillakukan dengan menginstall plugin CAS yang ada, dan melakukan perubahan sebagai berikut :
65
1. Masuk ke direktori WordPress cari plug-in wpCAS, kemudian cari file wpcas.php. 2. Cari file wpcas-conf.php pada direktori WordPress 3. Ubah isi file wpcas-conf.php sebagai berikut : // the configuration array $wpcas_options = array( 'cas_version' => '2.0', 'include_path' => 'CAS.php', 'server_hostname' => 'cas.b4t.go.id', 'server_port' => '443', 'server_path' => '/CAS/' ); Skrip 4.11 Konfigurasi file wpcas-conf.php 4.5.1.1 Integrasi dengan Moodle Pada Moodle sudah terdapat plug-in untuk CAS authentifikasi yang terinstall langsung pada waktu installasi moodle itu sendiri, sehingga untuk konfigurasinya dapat dillakukan dengan mengaktifkan plug-in CAS yang ada, dan menginputkan parameter yang sesuai dengan CAS dan LDAP, seperti berikut : 1.
Aktifkan plugin CAS Server (SSO) pada menu Home ► Site administration authentication.
►
Plugins
►
Authentication
►
Manage
66
2.
Setelah plugin aktif, inputkan parameter server CAS dan LDAP pada konfigurasi plugin tersebut. Seperti pada gambar 4.9 berikut ini :
Gambar 4.9 Konfigurasi CAS pada Moodle
67
4.6
Pengujian Setelah dilakukan pengujian pada sistem yang ada maka skenario yang
dikerjakan untuk implementasi ini agar dapat menjalankan layanan Lightweight Directory Access Protocol (LDAP) dan Central Authentification Service (CAS) yaitu sebagai berikut : 1.
User meminta halaman aplikasi yang memerlukan proses otentikasi.
2.
Halaman aplikasi yang diakses melakukan redirect ke dalam halaman login CAS server.
3.
Setelah terotentikasi, CAS server memberikan notifikasi untuk mengijinkan user mengakses aplikasi lain kemudian CAS server melakukan redirect kembali ke dalam aplikasi.
4.
Ketika logout aplikasi akan melakukan redirect kembali ke CAS server dan CAS server merespon dengan validasi pesan. Setelah aplikasi terintegrasi, maka pada halaman login tidak akan
menggunakan halaman default aplikasi yang ada, namun akan di redirect ke halaman login CAS Server sebagai pusat dari layanan otentikasi. Berikut ini merupakan tampilan dari halaman setelah login dan logout pada CAS yang telah terintegrasi dengan aplikasi WordPress dan Moodle.
68
Gambar 4.10 Tampilan Web Login CAS Server
Gambar 4.11 Tampilan Notifikasi Setelah Login CAS
Gambar 4.12 Tampilan Notifikasi Ketika Akan Mengakses Aplikasi
Gambar 4.13 Tampilan Notifikasi Setelah Logout CAS
69