Monday, May 1, 2017

GET IP,GET NAME, IPToName, Nslookup & Client Server

GET IP
Listing program getIP.java


import java.net.*; public class getIP { public static void main(String args[]) throws Exception { InetAddress host = null; host = InetAddress.getLocalHost(); byte ip[] = host.getAddress(); for (int i=0; i<ip.length; i++) { if (i > 0) { System.out.print("."); } System.out.print(ip[i] & 0xff); } System.out.println(); } }














Logika program getIP.java

Blok program diatas menggunakan library java.net.*; paket ini berisi kelas yang memperbolehkan program berkomunikasi melewati jaringan. Kemudian menggunakan nama getIP sebagai classnya. Selanjutnya di deklarasikan InetAddress host dengan isinya bernilai null dan variabel host menyimpan nilai dari getLocalHost.  Maka ketika program di running maka akan memuncukan Ip Address computer yang kita gunakan.

Output program getIP.java











Get Name
Listing program getName.java


import java.net.*; public class getName { public static void main(String args[]) throws Exception { InetAddress host = null; host = InetAddress.getLocalHost(); System.out.println("Nama komputer Anda: " + host.getHostName()); } }









Logika program getName.java

Blok program diatas menggunakan library java.net.*; paket ini berisi kelas yang memperbolehkan program berkomunikasi melewati jaringan. Kemudian menggunakan nama getName sebagai classnya. Selanjutnya di deklarasikan InetAddress host dengan isinya bernilai null dan variabel host menyimpan nilai dari getLocalHost. Maka ketika program di running maka akan memuncukan host name atau nama computer yang kita gunakan .


Output program getname.java







IPToName
Listing program IPtoName.java


import java.net.*; public class IPtoName { public static void main(String args[]) { if (args.length == 0) { System.out.println("Pemakaian: java IPtoName <IP address>"); System.exit(0); } String host = args[0]; InetAddress address = null; try { address = InetAddress.getByName(host); } catch (UnknownHostException e) { System.out.println("invalid IP - malformed IP"); System.exit(0); } System.out.println(address.getHostName()); } }














Logika program IPtoName.java

Blok program diatas menggunakan library java.net.*; paket ini berisi kelas yang memperbolehkan program berkomunikasi melewati jaringan. Kemudian menggunakan nama IPtoName sebagai classnya. Selanjutnya terdapat kondisi variabel args yang akan mengeksekusi panjang String host jika bernilai 0. Jika kondisi sesuai maka akan mencetak hostname dan ip address computer yang sedang digunakan. Kemudian terdapat try catch untuk mengecek kesalahan. Jika terdapat kesalahan maka akan muncul invalid IP – malformed IP.

Output program IPtoname.java









NsLookup
Listing program NsLookup.java


import java.net.*; public class NsLookup { public static void main(String args[]) { if (args.length == 0) { System.out.println("Pemakaian: java NsLookup <hostname>"); System.exit(0); } String host = args[0]; InetAddress address = null; try { address = InetAddress.getByName(host); } catch(UnknownHostException e) { System.out.println("Unknown host"); System.exit(0); } byte[] ip = address.getAddress(); for (int i=0; i<ip.length; i++) { if (i > 0) System.out.print("."); System.out.print((ip[i]) & 0xff); } System.out.println();
} }






















Logika program NsLookup.java

Blok program diatas menggunakan library java.net.*; paket ini berisi kelas yang memperbolehkan program berkomunikasi melewati jaringan. Kemudian menggunakan nama IPtoName sebagai classnya. Selanjutnya terdapat kondisi variabel args yang akan mengeksekusi panjang String host jika bernilai 0. Jika kondisi sesuai maka akan mencetak ip address computer yang sedang digunakan. Kemudian terdapat try catch untuk mengecek kesalahan. Jika terdapat kesalahan maka akan muncul Unknown host.


Output program NsLookup.java









Client Server
Listing program simpleServer.java


import java.io.*; import java.net.*; public class simpleServer { public final static int TESTPORT = 5000; public static void main(String args[]) { ServerSocket checkServer = null; String line; BufferedReader is = null; DataOutputStream os = null; Socket clientSocket = null; try { checkServer = new ServerSocket(TESTPORT); System.out.println("Aplikasi Server hidup ..."); } catch (IOException e) { System.out.println(e); } try { clientSocket = checkServer.accept(); is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); os = new DataOutputStream(clientSocket.getOutputStream()); } catch (Exception ei) { ei.printStackTrace(); } try { line = is.readLine(); System.out.println("Terima : " + line); if (line.compareTo("salam") == 0) { os.writeBytes("salam juga"); } else { os.writeBytes("Maaf, saya tidak mengerti"); } } catch (IOException e) { System.out.println(e); } try { os.close(); is.close(); clientSocket.close(); } catch (IOException ic) { ic.printStackTrace(); } } }









































Logika program simpleServer.java

Blok program diatas menjelaskan tentang program client dengan mengimport library java. io, java. io merupakan singkatan dari Input Output dan program, selanjutnya mengimport library java. Net.* paket ini berisi kelas yang memperbolehkan program untuk berkomunikasi melalui jaringan pada sisi server. Program ini berfungsi untuk menghidupkan aplikasi servernya, kemudia program ini akan mencari kata-kata ‘salam’ sebagai kata kunci.

Listing proggram simpleClient.java


import java.io.*; import java.net.*; public class simpleClient { public final static int REMOTE_PORT = 5000; public static void main(String args[]) throws Exception { Socket cl = null; BufferedReader is = null; DataOutputStream os = null; BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); String userInput = null; String output = null; // Membuka koneksi ke server pada port REMOTE_PORT try { cl = new Socket(args[0], REMOTE_PORT); is = new BufferedReader(new InputStreamReader(cl.getInputStream())); os = new DataOutputStream(cl.getOutputStream()); } catch(UnknownHostException e1) { System.out.println("Unknown Host: " + e1); } catch (IOException e2) { System.out.println("Erorr io: " + e2); } // Menulis ke server try { System.out.print("Masukkan kata kunci: "); userInput = stdin.readLine(); os.writeBytes(userInput + "\n"); } catch (IOException ex) { System.out.println("Error writing to server..." + ex); } // Menerima tanggapan dari server try { output = is.readLine(); System.out.println("Dari server: " + output); } catch (IOException e) { e.printStackTrace(); } // close input stream, output stream dan koneksi try { is.close(); os.close(); cl.close(); } catch (IOException x) { System.out.println("Error writing...." + x); } } }












































Logika Program simpleClient.java

Blok program diatas menjelaskan tentang program client dengan mengimport library java. io, java. io merupakan singkatan dari Input Output dan program, selanjutnya mengimport library java. Net.* paket ini berisi kelas yang memperbolehkan program untuk berkomunikasi melalui jaringan pada sisi server. Program ini akan jalan jika aplikasi server sudah dijalankan terlebih dahulu. Setelah server sudah jalan maka client bisa mengirim pesan ‘salam’ dan server nanti akan memberikan jawaban salam juga, jika kata kunci yang dimasukkan salah maka server akan memberikan jawaban maaf saya tidak mengerti.

Output program simpleServer.java & simpleClent.java











Baca Selengkapnya >>>

Thursday, December 8, 2016

CLOUD COMPUTING (KOMPUTASI AWAN)


Apa itu Cloud Computing ?

Secara umum, definisi cloud computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.

Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

Berdasarkan jenis layanan-nya, Cloud Computing dibagi menjadi 3 yaitu:
  1. Software as a Service (SaaS)
  2. Platform as a Service (PaaS)
  3. Infrastructure as a Service (IaaS)

Software as a Service (SaaS)

Software as a Service (SaaS) adalah layanan dari Cloud Computing dimana kita tinggal memakai software (perangkat lunak) yang telah disediakan. Kita cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik. Contoh: layanan email publik (Gmail, YahooMail, Hotmail, dsb), social network (Facebook, Twitter, dsb) instant messaging (YahooMessenger, Skype, GTalk, dsb) dan masih banyak lagi yang lain.  Dalam perkembangan-nya, banyak perangkat lunak yang dulu hanya kita bisa nikmati dengan menginstall aplikasi tersebut di komputer kita (on-premise) mulai bisa kita nikmati lewat Cloud Computing. Keuntungan-nya, kita tidak perlu membeli lisensi dan tinggal terkoneksi ke internet untuk memakai-nya. Contoh: Microsoft Office yang sekarang kita bisa nikmati lewat Office 365, Adobe Suite yang bisa kita nikmati lewat Adobe Creative Cloud, dsb.


Platform as a Service (PaaS)

Platform as a Service (PaaS) adalah layanan dari Cloud Computing dimana kita menyewa “rumah” berikut lingkungan-nya (sistem operasi, network, databbase engine, framework aplikasi, dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab dari penyedia layanan. Sebagai analogi, misal-nya kita sewa kamar hotel, kita tinggal tidur di kamar yang sudah kita sewa, tanpa peduli bagaimana “perawatan” dari kamar dan lingkungan-nya. Yang penting, kita bisa nyaman tinggal di kamar itu, jika suatu saat kita dibuat tidak nyaman, tinggal cabut dan pindah ke hotel lain yang lebih bagus layanan-nya. Contoh penyedia layanan PaaS ini adalah: Amazon Web Service, Windows Azure,  bahkan tradisional hosting-pun merupakan contoh dari PaaS. Keuntungan dari PaaS adalah kita sebagai pengembang bisa fokus pada aplikasi yang kita buat, tidak perlu memikirkan operasional dari “rumah” untuk aplikasi yang kita buat.


Infrastructure as a Service (IaaS)

Infrastructure as a Service (IaaS) adalah layanan dari Cloud Computing dimana kita bisa “menyewa” infrastruktur IT (komputasi, storage, memory, network dsb). Kita bisa definisikan berapa besar-nya unit komputasi (CPU), penyimpanan data (storage) , memory (RAM), bandwith, dan konfigurasi lain-nya yang akan kita sewa. Mudah-nya, IaaS ini adalah menyewa komputer virtual yang masih kosong, dimana setelah komputer ini disewa kita bisa menggunakan-nya terserah dari kebutuhan kita. Kita bisa install sistem operasi dan aplikasi apapun diatas-nya. Contoh penyedia layanan IaaS ini adalah: Amazon EC2, Windows Azure (soon), TelkomCloud, BizNetCloud, dsb. Keuntungan dari IaaS ini adalah kita tidak perlu membeli komputer fisik, dan konfigurasi komputer virtual tersebut bisa kita rubah (scale up/scale down) dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban, kita bisa tambahkan CPU, RAM, Storage dsb dengan segera.


Manfaat Cloud Computing 

Berikut adlah manfaat-manfaat dari cloud computing :

1. Semua Data Tersimpan di Server Secara Terpusat

Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.

2. Keamanan Data

Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.

3. Fleksibilitas dan Skalabilitas yang Tinggi

Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.

4. Investasi Jangka Panjang

Penghematan biaya akan pembelian inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.


Penerapan Cloud Computing Dalam Kehidupan Sehari – hari

Penerapan Cloud Computing telah dilakukan oleh beberapa perusahaan IT ternama dunia seperti Google lewat aplikasi Google Drive, IBM lewat Blue Cord Initiative, Microsoft melalui sistem operasi nya yang berbasis Cloud Computing, Windows Azure dsb. Di kancah nasional sendiri penerapan teknologi Cloud juga dapat dilihat melalui penggunaan Point of Sale/program kasir.

Salah satu perusahaan yang mengembangkan produknya berbasis dengan sistem Cloud adalah DealPOS. Metode kerja Point of Sale (POS) ini adalah dengan mendistribusikan data penjualan toko retail yang telah diinput oleh kasir ke pemilik toko retail melalui internet dimanapun pemilik toko berada.  Selain itu, perusahaan telekomunikasi ternama nasional, Telkom juga turut mengembangkan sistem komputasi berbasis Cloud ini melalui Telkom Cloud dengan program Telkom VPS dan Telkom Collaboration yang diarahkan untuk pelanggan UKM (Usaha Kecil-Menengah).


Cara Kerja Sistem Cloud Computing

Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.

Contohnya lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.

Sekian penjelesan mengenai cloud computing semoga bermanfaat ;-) 

sumber :



Baca Selengkapnya >>>

Tuesday, November 8, 2016

SEO (Serch Engine Optimization)




Apa itu SEO ?

Optimisasi Mesin Pencari atau Search Engine Optimization (SEO) adalah sebuah proses untuk mempengaruhi tingkat keterlihatan (visibilitas) sebuah situs web atau sebuah halaman web di hasil pencarian alami (sering disebut juga dengan pencarian tak-berbayar, pencarian non-iklan, atau pencarian organik) dari sebuah mesin pencari. Halaman website yang memiliki ranking yang baik di search engine (google,yahoo,bing,dll) tentunya akan berpeluang untuk mendapatkan lebih banyak visitor potensial terus menerus secara gratis.

Bila kita mengetikkan sebuah kata kunci di halaman pencarian Google, kita akan melihat list website yang berhubungan dengan kata kunci tersebut. Halaman website/ blog yang teroptimasi dengan baik dan berada pada urutan atas (posisi 1 – 4) biasanya akan mendapatkan pengunjung lebih banyak dibandingkan dengan website yang berada di urutan bawah dari hasil pencarian. 



Apa Manfaat SEO Untuk Sebuah Bisnis ?

Semua bisnis pasti harus punya profit, right? Berbagai cara dilakukan pengusaha untuk meningkatkan keuntungan perusahaan mereka, baik dengan melakukan pemasaran offline maupun melalui #internet marketing. Berikut ini adalah beberapa manfaat SEO dalam pemasaran online sebuah bisnis:

1. Mendatangkan Trafik Potensial ke Website Bisnis

Seperti yang disebutkan sebelumnya bahwa halaman website yang teroptimasi dengan baik dari sisi SEO akan mendapatkan peringkat yang baik juga di mesin pencari, misalnya #Google. Semakin baik posisi halaman website Anda di Google maka peluang untuk mendapatkan pengunjung (trafik) potensial akan semakin besar. Pengunjung potensial inilah yang nantinya akan menjadi calon customer bisnis Anda.

2. Meningkatkan Brand Awareness Bisnis Anda

Brand Awareness adalah kemampuan calon pembeli atau konsumen untuk mengenali maupun mengingat sebuah merek. Semakin terkenal sebuah merek pada niche tertentu maka kemungkinan intensitas penjualan juga akan semakin besar. Sebenarnya ada banyak cara untuk meningkatkan Brand Awareness sebuah bisnis. Salah satunya adalah dengan optimasi website di mesin pencari (SEO).

Ketika pengguna internet mencari informasi yang berhubungan niche Anda melalui Google dan menemukan informasi bermanfaat di website Anda maka kemungkinan besar mereka akan mengingat halaman website yang memberikan informasi berharga tersebut, yaitu website Anda. Semakin banyak orang yang membuka website Anda dari mesin pencari maka merek bisnis Anda juga secara otomatis akan semakin terkenal, setidaknya dikalangan para pengguna internet.

3. Mendapatkan Data Customer Anda dengan Gratis

Banyak pengusaha online yang bersedia mengeluarkan banyak uang untuk memasang iklan di berbagai media periklanan dengan tujuan untuk mendapatkan data kontak (email, nomor ponsel, alamat, dan lainnya) calon customer ataupun pelanggan setia bisnis mereka. Apa manfaat data kontak ini? Dengan mengetahui data calon customer maka akan lebih mudah untuk menghubungi mereka ketika kita mengeluarkan produk baru atau ingin memberikan penawaran promosi khusus untuk menjual produk lama. Intinya, kita tetap bisa terhubung dengan customer setiap saat.

Bila website Anda berada pada posisi teratas di mesin pencari maka akan lebih mudah untuk mendapatkan data customer tersebut, dan tentu saja gratis. Tentunya kita membutuhkan layanan lain untuk menyimpan data base customer tersebut, misalnya layanan autoresponder untuk membangun email list customer kita.

Apa Tujuan Utama SEO ?

Tujuan SEO yang utama yaitu berfokus untuk meningkatkan trafik. Dan ini adalah efek netto atau tujuan yang akan tercapai manakala tujuan dasar SEO (meningkatkan ranking) sudah tercapai.

Tujuan SEO yang utama adalah berikut ini:
  • Meningkatkan Volume Trafik Kunjungan Pengguna Internet
  • Supaya sebanyak-banyaknya pengunjung mendatangi situs kita dengan menjadi yang paling banyak diklik (berada di area berwarna merah pada click heatmap yaitu di bagian separuh halaman di atas/upper fold, lebih baik lagi menjadi nomor 1 – 3 di SERP).
  • Meningkatkan Kualitas Trafik Kunjungan Calon Konsumen Produk atau Jasa Anda
  • Sebanyak mungkin pengunjung tersebut adalah pengunjung yang ditargetkan sesuai kata kunci yang akan Anda pilih, sehingga lalu-lintas / trafik pengunjung / kunjungan yang datang memang membutuhkan dan sedang mencari apa-apa yang Anda tawarkan di situs Anda. Hal ini menciptakan trafik kunjungan yang berkualitas ke situs Anda).
  • Mempertahankan Kedua Jenis Trafik di Atas Secara Berkesinambungan
Sebagaimana Anda dipahami, dengan riset kata kunci yang benar dan proses SEO yang baik, peringkat pencarian yang bagus tercapai, maka ketiga tujuan utama SEO di atas akan mudah segera dicapai.

Apa Yang Dilakukan Dalam Kegiatan SEO?

Bila Anda membaca artikel saya sebelumnya, yaitu “200 Faktor yang Mempengaruhi Ranking Website di Google“, mungkin Anda akan muak atau takut mengerjakan kampanye SEO untuk website Anda karena terlihat rumit. Tidak harus seperti itu, mari kita buat lebih sederhana saja. Di dalam strategi SEO, ada dua hal PENTING yang harus dikerjakan oleh seorang internet marketer, yaitu: SEO On Page dan SEO Off Page. Yuk kita bahas lebih jauh.

1. Apa Itu SEO On Page

SEO On Page adalah sebuah upaya optimasi website yang dilakukan dari sisi website itu sendiri. Dengan kata lain, upaya optimasi yang dilakukan oleh seorang pemilik website/ webmaster dengan mendesain website yang SEO Friendly. Beberapa elemen penting yang terdapat dalam SEO On Page antara lain:
  • Riset keywords, baca artikel “Cara Riset Keywords Dengan Google Keyword Planner” untuk menemukan kata kunci utama dan kata kunci pendukung yang paling relevan dengan niche website yang akan dibuat.
  • Membangun website dengan struktur yang baik, tampilannya menarik, dan load-nya cepat
  • Menggunakan Title Tag yang baik untuk homepage dan judul konten
  • Menambahkan description yang relevan dengan website
  • Membangun konten yang bermanfaat bagi audiens
  • Mengatur URL (permalinks) yang SEO Friendly
  • Menggunakan Heading dengan baik (H1, H2, H3, H4)
  • Mengatur navigasi website sebaik mungkin
  • Membangun internal links
  • Menambahkan keywords pada penamaan gambar/ image
  • Dan lain-lain

2. Apa Itu SEO Off Page

SEO Off Page adalah upaya optimasi website yang dilakukan dari luar website yang dibangun. Sebuah halaman website yang SEO On Page nya sudah bagus perlu didukung dengan optimasi dari luar website itu sendiri. Optimasi off page dilakukan dengan cara membangun links (backlinks) dari situs lain menuju website yang dioptimasi. Beberapa jenis links yang biasa dibangun untuk meningkatkan popularitas sebuah website di internet antara lain:
  • Links dari media sosial (Twitter, Facebook, Google+, Youtube, dan lain-lain)
  • Links dari web 2.0 properties (Blogspot, WordPress, Weebly, dan lain-lain)
  • Links dari forum online (Kaskus, Bersosial, Forum Detik, Forum Kompas, dan lain-lain)
  • Links dari situs social bookmark (Lintas.me, Diigo.com, Folkd.com, dan lain-lain)
  • Links dari kegiatan blogwalking (berkomentar di blog orang lain)
  • Links dari website yang menerima guest blogger
  • Dan lain-lain

sumber :

Baca Selengkapnya >>>

Monday, November 7, 2016

MEMBANGUN DNS SERVER & MAIL SEVER DENGAN SQUIRRELMAIL PADA UBUNTU

Apa itu DNS Server ?

DNS merupakan kepanjangan dari domain name system, sebuah system yang berfungsi memetakan alamat hostname atau domain ke alamat ip, begitu juga sebaliknya. DNS merupakan system jaringan client - server, maksudnya ada yang bertindak sebagai server dan bertindak sebagai client. DNS secara default menggunakan protokol udp dan nomer port 53 dengan nama service domain. Program DNS server yang paling banyak di gunakan dalam dunia internet bernama BIND (Berkeley Internet Name Domain) khusus untuk system beroperasi unix dan turunannya seperti bsd, linux, dll.

Apa itu Mail Server ?

Mail Server adalah sebuah sistem yang berfungsi untuk kirim mengirim surat antara client yang satu dengan yang lainnya di jaringan internet. Mail Server juga dikenal sebagai Mail Transfer Agent (MTA) atau Internet Router.

Cara Kerja Mail Server:
Sebelum memahami proses cara kerja mail server sebaiknya anda mengenal terlebih dahulu singkatan-singkatan dari MUA, MTA, MDA dll. Berikut penjelasannya :

  • Mail User Agent (MUA) : MUA adalah komponen yang berinteraksi dengan pengguna akhir secara langsung. Contoh dari MUA yaitu Thunderbird, MS Outlook, Zimbra Desktop. Interface webmail seperti Gmail dan Yahoo juga MUA.
  • Mail Transfer Agent (MTA) : MTA bertanggung jawab untuk mentransfer email dari mail server mengirimkan sampai ke server penerima email. Contoh MTA yaitu sendmail dan postfix.
  • Mail Delivery Agent (MDA) : Dalam surat server tujuan, MTA lokal menerima email masuk dari MTA terpencil. Email tersebut kemudian dikirimkan ke kotak surat pengguna dengan MDA.
  • POP / IMAP : POP dan IMAP adalah protokol yang digunakan untuk mengambil email dari kotak surat penerima server untuk penerima MUA.
  • Mail Exchanger Record (MX) : Record MX adalah entri DNS untuk mail server. Catatan ini menunjuk ke alamat IP ke arah mana email harus ditembak. MX record terendah selalu menang, yaitu, mendapat prioritas tertinggi. Sebagai contoh, MX 10 adalah lebih baik daripada MX 20. Alamat IP dari MX record dapat bervariasi berdasarkan desain dan konfigurasi persyaratan, seperti yang akan dibahas nanti dalam artikel.


Ketika pengirim mengklik tombol kirim, SMTP (MTA) memastikan ujung ke ujung pengiriman email dari pengirim-sisi server ke server tujuan. Setelah mencapai server tujuan, MTA lokal ke server tujuan menerima email, dan di pindahkan ke MDA setempat. MDA kemudian menulis email ke kotak pesan penerima. Ketika penerima memeriksa email, mereka diambil oleh MUA dengan menggunakan protokol seperti POP atau IMAP.

Lankah-langkah Konfigurasi DNS Server & Mail Server

1. Buka terminal dan masuk sebagai root:
   #sudo su

2. Install packet-packet yang diperlukan yaitu, bind9, apache2, postfix, courier-imap, courier-pop, squirrelmail, php5:
   #apt-get install bind9 apache2 postfix courier-imap courier-pop squirrelmail php5
     Jika muncul tulisan seperti berikut :
      
                               
         Pilih Internet Site
         Lalu jika muncul tulisan seperti berikut :       

           
          Masukan domain kalian contoh: ns.arlando.co.id

3. Selanjutnya masuk ke directory bind9:
   #cd /etc/bind/

4. Kemudian masuk ke named.conf.default-zones:   
   #nano named.conf.default-zones

5. copy tulisan ini taruh paling bawah:

                             
     rubah menjadi seperti berikut:
   
   

      Lalu save dengan menekan CTRL+X tekan Y kemudian ENTER

Note: nama file db disesuaikan dengan nama domain dan alamat ip server,  pada db.(ip) dibalik ip nya, dan jangan lupa perhatikan directory file db nya. 

6. Buat file zone copy dari db.local dan db.127:
   #cp db.local db.arlando.co.id
   #cp db.127 db.1.168.192

7. Masuk ke db.arlando.co.id:
   # nano db.arlando.co.id
    Lalu edit seperti berikut:

                             
         Lalu save dengan menekan CTRL+X tekan Y kemudian ENTER

8. Masuk ke db.1.168.192:
   #nano db.1.168.192
    Lalu edit menjadi seperti berikut:

                             
            Lalu save dengan menekan CTRL+X tekan Y kemudian ENTER

9. Restart bind9 nya:
   #/etc/init.d/bind9 restart
    Lalu akan muncul tampilan seperti ini:

                             
10. Mengecek dns nya dengan nslookup
   #nslookup ns.arlando.co.id
      Lalu akan muncul tampilan seperti ini:


     #nslookup mail.arlando.co.id
       Lalu akan muncul tampilan seperti ini:

                             
     #nslookup 192.168.1.107
       Lalu akan muncul tampilan seperti ini:

                               
11. Masuk ke directory postfix
    #cd /etc/postfix/

12. Masuk ke main.cf:
    #nano main.cf
      Lalu edit menjadi seperti berikut:

                             
        Lalu save dengan menekan CTRL+X tekan Y kemudian ENTER

13. Masuk ke /etc/skel/:
   #cd /etc/skel/

14. Buat directory Maildir:
   #maildirmake Maildir

15. Edit squirrelmail-configure:
   #squirrelmail-configure
      Lalu akan muncul tampilan seperti ini:

                             
       Lalu pilih 2
       setelah itu pilih 1

                             
     Setelah itu masukan domain kalian contoh: mail.arlando.co.id
     Lalu pilih A

                             
       Setelah itu pilih 8


        Setelah itu pilih courier
        Setelah itu pilih S (save)

                               
         Lalu pilih Q (quit)



16. Masuk ke directory squirrelmail:
    #cd /etc/squirrelmail/

17. Masuk ke apache.conf:
    #nano apache.conf
      Lalu edit menjadi seperti berikut:

                             
18. include file /etc/squirrelmail/apache.conf ke /etc/apache2/apache2.conf:
    #echo "include /etc/squirrelmail/apache.conf " >> /etc/apache2.conf

19. Restart apache2,postfix,courier-imap,courier-pop:
   #/etc/init.d/apache2 restart
   #/etc/init.d/postfix restart
   #/etc/init.d/courier-imap restart
   #/etc/init.d/courier-pop restart

20. Buat 2 user untuk login ke mail :
    #adduser imas
    #adduser arlando

21. Buka browser lalu ketikan domain kalian contoh: mail.arlando.co.id, harusnya muncul gambar seperti berikut :

                       
                           
22. Lalu kita masuk sebagai immas:

                                           
23. Lalu kita kirim pesan ke arlando:

                             
24. sign out lalu kita login sebagai arlando:

                                             
25. lalu pastikan sudah ada email masuk:

                               
26. Jika sudah seperti itu maka server sudah berjalan

Sekian tutorial DNS Server & Mail Server dari saya semoga bermanfaat :-) .

              







Baca Selengkapnya >>>