Archive for September, 2011

20.09.2011 – Login SSH Otomatis Tanpa Prompt Password

Tuesday, September 20th, 2011

Alhamdulillah, saya sejak 2 hari ini belajar tentang cara login ssh secara otomatis. Apabila dikembangkan, teknik ini juga berguna saat kita akan melakukan sinkronisasi pada server tanpa menginput password secara berulangkali. Sebagai ilustrasi, berikut skema yang saya gunakan. Saya memiliki 3 server, pocoyo, barney, dan teletubbies, dimana ip address untuk mereka, secara berturut-turut, 10.7.3.121, 10.7.3.118, dan 10.7.3. Saya melakukan login kedalam pocoyo. Kemudian, pocoyo akan mengambil data dari 2 server yang lain, yaitu barney dan teletubbies. Dengan cara manual, dari dalam pocoyo, saya harus melakukan ssh baik ke barney maupun ke teletubbies, untuk kemudian melakukan operasi data. Nah, dengan cara yang baru, saya hanya perlu mengetikkan ip address barney dan teletubbies, lalu secara otomatis saya akan login kedalam mereka.
Oke, kita mulai yah..

  1. Saya login dengan menggunakan user nanda di server pocoyo, lalu create ssh-keygen. Pada permintaan untuk mengisi field. Tekan pilihan Enter pada setiap pilihan tersebut tanpa mengetikkan apa-apa.
    [nanda@pocoyo ~]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/nanda/.ssh/id_rsa): Tekan ENTER
    Enter passphrase (empty for no passphrase): Tekan ENTER
    Enter same passphrase again:Tekan ENTER
    Your identification has been saved in /home/nanda/.ssh/id_rsa.
    Your public key has been saved in /home/nanda/.ssh/id_rsa.pub.
    The key fingerprint is:
    e3:45:ec:29:b4:c8:8a:c8:05:54:fe:c8:cc:26:ef:14 nanda@pocoyo
  2. Action ini akan meng-create 2 file pada ~/.ssh. yaitu id_rsa dan id_rsa.pub.
    [nanda@pocoyo ~]$ cd ~/.ssh/
    [nanda@pocoyo .ssh]$ ls -l
    total 8
    -rw——- 1 nanda nanda 1671 Sep 20 20:04 id_rsa
    -rw-r–r– 1 nanda nanda 394 Sep 20 20:04 id_rsa.pub
  3. Kopi file id_rsa.pub ke server barney. Untuk pertamakali, anda akan diminta memasukkan password user login. Ketik yes lalu masukkan password.
    [nanda@pocoyo .ssh]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 10.7.3.118
    [nanda@pocoyo ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 10.7.3.118
    27
    The authenticity of host ’10.7.3.118 (10.7.3.118)’ can’t be established.
    RSA key fingerprint is 9e:e8:94:bc:5a:1b:26:11:7d:d8:2c:9c:f6:01:ab:e3.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added ’10.7.3.118′ (RSA) to the list of known hosts.
    nanda@10.7.3.118′s password: masukkan password anda
    Now try logging into the machine, with “ssh ’10.7.3.118′”, and check in:
    .ssh/authorized_keys
    to make sure we haven’t added extra keys that you weren’t expecting.
  4. Sekarang, lakukan login ke server barney.
    [nanda@pocoyo ~]$ ssh 10.7.3.118
    Last login: Mon Sep 19 14:59:58 2011 from 10.7.3.121
    [nanda@barney ~]$
  5. Voila!! Akses ke server lain sudah bisa dilakukan tanpa permintaan password. Oke, lakukan hal yang sama untuk server selanjutnya.

Nah, sekarang kita akan coba membuat script sederhana untuk memudahkan administrasi login. Oke, kita mulai.

  1. Masih di server pocoyo. Buat file ssh_access.sh di /home/nama user anda. Kemudian save.
    [nanda@pocoyo ~]$ vim ssh_access.sh
    #!/bin/bash
    while :
    do
    clear
    echo “Welcome. Silakan pilih komputer yang hendak anda remote”
    echo “=============================”
    echo “[ a ] 10.7.3.118 a.k.a barney”
    echo “[ b ] 10.7.3.108 a.k.a teletubbies”
    echo “=============================”
    read host
    case $host in
    a) echo “Menghubungkan ke Barney …” ; ssh nanda@10.7.3.118 ;;
    b) echo “Menghubungkan ke Teletubbies ..” ; ssh nanda@10.7.3.108 ;;
    x) exit ;;
    esac
    done
  2. Ubah mode file ssh_access.sh agar bisa dieksekusi.
    [nanda@pocoyo ~]$ chmod 777 ssh_access.sh
  3. Jalankan file ssh_access.sh.
    Welcome. Silakan pilih komputer yang hendak anda remote
    ============================
    [ a ] 10.7.3.118 a.k.a barney
    [ b ] 10.7.3.108 a.k.a teletubbies
    ============================
    tekan pilihan b, lalu Enter
    Menghubungkan ke Teletubbies ..
    Last login: Tue Sep 20 20:12:04 2011 from 10.7.3.121
    [nanda@teletubbies ~]$
  4. Well Done. Selanjutnya anda tinggal menambahkan baris dibawahnya untuk setiap server yang akan anda remote. Oke, selamat mencoba yah….

15.09.2011 – Change Linux Hostname

Thursday, September 15th, 2011

Writes your knowledge even though just a few… hehehe, actually this is just an intermezzo, a coincidence when i was doing some configurations on my virtual box. I installed 2 identical CentOS operating systems. And for avoid misconfiguration, i distinguish their hostname. And below the following steps i have done.

  1. This is a capture login screen of my virtual box.
    hostname#1

    hostname#1

  2. Login as root. Edit /etc/sysconfig/network. Then save.
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=localhost.localdomain
  3. Edit localhost.localdomain name as your wish. And because of i missed my child, i change it to pocoyo :) .
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=pocoyo
  4. Afterwards, do restart.
    [root@localhost ~]# reboot
  5. Voila!!!! The virtual name already change, successfully.
    hostname#2

    hostname#2

  6. Well, have a nice try…

14.09.2011 – Instalasi Plugins untuk Cacti ver. 0.8.7g

Wednesday, September 14th, 2011

Sebetulnya ini adalah kelanjutan dari tulisan saya, Konfigurasi Cacti Standar pada CentOS 5.5. Tapi karena ada masalah bug pada wordpress yang saya gunakan, saya tidak bisa menyatukan tulisan ini. So, pembahasan instalasi plugin saya lanjutkan disini.

Cacti dilengkapi dengan plugins. Perlu diperhatikan, instalasi plugins harus disesuaikan dengan versi cacti yang digunakan agar tidak terjadi error. Plugins mensyaratkan tools Plugin Architecture (PIA) terinstall. Dan pada tutorial ini, saya akan lakukan instalasi PIA dan 2 plugins, yaitu monitor dan thold. Sedikit perbedaan pada plugins thold, kita perlu menambahkan plugins settings. Sip, kita mulai.

  • Plugins Architecture (PIA)
  1. Download PIA. kemudian ekstrak.
    [root@localhost mycacti]# wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
    [root@localhost mycacti]# tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
  2. Lakukan patch.
    [root@localhost mycacti]# patch -p1 -N < cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
  3. Pada proses patch ini, saya menemukan error sebagai berikut
    1 out of 6 hunks FAILED — saving rejects to file data_sources.php.rej
    dan
    1 out of 4 hunks FAILED — saving rejects to file poller.php.rej
    Continue reading “14.09.2011 – Instalasi Plugins untuk Cacti ver. 0.8.7g” »

14.09.2011 – Konfigurasi Cacti Standar pada CentOS 5.5

Wednesday, September 14th, 2011

Ilmu itu indah. Setelah kemarin saya berhasil menginstall cacti, hari ini saya melakukan beberapa konfigurasi di cacti. Sebagai informasi, cacti yang saya gunakan adalah update terakhir, cacti versi 0.8.7g. Perlu diketahui, informasi mengenai versi cacti ini sangat dibutuhkan karena untuk melakukan patch maupun instalasi plugin, kita harus menyesuaikan dengan versi cacti yang tepat agar tidak terjadi error yang justru akan memusingkan sendiri. Oke, sekarang kita mulai.

Persiapan database awal

  • Buat database yang akan digunakan untuk menangani cacti. Sebagai informasi, username mysql yang saya gunakan adalah root dan passwordnya, pass
    [root@localhost /]# mysql -uroot -ppass -e “create database mycacti”
  • Beri akses all untuk user mysql pada database mycacti. Sebagai info, username mysql yang saya gunakan adalah cactiuser dan passwordnya, samplepass
    [root@localhost /]# mysql -uroot -ppass -e “grant all on mycacti.* to cactiuser@localhost identified by ‘samplepass’”
    [root@localhost /]# mysql -uroot -ppass -e “flush privileges”
  • Ok. Database sudah siap.

Setup Cacti

  • Login ke folder cacti pada direktori root webserver.
    [root@localhost /]# cd /var/www/html/mycacti
  • Buat folder untuk menampung file-file patch cacti.
    [root@localhost mycacti]# mkdir source_patch
    [root@localhost mycacti]# cd source_patch/
  • Didalam folder source_patch, download seluruh patch untuk cacti 0.8.7g.
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/data_source_deactivate.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/graph_list_view.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/html_output.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/ldap_group_authenication.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/script_server_command_line_parse.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/ping.patch
    [root@localhost source_patch]# wget http://www.cacti.net/downloads/patches/0.8.7g/poller_interval.patch
    Continue reading “14.09.2011 – Konfigurasi Cacti Standar pada CentOS 5.5” »

12.09.2011 – Instalasi Cacti di CentOS 5.5

Monday, September 12th, 2011

Alhamdulillah yah.. hari ini saya belajar untuk membuat cacti. Cacti sendiri adalah software yang digunain buat monitoring performa sebuah server, ditampilkan dalam bentuk grafik jadi lebih mudah untuk dianalisa. Dengan cacti, pengambilan keputusan untuk antisipasi kegagalan fungsi atau penurunan performa, bisa dengan segera diambil.

Kali ini, saya menggunakan Linux CentOS release 5.5 (Final). Dan berikut langkah-langkah yang saya lakukan.

  • Karena yang saya gunakan adalah metode install menggunakan yum, maka saya mengupdate file repository agar mengarah ke tempat download installer berada.
    [nanda@localhost ~]$ vim /etc/yum.repos.d/CentOS-Base.repo
  • Lalu tambahkan informasi berikut, kemudian save.
    [dag]
    name=Dag RPM Repository for Red Hat Enterprise Linux
    baseurl=http://apt.sw.be/redhat/el5/en/i386/dag
    gpgcheck=1
    gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
    enabled=1
  • Download installer yang dibutuhkan dengan menggunakan yum.
    [nanda@localhost ~]$ yum install php httpd mysql mysql-server php-mysql vim-enhanced net-snmp net-snmp-utils php-snmp initscripts perl-rrdtool rrdtool initscripts
  • Saat proses download, akan muncul notifikasi Yes/No, anda bisa memilih Yes.
  • Setelah proses download selesai yang secara otomatis juga dilakukan instalasi, kita akan mengambil installer cacti secara manual. Anda dapat mengakses ke download page cacti lalu save, atau menggunakan fitur wget.
    [nanda@localhost ~]$ wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
  • Setelah itu, kita ekstrak, dan kita rename foldernya menjadi cacti
    [nanda@localhost ~]$ tar -zxvf cacti-0.8.7g.tar.gz
    [nanda@localhost ~]$ mv cacti-0.8.7g cacti
  • Pindahkan seluruh folder cacti ke direktori /var/www/html
    [nanda@localhost ~]$ mv cacti /var/www/html
  • Untuk menjalankan cacti, saya membuat user dengan identifikasi sebagai berikut
    user : cactiuser
    grup : cacti
    password : pass
    [root@localhost ~]# /usr/sbin/groupadd cacti
    [root@localhost ~]# /usr/sbin/useradd -g cacti cactiuser
    [root@localhost ~]# passwd cacti
  • Setelah itu, kita merubah kepemilikan folder cacti pada direktori root.
    [root@localhost ~]# cd /var/www/html/
    [root@localhost html]# chown -R cactiuser cacti/
  • Buat password untuk root pada mysql
    [root@localhost html]# mysqladmin –user=root –password=pass create cacti
  • Setelah itu, kembali ke direktori cacti pada /var/www/html lalu insert default cacti.sql ke database cacti yang telah kita buat.
    [root@localhost html]# cd /var/www/html/cacti
    [root@localhost cacti]# mysql -uroot -ppass cacti < cacti.sql

  • Setelah itu, login kedalam mysql untuk membuat username dan password buat cacti
    [root@localhost cacti]# mysql -uroot -ppass
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 111
    Server version: 5.0.77 Source distribution
    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
    mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘pass’;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    mysql> exit
    Bye
  • Edit file /var/www/html/cacti/include/config.php sesuai dengan informasi mysql anda. Kemudian save.
    [root@localhost cacti]# vim /var/www/html/cacti/include/config.php
    /* make sure these values refect your actual database/host/user/password */
    $database_type = “mysql”;
    $database_default = “cacti”;
    $database_hostname = “localhost”;
    $database_username = “cactiuser”;
    $database_password = “pass”;
    $database_port = “3306″;
  • Cacti membutuhkan cron untuk menjalankan polls, dan kita edit crontab sesuai kebutuhan. Kemudian, save.
    [root@localhost cacti]# crontab -e
    */5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
  • Pastikan memory_limit pada php.ini sudah diupgrade minimal 128M.
    [root@localhost cacti]# vim /etc/php.ini
    max_execution_time = 30 ; Maximum execution time of each script, in seconds
    max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
    memory_limit = 128M ; Maximum amount of memory a script may consume
  • Pastikan service mysqld dan httpd berjalan dengan menggunakan perintah restart.
    [root@localhost cacti]# service mysqld restart
    [root@localhost cacti]# service httpd restart
  • Selanjutnya, anda bisa mengarahkan browser anda ke alamat web cacti. Dalam kasus ini, URL cacti yang saya konfigurasi adalah http://10.7.4.95/cacti/
  • Dan berikut capture screen login menu cacti.
    Login Cacti

    Login Cacti

  • Well Done. Selamat mencoba yah… ^-^

06.09.2011 – Mencari File via Console pada Linux

Tuesday, September 6th, 2011

Awalnya saya mengalami kesulitan setiap harus nyari file di linux pake console. Linux yang saya sering gunakan memang tidak menggunakan GUI, performa yang jadi alasannya. Dan berikut beberapa tips untuk mencari file menggunakan console yang saya pakai.

Dengan menggunakan locate.

  • Pertama saya melakukan update database pencarian dengan command updatedb
    [root@gateway ~]# updatedb
  • Setelah itu, lakukan pencarian file yang dibutuhkan dengan locate.
    [root@gateway ~]# locate (penggalan nama file / keseluruhan nama file)

Dengan menggunakan find.

Apabila kita menginginkan pencarian tanpa mengupdate database terlebih dahulu, kita bisa menggunakan command find dengan beberapa variasi pilihan pencarian

  • Pencarian berdasarkan nama
    [root@gateway ~]# find /etc/ –name iptables
  • Pencarian berdasarkan izin akses
    [root@gateway ~]# find /etc/ –perm 755
  • Pencarian berdasarkan besar file tertentu, misalnya 23,13 MB
    [root@gateway ~]# find /etc/ –size 23,13M
  • Pencarian berdasarkan besar file lebih besar dari 15 MB
    [root@gateway ~]# find /etc/ –size +15M
  • Pencarian berdasarkan besar file lebih kecil dari 15 MB
    [root@gateway ~]# find /etc/ –size -15 MB

Nah, demikian sebagian trik buat pencarian menggunakan console di Linux. Semoga membantu yah..