Rabu, 24 Juni 2015

Instalasi OpenLDAP dan phpLDAPadmin di Ubuntu 14.04 Server



Saya kebetulan diminta untuk explore mengenai open ldap, kali ini saya akan coba share hasil instalasi OpenLDAP dan phpLDAPadmin di Ubuntu 14.04 Server. Sekalian saja saya tulis di blog ini sebagai catatan saya juga.

Sebelum nya saya sudah pernah bahas sedikit tentang LDAP disini.  Dan saat ini adalah prakteknya, yaitu cara install nya. Berikut langkah instalasi ldap nya :

1. Install dulu ldap nya :

$ sudo apt-get update
$ sudo apt-get install slapd ldap-utils

2. Setelah selsai installnya, di reconfigure dulu ldap nya agar mendapatkan konfigurasi terbaik :

$ sudo dpkg-reconfigure slapd

Nanti akan muncul beberapa wizard pertanyaan seperti dibawah ini :

  • Omit OpenLDAP server configuration? No
  • DNS domain name?
    • This option will determine the base structure of your directory path. Read the message to understand exactly how this will be implemented.
    • This is actually a rather open option. You can select whatever "domain name" value you'd like, even if you don't own the actual domain. However, if you have a domain name for the server, it's probably wise to use that.
    • For this guide, we're going to select test.com for our configuration.
  • Organization name?
    • This is, again, pretty much entirely up to your preferences.
    • For this guide, we will be using example as the name of our organization.
  • Administrator password?
    • As I mentioned in the installation section, this is your real opportunity to select an administrator password. Anything you select here will overwrite the previous password you used.
  • Database backend? HDB
  • Remove the database when slapd is purged? No
  • Move old database? Yes
  • Allow LDAPv2 protocol? No
Setelah di isi sesuai arahan diatas, maka ldap sudah dikonfig secara basic

Install phpLDAPadmin untuk Manage LDAP via Web Interface

Cara nya adalah :

1. Install dulu phpLDAPadmin nya

$ sudo apt-get install phpldapadmin

2. Setelah selesai install, lakukan konfigurasi nya :

$ sudo nano /etc/phpldapadmin/config.php

Cari parameter ini :

$servers->setValue('server','host','server_domain_name_or_IP');

Dan di sesuaikan IP server ubuntu nya.

Masih di file yang sama, cari lagi parameter ini, dan ganti nama domain nya, misal nya saya menggunakan domain test.com, maka hasil nya mejadi :

$servers->setValue('server','base',array('dc=test,dc=com'));

Lalu masih di file yang sama lagi, cari parameter dibawah ini dan di ganti menjadi seperti ini :

$servers->setValue('login','bind_id','cn=admin,dc=test,dc=com');

Lalu masih di file yang sama lagi, cari parameter dibawah ini dan di ganti menjadi seperti ini :

$config->custom->appearance['hide_template_warning'] = true;

setelah selesai simpan perubahan file nya


Membuat Sertifikat SSL agar phpLDAPadmin lebih secure

Caranya :

1. Buat Folder nya dulu :

$ sudo mkdir /etc/apache2/ssl

2. Generate SSL nya :

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt


Install Apache (Web Server) dan Create Password Authentication File nya

Cara nya adalah :

1. Install apache nya dulu :

$ sudo apt-get install apache2-utils

2. Buat user di apache nya (nama user nya demo_user) :

$ sudo htpasswd -c /etc/apache2/htpasswd demo_user


Membuat Apache nya Lebih Secure

Langkah pertama adalah mengaktifkan ssl module apache nya 

$ sudo a2enmod ssl


Modifikasi phpLDAPadmin pada Konfigurasi Apache nya

Caranya adalah :

1. Edif file konfigurasi nya :

$ sudo nano /etc/phpldapadmin/apache.conf

2. Pada file apache.conf nya edit pada bagian ini menjadi seperti ini :

IfModule mod_alias.c
    Alias /superldap /usr/share/phpldapadmin/htdocs
/IfModule

setelah selesai simpan perubahan file nya


Konfigurasi virtual host di apache nya

Caranya adalah :

1.  Edit file konfig apache nya :

sudo nano /etc/apache2/sites-enabled/000-default.conf

Cari parameter ini :

VirtualHost *:80
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
/VirtualHost

Buat menjadi seperti ini contohnya :

VirtualHost *:80
    ServerAdmin webmaster@server_domain_or_IP
    DocumentRoot /var/www/html
    ServerName server_domain_or_IP
    Redirect permanent /superldap https://server_domain_or_IP/superldap
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
/VirtualHost

Nama domain di sesuaikan, misal menjadi test.com, setelah selesai simpan perubahan file nya


Configure HTTPS di Virtual Host Apache nya

Cara nya adalah :

1. Edit file ssl apache nya :

$ sudo a2ensite default-ssl.conf

$ sudo nano /etc/apache2/sites-enabled/default-ssl.conf

Rubah parameter dibawah ini dan sesuaikan dengan domain yang digunakan, misal nya test.com

ServerAdmin webmaster@server_domain_or_IP
ServerName server_domain_or_IP

SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Location /superldap
    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /etc/apache2/htpasswd
    Require valid-user
/Location

2. Setelah selesai, simpan perubahan file nya dan restart service apache nya :

$ sudo service apache2 restart

Selesai, sekarang tinggal coba login saja ke phpLDAPadmin dari web browser :

http://server_domain_name_or_IP/superldap

Jika muncul error seperti ini di lanjutkan saja, itu error karena ssl nya generate sendiri, dan bukan beli ssl yang berbayar :



Lalu akan muncul halaman login :


Masukan user dan password yang dibuat dengan  htpasswd command tadi (demo_user), setelah berhasil login akan muncul tampilan awal dari phpLDAPadmin :


Klik "login" pada menu di samping kiri, dan login ke dalam ldap nya :


Setelah berhasil login ke dalam ldap nya, maka akan muncul tampilan seperti ini :


Selesai, Kita tinggal manage ldap nya dari web inteface nya phpLDAPadmin. Nanti kalau sempat akan saya bahas juga cara manage ldap nya

Semoga bermanfaat juga untuk teman semua.

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 40017

Rabu, 10 Juni 2015

Pengenalan Dasar Tentang LDAP


LDAP merupakan singkatan dari Lightweight Directory Access Protocol. Seperti namanya, LDAP adalah protokol ringan untuk mengakses layanan directory. Biasanya ldap digunakan untuk single point authentication untuk berbagai server.

LDAP (Lightweight Directory Access Protocol) adalah protokol perangkat lunak untuk memungkinkan semua orang mencari resource organisasi, perorangan dan lainnya, seperti file atau printer di dalam jaringan baik di internet atau intranet. Protokol LDAP membentuk sebuah direktori yang berisi hirarki pohon yang memiliki cabang, mulai dari negara (countries), organisasi, departemen sampai dengan perorangan. Dengan menggunakan LDAP, seseorang dapat mencari informasi mengenai orang lain tanpa mengetahui lokasi orang yang akan dicari itu.

LDAP sering digunakan di system cloud. LDAP dapat digunakan sebagai sumber authentikasi aplikasi jaringan seperti authentikasi mail server, vpn server, file server, dan layanan server lainnya yang mendukung LDAP.

Informasi Apa Saja yang ada di LDAP?
Model informasi LDAP berbasis pada entry. Entry ialah sekumpulan atribute-atribute yang memiliki Distinguished Name (DN) yang unik. DN juga memiliki atribut-atribut entry memiliki tipe nilai sendiri. Tipe ini biasanya berbentuk string mnemonic seperti “cn” untuk common name, atau “mail” untuk alamat email.

Bagaimana Informasi Disusun?
Didalam LDAP,entry-entry disusun dengan struktur pohon hirarki. Pohon hirarki ini bisa disusun berdasarkan Internet Domain Names. Contoh nya seperti digambar ini :



LDAP juga menyediakan fitur untuk mengontrol atribut-atribut mana yang diperlukan dan diijinkan dalam sebuah entry dengan menggunakan spesial attribut yang disebut objectClass. Nilai dari atribut objectClass menentukan aturan-aturan skema yang harus dipatuhi oleh sebuah entry.

Bagaimana Acuan Informasi di LDAP?
Sebuah entry bisa ditunjuk dengan menggunakan distinguished-name-nya yang disusun dari nama entry tersebut (yang disebut Relative Distinguished Name atau RDN) kemudian disambung dengan nama parent dari entry tersebut. Misalnya, entry untuk babs dari contoh diatas memiliki RDN uid=babs dan DN uid=babs,ou=People,dc=example,dc=com.

Bagaimana Mengakses Informasi di LDAP?
LDAP mendefinisikan operasi-operasi untuk mengakses dan mengupdate directory. Operasi-operasi tersebut disediakan untuk menambah atau menghapus sebuah entry dalam directory, mengubah entry yang ada, dan mengubah nama sebuah entry. Akan tetapi, pada umumnya LDAP digunakan untuk melakukan pencarian informasi dalam sebuah directory. Operasi pencarian LDAP memungkinkan untuk mencari sebuah entry pada bagian directory dengan kriteria tertentu.

Bagaimana LDAP mengamankan datanya?
Beberapa servis directory tidak menyediakan fitur keamanan, sehingga semua orang dapat mengakses informasi didalamnya. LDAP menyediakan mekanisme untuk melakukan autentikasi, atau memberikan identitasnya kepada server directory, sehingga dapat mengamankan informasi dalam server dari akses yang illegal. LDAP juga menyediakan layanan pengamanan data (integrity dan confidentiality).

Beberapa Contoh Penggunaan LDAP
- Autentikasi server email zimbra
- Autentikasi user login web
- Address book
- Penyimpanan informasi telepon
- Penyimpanan konfigurasi PABX
- dll

Cara Kerja LDAP
LDAP menggunakan model client-server. Satu atau lebih LDAP server menyimpan data yang membentuk Directory Information Tree(DIT). Kemudian client melakukan koneksi ke server dan mengirimkan request informasi kemudian server merespon dengan memberikan informasi yang diminta atau memberikan pointer kepada server LDAP lain yang menyimpan informasi yang diminta.

Kelebihan LDAPv3 dibanding LDAPv2

LDAPv3 dibuat pada akhir 1990 untuk menggantikan LDAPv2. LDAPv3 menambahkan fitur-fitur berikut :

- Layanan autentikasi dan keamanan data via SASL
- Sertifikat autentikasi dan keamanan data via TLS (SSL)
- Internationalization dengan penggunaan unicode
- Schema Discovery
- Extensibility dan masih banyak yang lain.

Perbedaan LDAP dan RDBMS
Kenapa OpenLDAP tidak menggunakan relational database management system (RDBMS) sebagai ganti Berkeley DB? Dengan harapan bahwa menggunakan algoritma canggih yang di implementasikan oleh RDBMS akan membuat OpenLDAP lebih cepat atau lebih baik.

Jawaban singkatnya adalah penggunaan embedded database memungkinkan OpenLDAP dapat memberikan performa yang lebih bagus dan juga scalability tanpa harus mengorbankan reliability sistem. OpenLDAP menggunakan concurrent/transactional Berkeley DB, software yang sama yang dipakai oleh software directory commercial yang lain.

SLAPD
Slapd(8) adalah server directory LDAP yang berjalan diatas berbagai macam platform. Beberapa fitur yang dimiliki antara lain :

- LDAPv3
- Simple Authentication and Security Layer
- Transport Layer Security
- Topology control
- Access control
- Internationalization
- Pilihan database backends
- Multiple database instances
- Generic modules API
- Threads
- Replication
- Proxy Cache
- Configuration

Ref : http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Selasa, 09 Juni 2015

Cara Testing Radius Menggunakan radtest di Linux



Setelah berhasil install freeradius, sekarang saat nya untuk melakukan pengetesan apakah sudah bisa login atau belum ke radius nya, disini freeradius sudah menyertakan tools radius client nya yaitu radtest.

Cara menjalankannya :

# /usr/raddb/bin/radtest user password 127.0.0.1:18120 0 testing123
Sending Access-Request of id 10 to 127.0.0.1 port 18120
User-Name = "user"
User-Password = "password"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000

rad_recv: Access-Accept packet from host 127.0.0.1 port 18120, id=10, length=20

Kalau sudah mendapat reply Access-Accept berarti sudah berhasil login ke radius nya.

Kita bisa juga mengecek dengan menggunakan Authentication yang ada, misal mschap :

# /usr/raddb/bin/radtest -t mschap user password 127.0.0.1:18120 0 testing123
Sending Access-Request of id 192 to 127.0.0.1 port 18120
User-Name = "user"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
MS-CHAP-Challenge = 0x8c1797852e702ea5
MS-CHAP-Response = 0x000100000000000000000000000000000000000000000000000004f111aa173590f222d81d9d9792155cb5419eab5ecaea47
rad_recv: Access-Accept packet from host 127.0.0.1 port 18120, id=192, length=84
MS-CHAP-MPPE-Keys = 0x682d0290f63c298850f50ec333e0dcfa1c689bfd00c23e790000000000000000
MS-MPPE-Encryption-Policy = 0x00000001
MS-MPPE-Encryption-Types = 0x00000006

Sama seperti command yang pertama, Kalau sudah mendapat reply Access-Accept berarti sudah berhasil login ke radius nya.

Semoga Bermanfaat

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Senin, 08 Juni 2015

Install FreeRadius yang Support TTLS di Centos yang terkoneksi ke Oracle Database




Kali ini saya diminta untuk melakukan instalasi freeradius namun harus bisa koneksi juga ke database oracle yang sudah ada, Dan juga free radius ini harus support authentication ttls.

Setelah sekitar 4 hari mencoba namun gagal juga menggunakan Linux Ubuntu Server, akhir nya saya menggunakan Linux Centos 6.6 untuk instalasi freeradius nya.

Yang saya gunakan :
- Linux Centos 6.6
- Freeradius 2.1.12
- oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Untuk file oracle nya download aja di situs nya oracle. Untuk freeradius bisa di download disini : http://ftp.cc.uoc.gr/mirrors/ftp.freeradius.org/

Langkah instalasi freeradius nya adalah sebagai berikut :

1. Install dulu openssl dan OCI client nya :

# yum install openssl.x86_64 openssl-devel.x86_64
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Restart dulu linux nya :

# reboot


2. Setelah UP lagi servernya, Kemudian konfigure dan make dulu freeradius nya (jangan langsung di make install)

# tar jxvf freeradius-server-2.1.12.tar.bz2
# cd freeradius-server-2.1.12
# ./configure --prefix=/usr/raddb --with-openssl --with-openssl-libraries=/usr/lib64/ --with-openssl-includes=/usr/include/openssl/ --with-rlm-eap --with-rlm-counter-lib-dir=/usr/lib64/
# make

3. Konfigure dan make juga driver oracle untuk freeradius nya 

# cd /root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle/
# ./configure --with-oracle-lib-dir=/usr/lib/oracle/11.2/client64/lib --with-oracle-include-dir=/usr/include/oracle/11.2/client64
# make

4. Kembali ke folder free radius nya dan install :

# cd /root/freeradius-server-2.1.12/
# make install

Seharus nya sudah tidak ada error lagi kalau semua depedensi nya sudah lengkap, untuk cek file driver oracle untuk freeradius nya sudh benar ter install atau belum dapat dicari dengan locate file driver nya :

# locate rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/lib/.libs/rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle/.libs/rlm_sql_oracle.so
/usr/raddb/lib/rlm_sql_oracle.so


Jika sudah ada berarti instalasi nya sudah benar.



Saat nya untuk melakukan konfigurasi di freeradius nya agar bisa terkoneksi dengan database oracle, cara nya sebagai berikut :

1. Edit file radiusd.conf di /usr/raddb/etc/raddb/radiusd.conf, ubah bagian

#$INCLUDE sql.conf

menjadi

$INCLUDE sql.conf


2. Edit /usr/raddb/etc/raddb/sites-enabled/default, ubah bagian dibawah ini

# See “Authorization Queries” in sql.conf
#sql

menjadi

# See “Authorization Queries” in sql.conf
sql

kemudian edit juga

# See “Accounting queries” in sql.conf
#sql

menjadi

# See “Accounting queries” in sql.conf
sql

kemudian edit lagi

# See “Simultaneous Use Checking Queries” in sql.conf
#sql

menjadi

# See “Simultaneous Use Checking Queries” in sql.conf
sql

Simpan perubahan file nya. 

3. Edit juga file ini inner-tunnel nya :

# vi /usr/raddb/etc/raddb/sites-enabled/inner-tunnel

Edit dari :

#  See "Authorization Queries" in sql.conf
#       sql

menjadi 

#  See "Authorization Queries" in sql.conf
        sql

4. Sekarang edit koneksi ke database nya pada bagian sql.conf di /usr/raddb/etc/raddb/sql.conf, rubah menjadi seperti di bawah ini :

sql {
#
# Set the database to one of:
#
# mysql, mssql, oracle, postgresql
#
database = “oracle”

#
# Which FreeRADIUS driver to use.
#
driver = “rlm_sql_${database}”

# Connection info:
server = “IP DB Oracle nya”
port = 1521
login = “USERNAME db nya”
password = “PASSWORD db nya”

# Database table configuration for everything except Oracle
#radius_db = “radius”
# If you are using Oracle then use this instead
radius_db = ” (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IP DB Oracle nya)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YOUR_ORACLE_SID) ) )”

Simpan perubahan file nya.

5. Coba jalankan freeradius nya :

# /usr/raddb/sbin/radiusd -X

FreeRADIUS Version 2.1.12, for host x86_64-unknown-linux-gnu, built on Jun  8 2015 at 17:51:56
Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE. 
You may redistribute copies of FreeRADIUS under the terms of the 
GNU General Public License v2. 
Starting - reading configuration files ...

Kalau sudah muncul seperti dibawah ini berarti sudah berhasil terkoneksi ke database oracle :

rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_oracle #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_oracle #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_oracle #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_oracle #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_oracle #4
rlm_sql (sql): Connected new DB handle, #4

Sekarang kamu tinggal mengarahkan saja ke table yang sesuai di database nya dan juga mengarahkan profile nya. Yang penting sudah bisa terkoneksi dulu freeradius nya ke database oracle.

Semoga Bermanfaat

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Install locate di Centos 6



Perintah locate default nya tidak di install otomatis pada OS Centos 6, locate ini fungsi nya untuk melakukan pencarian dari suatu file atau folder.

Cara melakukan instalasi nya cukup sederhana :

1. Install dulu dari repo centos :

# yum install mlocate
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.biz.net.id
 * extras: centos.biz.net.id
 * updates: centos.biz.net.id
Resolving Dependencies
--> Running transaction check
---> Package mlocate.x86_64 0:0.22.2-4.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================================
 Package                       Arch                         Version                              Repository                  Size
==================================================================================================================================
Installing:
 mlocate                       x86_64                       0.22.2-4.el6                         base                        86 k

Transaction Summary
==================================================================================================================================
Install       1 Package(s)

Total download size: 86 k
Installed size: 279 k
Is this ok [y/N]: y
Downloading Packages:
mlocate-0.22.2-4.el6.x86_64.rpm                                                                            |  86 kB     00:00    
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : mlocate-0.22.2-4.el6.x86_64                                                                                    1/1
  Verifying  : mlocate-0.22.2-4.el6.x86_64                                                                                    1/1

Installed:
  mlocate.x86_64 0:0.22.2-4.el6                                                                                                  

Complete!

2. Setelah selesai, update database locate nya dulu :

# updatedb

3. Selesai, tinggal cari file yang di inginkan, misal saya ingin mencari file rlm_sql_oracle.so, perintah nya adalah :

# locate rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/lib/.libs/rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle/.libs/rlm_sql_oracle.so
/usr/raddb/lib/rlm_sql_oracle.so

Atau kita bisa juga menggunakan perintah find untuk mencari suatu file di command linux, misal saya mau mencari file "rlm_sqlcounter.la", maka perintah nya adalah :

# find / -name rlm_sqlcounter.la

Semoga bermanfaat..

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Kamis, 04 Juni 2015

Install OCI8 di Linux Ubuntu 14.04 LTS



Kali ini saya akan mencoba sedikit share mengenai cara install Oracle Instant Client atau yang biasa disebut dengan OCI8 di Linux Ubuntu.

Tahap Pertama kita harus install Oracle Instant Client File nya dulu, cara nya adalah :

1. Download file nya disini : http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen

2. Install dulu dependensi pendukung nya seperti  PECL, PHP Development files, Build Essential, Unzip, dan AIO Library :

$ sudo apt-get install php-pear php5-dev build-essential unzip libaio1

3. Buat folder instalasi nya :

$ sudo mkdir /opt/oracle

4. Pindahkan file yang sudah di download tadi ke folder yang baru saja dibuat :

$ sudo mv instantclient-* /opt/oracle

5. Unzip  / extract file nya dan rubah nama folder nya sekalian :

$ sudo unzip
$ sudo mv instantclient_12_2 instantclient

6. Masuk kedalam folder tadi, dan buat links untuk file library nya :

$ sudo ln -s libclntsh.so.12.2 libclntsh.so
$ sudo ln -s libocci.so.12.2 libocci.so

Kemudian jadi root saja biar mudah :

$ sudo su

7. Masuk ke folder opt :

# cd to  /opt

8. Set permission dari folder nya :

# chown -R root:www-data /opt/oracle

9. Tambahkan instant client ke ld config files :

# echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient

10. Update  Dynamic Linker Run-Time Bindings nya :

# ldconfig


OK, Tahap ke dua adalah install OCI8 dan konfigurasi Apache nya, Caranya adalah :

1. Install OCI8 menggunakan PECL :

# pecl install 0ci8

Ketika ditanya path untuk instalasinya, silahkan masukan path berikut :

instantclient,/opt/oracle/instantclient

2. Masukan extension oci8 ke file php.ini :

# echo extension=oci8.so >> /etc/php5/apache2/php.ini
# echo extension=oci8.so >> /etc/php5/cli/php.ini

3. Restart Apache

# /etc/init.d/apache2 restart

4. Verifikasi hasil instalasi OCI8 library dengan membuat file sederhana phpinfo berikut :

# touch info.php; echo "" > info.php

Dan taruh di folder apache nya :

# cp info.php /var/www/html/

5 . Coba jalankan file info.php dari web browser yang ada, jika sudah muncul seperti ini berarti sudah berhasil :


Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Jumat, 29 Mei 2015

Physical Data Center VS Virtual Data Center

Berhubung saya baru saja selesai training VMware vSphere V6 dari VMware, maka di blog ini saya akan mencoba sharing sedikit demi sedikit ilmu yang saya dapat dari training, tentu nya dengan bahasa saya sendiri, hitung-hitung agar blog saya update lagi dan juga sebagai catatan pribadi saya.

Oh iya sertifikat training saya juga bisa dilihat di : http://donyramansyah.net/vmtraining.html atau di http://donyramansyah.net/paper.html

Disini saya akan sedikit sharing tentang perbedaan antara Physical Data Center dan Virtual Data Center, serta kelebihan dari Virtual Data Center


Pertama saya akan bahas sedikit tentang Physical Data Center terlebih dahulu, Secara tradisional, sistem operasi dan perangkat lunak lainnya selalu ada di komputer atau server fisik saja. Perkembangan infrastruktur fisik seperti ini tentunya menimbulkan beberapa tantangan di data center. Dimana tentunya tidak fleksibel dan dapat menjadi tidak efisien.

Perencanaan dan biaya infrastruktur yang tepat (luas, rak, ruangan, daya, pendinginan, kabel, dan pengadaan server) adalah beberapa masalah yang harus dihadapi oleh Admin dari IT Infrastruktur. Biaya dari maintenance ruangan data center dan daya listrik yang diperlukan untuk menjalankan operasional data center dan menjaga sistem ruangan agar tetap dingin adalah salah satu cost yang cukup besar di data center.

Selanjutnya, jika dibutuhkan penyediaan server fisik adalah proses yang memakan waktu, dimana harus melalui proses pengadaan yang cukup lama dan panjang, apalagi dalam hal administrasi nya. Dalam lingkungan nonvirtualized, waktu dan tenaga juga harus dialokasikan untuk pengadaan perangkat keras baru, mengatur dalam menempatkannya di data center, menginstal sistem operasi, dan patch sistem operasi. Menginstal dan mengkonfigurasi aplikasi yang diperlukan. Proses ini juga termasuk segudang tugas lainnya untuk mengintegrasikan sistem ke infrastruktur, misalnya, mengkonfigurasi rule dari firewall, memungkinkan port switch, dan penyediaan penyimpanan. Tentunya akan menguras tenaga dan waktu ya..


Untuk itu kita sudah saat nya migrasi ke Virtual Data Center


Menggunakan teknologi virtualisasi Anda tidak perlu menunggu untuk pengadaan perangkat keras yang akan dibeli atau kabel yang akan dipasang. Virtual mesin dapat dibuat dan dilakukan melalui GUI saja. Berbeda dengan proses panjang dari mulai pengadaan hingga instalasi server fisik, virtual mesin dapat digunakan dalam hitungan menit.

Mesin virtual terdiri dari satu set spesifikasi dan konfigurasi file yang didukung oleh sumber daya fisik dari sebuah host. Setiap mesin virtual memiliki perangkat virtual yang menyediakan fungsi yang sama dari perangkat keras fisik tetapi lebih portabel, lebih aman, dan lebih mudah untuk dikelola .

Mesin virtual biasanya memiliki sistem operasi, VMware Tools, dan sumber daya virtual dan perangkat keras yang Anda kelola dalam banyak cara yang sama seperti Anda mengelola komputer fisik. VMware Tools adalah software utilitas yang diinstal di sistem operasi dari mesin virtual. VMware Tools meningkatkan kinerja dan pengelolaan mesin virtual.

Dalam mesin fisik, sistem operasi (misalnya, Windows, UNIX, atau Linux) dipasang langsung pada perangkat keras. Sistem operasi membutuhkan driver perangkat tertentu untuk mendukung hardware tertentu. Jika komputer ingin ditingkatkan dengan perangkat keras baru, driver yang baru juga diperlukan.

Jika melakukan update driver hardware, tentunya dapat memiliki dampak yang signifikan jika tidak kompatibel. Ini dampak potensial yaitu tidak jalannya OS atau software didalam server tersebut. Dengan adanya VMware Tools dari VMware untuk data center virtual maka hal semacam ini dapat dihindari.

Berikut kelebihan dari Virtual Data Center dibandingkan dengan Physical Data Center


Dari gambar diatas kita bisa lihat dimana kemudahan dan efesiensi yang didapat jika menerapkan virtualisasi pada datacenter yang ada.

Dan juga perbedaan dari sisi infrastruktur di server nya sendiri :


Terlihat juga bahwa Operating System (OS) di VMware menggunakan semacam driver sendiri yang disediakan dari VMware Tools yang terhubung dengan hardware dari server fisik atau yang disebut host nya. Jadi dalam 1 server fisik kita bisa membuat beberapa server lagi didalam nya dan menggunakan OS yang berbeda-beda.


Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171


Jumat, 23 Januari 2015

Setting Reverse Address / PTR untuk IPv6 di Bind






Kali ini saya ingin share bagaimana cara mendaftarkan reverse address atau ptr record untuk IPv6 pada DNS server bind, tulisan ini saya gunakan sebagai catatan pribadi juga.

Pertama kali yang perlu di ingat adalah bahwa IPv6 bisa di pecah / dibagi menjadi prefix yang lebih kecil, misal nya kita dapat dari Apnic /32, kita bisa bagi-bagi menjadi /64 atau /128. Namun untuk reverse address / ptr nya kita tidak bisa di split / di pecah lagi, yang di daftarkan ke Apnic harus sesuai alokasi nya, misal nya dikasih /32 maka yang kita daftarkan di Apnic untuk reverse address / ptr nya yang /32.

Namun kita bisa pecah / bagi-bagi di sisi konfigurasi pada DNS nya. Misal nya disini saya punya IPv6 block /48 yaitu : 2001:db8:302::/48

Kemudian saya ingin mendaftarkan juga untuk pelanggan / user saya untuk /64 yang merupakan pecahan dari /48 tadi. Berikut cara konfigurasi di DNS Bind nya :

1. Generate dulu zone record dari IP 2001:db8:302::/48 disitus :

http://www.zytrax.com/books/dns/ch3/#ipv6-calculator



2. Setelah dapat reverse zone nya, Bikin zone record nya dulu di bind pada named.conf :

zone "2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa"
{
type master;
file "/etc/bind/pz/2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa";
};

3. Buat zone record nya seperti ini :

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
$TTL 604800
@ IN SOA ns1.example.org. hostmaster.example.org. (
2015012300 ; Serial
10800 ; Refresh
3600 ; Retry
2419200 ; Expire
604800 ) ; Default TTL

NS   ns1.example.org.
NS   ns2.example.org.
TXT  "2001:db8:302::/48 Example IPv6 reverse"

4. Tambahkan pecahan prefix /64 nya pada konfigurasi diatas berdasarkan dari generate reverse nya, misal nya kita ingin mendaftarkan IPv6 : 2001:db8:302::1/64 



Dari hasil generate diatas jadi seperti ini konfigurasi nya :

$ORIGIN 0.0.0.0.2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR host.example.net.
 
Jadi konfigurasi lengkap nya seperti ini :

$ORIGIN 2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
$TTL 604800
@ IN SOA ns1.example.org. hostmaster.example.org. (
1978022513 ; Serial
10800 ; Refresh
3600 ; Retry
2419200 ; Expire
604800 ) ; Default TTL

NS   ns1.example.org.
NS   ns2.example.org.
TXT  "2001:db8:302::/48 Example IPv6 reverse"

$ORIGIN 0.0.0.0.2.0.3.0.8.b.d.0.1.0.0.2.ip6.arpa.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR host.example.net.

5. Setelah itu refresh zone di bind dengan perintah : 

# rndc reload

6. Jangan lupa untuk mendaftarkan object domain untuk reverse address ini di portal nya Apnic

Selesai, semoga bermanfaat juga untuk teman semua.

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171