Pages

Thursday, October 11, 2012

install postfix on centos 6.3

pada dasarnya untuk membuat sebuah mail server kita dapat menggunakan sendmail / postfix dari linux.
dibawah ini adalah step by step konfigurasi mail server dengan menggunakan postfix.


Sebelum melanjutkan terlebih dulu sebaiknya kita uninstall sendmail yang merupakan program default mta bawaan centos

yum remove sendmail

Lalu kita install kebutuhan software kita

yum install postfix dovecot system-switch-mail

setelah selesai menginstall kita dapat mengatur konfigurasi dengan cara:
vi /etc/postfix/main.cf


konfigurasi saya dapat dilihat dibawah:


myhostname = mail.nama-domain.com     //yang dibold sesuaikan dengan domain milik anda
mydomain = nama-domain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  // tambahkan $mydomain


relay_domains =
home_mailbox = Maildir/


lalu edit konfigurasi dovecot dengan cara :

vi /etc/dovecot/dovecot.conf

tambahkan protocols = imap imaps pop3 pop3s.

save dan quit.


jalankan program dengan cara :


  1. /etc/init.d/dovecot start
  2. /etc/init.d/postfix start

chkconfig --level 345 dovecot on (optional :   digunakan untuk menyalakan service saat start up server).












Saturday, September 15, 2012

producer consumer marketer and patents

in the end... it's just about functionality... design... information. benefits and  save time...

not what's inside.... consumer didn't really care how "inside works".

the midle man is called marketter.

producer - marketter - consumer

producer:  all process on producing a product.
marketer/affiliater: give information + get benefit from a product
consumer: user of the service / product. mostly comes from marketer because for a producer doesnt have enough time to make and sell at the same time.

producer got so many competition with another producer too... because that consumer didn't really care what's inside. they only know which one have the best benefits... functionality... and other. they also doesnt care about the concept and all process behind the scene.

that's why "patents" comes.



for producer itself must have a influence of social / a group (the example of group can be family, community, teen, student in university and other) to make a success in selling their product. Cause a product will be sold  nicely if only the product got brand / power / credibility among people. In this case a marketter have the big part of the scene.


the example way of bad thing to do is paid some people (the consumer) to make the credibility of a product become down. This can be countered if only the product quality is good. Remember! from good quality of a product / content will produce good rating then if the consumer are happy, they will willing to share with other even they didn't asked to. that make influence on his group.


that's all the thing on my thought today... after reading some people comment, newspaper, tv.


thx for reading.






Monday, September 10, 2012

mail server

Simple Mail Transfer Protocool adalah sebuah protocol / aturan yang digunakan untuk berkirim email dari sebuah mail server ke mail server yang lain. SMTP ini sudah menjadi aturan dasar dalam kegiatan berkirim email. sehingga setiap software yang digunakan untuk berkirim email pasti telah mendukung protokol ini. Terdapat berbagai macam software yg mendukung smtp yang dapat digunakan sebagai mail server program diantaranya:



  • Sendmail
  • Postfix
  • Exim
  • Courier-MTA
  • Qmail
  • Microsoft Exchange Server



Software-software  tersebut lebih sering dikenal dengan sebutan Mail Transfer Agent


Simple Mail Transfer Protocool disini Menggunakan Port 25 Sehingga apabila ingin menggunakan Smtp ini haruslah terlebih dahulu kita memastikan tidak ada yang menggunakan port 25 di server. 





kita dapat menggunakan software seperti nmap yang dapat diunduh di http://nmap.org/ untuk mengecek port-port yang telah digunakan di server.

dibawah ini merupakan contoh penggunaan nmap di sebuah server dengan distro centos 6.3 milik saya.





Dapat terlihat bahwa port 25 disini blm digunakan. Sehingga kita dapat melakukan instalasi program yang telah saya sebutkan diatas (pilih salah satu dari kelima program tersebut). 




Simple Mail Transfer Protocol tidak digunakan untuk Transfer antar e-mail client. SMTP hanya merupakan sebuah protocol yang berjalan untuk sebuah pengiriman email antar mail server. Apabila kita ingin mentransfer e-mail antar client kita dapat menggunakan pop3 / imap,  imaps / pop3s.



prinsip utama cara kerja mail server ialah menerima email dari local user yang berada didalam sebuah domain tertentu , dan meneruskannya ke email server yang lain. 






Saturday, August 25, 2012

perbedaan wireless distribution system / wds dan repeater

wds / wireless distribution system adalah sebuah mekanisme dimana router/access point  bertindak sebagai penerus sinyal dan pendistribusian wireless tanpa membutuhkan adanya kabel lan yang terhubung pada 2 router /access point tersebut. Dari gambar dibawah ini kita bisa melihat sistem cara kerja wds itu sendiri.

access point 1 memancarkan gelombang radio ke access point 2, dan access point 2 menangkap dan memancarkan lagi ke area yang dapat dicapai oleh access point 2. sehingga area yang awalnya tidak tercapai oleh access point pertama sekarang dapat tercapai.



sekilas fungsi wds sendiri dapat dikatakan sama dengan fungsi wireless repeater yaitu melanjutkan sinyal wifi ke area lain sehingga cakupannya bertambah luas....  namun yang membedakan antara wireless repeater dengan wds ialah... ketika ap diset menjadi wireless repeater maka port kabel jaringan pada access point akan berubah menjadi status disabled. dimana pada wds port jaringan kabel tetap dapat digunakan selagi menangkap dan memancarkan wifi. 




Untuk gambar dibawah ini, biasanya digunakan untuk memperluas area jaringan wifi tanpa sistem wds (menggunakan kabel). access point 1 mendapatkan internet dari port wan, disebarkan via wifi di area access point 1. Lalu untuk memperluas kita hubungkan dengan menggunakan kabel lan ke access point 2 (dimasukkan ke port wan-nya  access point 2) sehingga access point 2 sekarang mendapatkan koneksi internet dan dapat disebarkan via wifi / kabel di area yang dicakupi ap ke 2.





terlihat bukan perbedaannya? dimana dalam sistem wds tidak membutuhkan lagi kabel. Tetapi kita harus menset kedua access point tersebut dengan channel yang sama, metode enkripsi / keyword yang sama.
oiya, metode wds memiliki kelemahan throughput yang dapat dilalui antar jaringan biasanya hanya setengahnya dari total throughput keseluruhan dikarenakan access point tersebut bekerja 2x (mengirim dan menerima paket apabila ada request dari klien 1 ke klien lain atau ke internet).

dan 1 lagi... koneksi antar client yang terhubung apabila dalam keadaan wds, menggunakan mac address sebagai target tujuan. bukan berdasarkan ip address.




Wednesday, August 8, 2012

cara install openvpn di VPS dengan centos 6.3 agustus 2012

disini saya akan memberi tahu cara untuk menginstall openvpn di centos terbaru yaitu centos 6.3

sebelumnya kita harus mengetahui apa yang dimaksud dengan  epel / extra package untuk linux enterprise.


epel merupakan repository 3rd party yang dapat digunakan oleh centos. Repository ini merupakan repository tidak resmi yang dibuat oleh komunitas /group yang terdiri dari orang2 fedora agar bisa digunakan oleh operating system yg lain selain fedora.Untuk selebihnya bisa dibaca di:

http://fedoraproject.org/wiki/EPEL/FAQ



pertama-tama kita download dulu packet yang dibutuhkan yaitu dengan cara:

 cd /usr/local/src/

wget http://epel.repo.unpas.ac.id//6/x86_64/epel-release-6-7.noarch.rpm  (untuk os 64 bit)


wget http://epel.repo.unpas.ac.id//6/i386/epel-release-6-7.noarch.rpm (untuk os  32 bit)


lalu kita install dengan cara

rpm -Uvh [nama paket]

maksud dari command diatas ,

-vh = menampilkan dimonitor proses instalasi dengan menggunakan tanda pagar # sebagai simbol download.

-U =upgrade uninstall paket lama dan install versi baru. bila tidak ditemukan versi lama maka otomatis rpm melakukan instalasi



karena operating system yg saya gunakan ialah versi 64 bit maka saya jalankan

rpm-Uvh http://epel.repo.unpas.ac.id//6/x86_64/epel-release-6-7.noarch.rpm

tunggu beberapa saat hingga proses instalasi selesai,, lalu lanjutkan dengan mengetikkan

#yum repolist

 (agar repository kita terupdate dan menggunakan repository milik epel)


setelah itu ketik yum install openvpn untuk menginstall openvpn yang terdapat di repository milik epel.


well done.... easy isnt it...


untuk confignya akan dibahas di post saya selanjutnya.




Tuesday, July 31, 2012

Contoh Penulisan Object di dalam bahasa pemrograman php


contoh penulisan object di php

class orang{

var $nama="";
var $jk="";
var $tgllahir="";
var $tptlahir="";


    tampilkan(){
    echo "<br>    nama".this ->nama;
    echo "<br>    nama".this ->jk;
    echo "<br>    nama".this ->tgllahir;
    echo "<br>    nama".this ->tptlahir;
   
    }


}

$orang1 = new orang();

$orang1 -> nama="toro";
$orang1 -> jk="pria";
$orang1 -> tgllahir="1998-12-24";
$orang1 -> tptlahir="jogjakarta";
$orang1 -> tampilkan();


$orang2 = new orang();

$orang2 -> nama="doni";
$orang2 -> jk="wanita";
$orang2 -> tgllahir="1998-11-12";
$orang2 -> tptlahir="makasar";
$orang2 -> tampilkan();

//tinggal tambahin sebanyak apapun**
// function bisa pake kembalian / return





Friday, July 27, 2012

starting building remote desktop application with java

java merupakan bahasa pemrograman yang cukup sering digunakan pada saat ini. Java dikenal dengan pemrogramannya yang cukup handal dalam menangani garbage collector yaitu selalu memproteksi kode2 pemrograman yang sekiranya setelah selesai digunakan lgsung di tangani/ditutup secara khusus sehingga tidak menciptakan memory leak / digunakan oleh orang2 yang tidak berwenang untuk digunakan dalam berbagai hal seperti exploitasi program, mencari data2 berharga yang dapat digunakan untuk menjebol sebuah server, mengirimkan ddos hingga pengambilan alih pc.

java juga dikenal dengan write once run everywhere. jadi kita tidak perlu takut program yang kita jalankan hanya bisa dijalankan di windows saja. compiler java akan mengubah program kita (class) menjadi byte2 yang akan ditranslasikan di masing2 os seperti linux, mac, windows,dll. Sehingga program kita dapat berjalan di mana saja. jadi pengguna dari program kita tidak hanya terbatas 1 vendor saja. that's why nowdays java very popular.  <3


dibawah ini merupakan program yang sedang saya kembangkan untuk membuat remote desktop berbasis java. Untuk langkah awal server hanya bisa menangkap layar desktopnya lalu mengirimnya ke client sehingga dapat dilihat langsung tampilan dekstopnya oleh client.





/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ServerClient;

import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

/**
 *
 * @author admin
 */
public class Server {
    private ServerSocket Server;
    private Socket socket ;
   
    private Rectangle UkuranKotak;
    private BufferedImage image;
    private Robot robot;
   
    private OutputStream out;
   
    //constructor
   
    Server () {
        bikin_server(777);
       Cek_Ukuran_Desktop();
       Capture_Gambar();
       Kirim_Gambar();
       TutupServer();
               
            }
   
   
   
   
    //end of constructor
    public Rectangle Cek_Ukuran_Desktop(){
       
    UkuranKotak = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());   
    
    return UkuranKotak;
       
    }
   
    public void Capture_Gambar(){
        try {
            robot= new Robot();
            image =  robot.createScreenCapture(Cek_Ukuran_Desktop());
        } catch (AWTException ex) {
            Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
        }
       
         }
   
    public void Kirim_Gambar(){
        try {
            out = socket.getOutputStream();      
           
            ImageIO.write(image, "png", out);  //kirim bufferedimage ke client
           
            System.out.println("Sent image!");
           
           
        } catch (IOException ex) {
            System.out.println("eror pada saat mengirim gambar" + ex);
        }
       
       
       
    }
   
   
   
   

   
   
   
   
   
   
   
   
    public void bikin_server(int port){
        try {
            Server = new ServerSocket(port);
            socket = Server.accept();
            System.out.println("server telah dibangun di port :" +port);
            
        } catch (IOException ex) {
            System.out.println("terdapat kesalahan di bagian bikin server ,"+ex);
        }

       
    }
   
    void TutupServer(){
        try {
               
            if(out!=null) out.close();
            if (socket != null)    socket.close();
            System.out.println("selesai mengirim gambar, tutup koneksi");


        } catch (IOException ex) {
            System.out.println("tidak bisa menutup socket" + ex);
                    }
   
   }
   
   
   
   
   
    public static void main(String[]args){
       
        Server jalankan = new Server();
       
       
    }
   
   
   
   
   
   
   
   
}


















/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package image;

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.*;

/**
 *
 * @author admin
 */
public class Client extends JFrame {
   
   
   private Socket socket    =null          ;
   private BufferedImage gambar =null;
   private File out= null;
   private JLabel label1;
  
  
   //constructor
  
  
   public Client(){
   BikinSocketClient("localhost",777);
   DapatkanGambarDariSocket();
   CetakGambarKeFolder();
   // ConvertGambarKeByte();
  
  
   TutupClient();
  
  
  Bikin_Interface();
  
  
  
  
  
   }
  
  
  
  
  
   //end of constructor
  
  
  
  
  public void Bikin_Interface(){
     
       label1 = new JLabel();
   add(label1);
   label1.setIcon(new ImageIcon("c:/berhasilyaaa.png"));
  
  
  
  
  
  
        JScrollPane p = new JScrollPane( label1 );
        getContentPane().add( p );
        setDefaultCloseOperation( EXIT_ON_CLOSE );
        setSize( 300, 300 );

        setVisible( true );
  
     
  }
  
  
  
  public void DapatkanGambarDariSocket(){
        try {
            gambar =ImageIO.read(socket.getInputStream());
           
        } catch (IOException ex) {
            System.out.println("gambar tidak diterima / socket eror"+ex);
        }
       
       
      
  }
  
  
  /* public void ConvertGambarKeByte(){
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(gambar,"png" , baos);
            baos.flush();
            byte[] UkuranImage = baos.toByteArray();
            baos.close();
           
           
        } catch (IOException ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
   }
  
   */
  
  
  
  
  
  
   void CetakGambarKeFolder(){

    
        try {
           
            out = new File("c:/berhasilyaaa.png");
           
            ImageIO.write(gambar,"png",out);
        } catch (IOException ex) {
           System.out.println("gambar tidak ditemukan" + ex);
        }

   }

  
  
  
    void BikinSocketClient(String serverName, int ServerPort){
        try {
            socket = new Socket(serverName,ServerPort);
        } catch (UnknownHostException ex) {
            System.out.println("host tidak ditemukan" + ex);
        } catch (IOException ex) {
            System.out.println ("port eror" + ex);
        }
    }
  
  
    void TutupClient(){

        try {
 
            if (socket != null)    socket.close();
            System.out.println("selesai menerima gambar, tutup koneksi");


        } catch (IOException ex) {
            System.out.println("tidak bisa menutup socket" + ex);
                    }
    }
  
  
   public static void main(String[]args){
      
      Client jalankan = new Client();   
      
   }
  

   
   }













klo mau dijalankan di komputer yang berbeda tinggal edit

BikinSocketClient("localhost",777);    -> arahin ke ip server.






Wednesday, July 18, 2012

java serialization

mungkin kita sering mendengar tentang java serialization.

apakah yang dimaksud dengan java serialization itu?


java serialization adalah mekanisme dimana sebuah objek/file dapat direpresentasikan sebagai sebuah aliran bytes yang didalamnya terdapat informasi tentang  sebuah objek dan tipe data yang ada didalamnya.


secara gamblang,  fungsi serialisasi  disini agar file dapat dibaca oleh stream sehingga kita dapat membuat duplikat objek tersebut dalam sebuah files yang nantinya dapat di restore / dilakukan komputasi lebih lanjut oleh program lanjutan yang ada di pc local maupun network lain (misal : remote desktop)

 atau dimodifikasi untuk dimasukkan kedalam database.





ObjectInputStream dan ObjectOutputStream merupakan stream yang digunakan untuk serialisasi dan de-serialisasi.







public class pelajar implements Serializable
{

//kita buat tipe datanya
private String nama;
private String alamat;
private int nim;

public void cetak()
   {
      System.out.println("saya adalah seorang pelajar dengan " + nama
                           + "alamat " + alamat + "nim" + nim);
   }

}   //end of class pelajar





public class DemoSerialisasi{





                  public static void main(String [] args)
                 {





      pelajar a = new pelajar(); 
 
      a.nama = "toro tero";
      a.alamat = "jogja city";
      a.nim = 07030024;
     


  FileOutputStream fileOut =  new FileOutputStream("pelajar.ser");
         ObjectOutputStream out = new ObjectOutputStream(fileOut); 
 

out.writeObject(e);         //method utama yang dijalankan untuk serialisasi objek
 
                            
 
 
 
 
out.close(); 
fileOut.close();


                 }//end of main

 }  //end of class demoserialisasi





 public class demo de-serialisasi
{

      public static void main(String [] args) {


 pelajar a = null;
 
 
 
FileInputStream fileIn =   new FileInputStream("pelajar.ser");
ObjectInputStream in = new ObjectInputStream(fileIn); 
 
 a = (Employee) in.readObject();     //method utama yang dijalankan untuk de-serialisasi objek
 
 
in.close();
fileIn.close(); 





System.out.println("Deserialized Employee...");
System.out.println("Name: " + a.nama);
System.out.println("Address: " + a.alamat);
System.out.println("SSN: " + a.nim);


                      }  //end of main
 }//end of de-serialization





jika menggunakan FileOutputStream, maka data nantinya akan kita tulis ke sebuah file



          jika menggunakan ByteArrayOutputStream (serialization )maka data ditulis kedalam array (type data byte) didalam memori. nantinya aliran data tersebut dapat digunakan untuk diduplikasi.  misal kita mengirim gambar, lalu kita tampilkan langsung di frame.  (klo yang fileoutputstream kita harus menulis ke sebuah file dulu, baru file tersebut dibaca. klo ini ga perlu. kita menyimpan state dalam bentuk byte jadi bisa dipake untuk input program/class  lain)
 
 
 
 
 
"memahami konsep serialisasi dan deserialisasi object cukup penting apabila kita ingin membuat sebuah aplikasi client server dengan menggunakan socket. "


 

Tuesday, July 10, 2012

sekilas tentang cloud computing

sebelum beranjak lebih lanjud terlebih dahulu kita harus tau makna dari cloud komputing. cloud komputing dapat diartikan menjadi komputasi awan. komputasi dapat diibaratkan sebagai pekerjaan dan awan disini dimaksudkan sebagai jaringan komputer internet public yg terhubung diseluruh dunia ini.

yah kurang lebih klo digabung pekerjaan yg dapat berjalan diatas jaringan komputer yang terhubung melalui internet.

jadi intinya cloud computing merupakan inovasi dari perusahaan buat para pengembang / software developer / perorangan yang pengen membangun sebuah aplikasi / server tanpa perlu membangun infrastruktur / memiliki hardware sendiri di rumahnya. pelanggan cukup memiliki sebuah browser / aplikasi untuk terhubung ke cloud system trs mereka bisa make fasilitas layaknya punya server sendiri. sebenernya kita udah sering menjumpai banyak fasilitas2 ini seperti google docs, google calender, media penyimpanan seperti mediafire, 4*shared bs dimasukkan sebagai kategori cloud computing jg.


kelebihan pake cloud computing:

1.kita ga perlu beli hardware sendiri, ga perlu ngrawat hardware, ga perlu biaya perawatan, ga perlu bayar listrik dll, yg kita butuhkan cuma bayar biaya sewa cloud computing sesuai dengan space yg kita butuhkan. untuk upgrade besar ruang penyimpanan jg cukup mudah ga perlu gonta ganti hardisk. kita tinggal bayar biayanya, mereka yg nyiapin.


2.kita ga perlu bayar biaya lisensi software yg akan kita gunakan. of course u know program seperti microsoft word sblm kita install biasanya minta lisensi. nah dengan cloud computing ini kita ga perlu bayar lisensinya. biasanya dari pihak perusahaan yg bli softwarenya untuk dipasang di server mereka.

3. bisa terhubung dimana saja asal terhubung dengan internet. misal agan pergi kesuatu tempat yg jauh dan lupa membawa laptop + modem. tenang, agan tgl cari warnet terdekat atau pinjem punya temen agan , open browser then voila.. agan bs lgsung ngerjain proyek agan. easy fast and reliable isnt it?

4. program pasti up to date. ga usah takut softwarenya ketinggalan jaman gan... dari pihak server pasti nyediain software yg up to date. lagian klo agan butuh upgrade ini itu, kan udah terhubung ke internet tuh.... tgl set set set set....


Kekurangannya:

1. karena terhubung ke internet jadi koneksi internet ini sendiri yang butuh diperhatikan. cloud computing tidak disarankan apabila agan mempunyai koneksi internet yang lemot kyk sea foot.

2. data agan akan disimpen di server mereka. jadi klo agan pake yg gratisan, sewaktu-waktu data ilang agan ga bs nuntut... ya iyalah kan gratisan getoo... beda sama yg bayar y gan... terjamin.

3. mungkin yg dibawah ane bs bantu nambahin....




nb: nanti cloud computing dibagi lg jadi 2 yaitu kita dapat nyewa infrastructur (nyewa sebuah virtual private server) atau nyewa aplikasi per satuan (kyk aplikasi e-mail , e- scheduler, e- note , e-bookmark , dll).
untuk xcloud sama telkomcloud itu dari perusahaannya aj gan yg nyediain layanannya.

xcloud dari xl klo telkom cloud dari telkom. buat layanannya bisa diliat di web masing2....




sekian dari ane... ada kurang dan lebihnya ane mohon maaf.... terimakasih. semoga bermanfaat,,,


untuk info lebih detailnya anda bisa melihat kemari :  www.cloudsystemcomputing.com. tp bahasa inggris hehe...