/

Om Google

Custom Search

Kamis, 03 Januari 2008

Membuat Mail Server Linux- Onno W. Purbo

Statistik menunjukan bahwa untuk e-mail merupakan aplikasi utama yang sering digunakan oleh pengguna Internet, terutama pengguna veteran bukan pemula. Tentunya dalam sebuah kantor, sekolah, institusi yang mempunyai banyak pengguna akan sangat tidak praktis jika setiap orang harus diberikan komputer & modem untuk mengakses e-mail. Akan lebih sederhana, jika kita bisa membuatkan sebuah e-mail server yang akan mengatur e-mail untuk semua orang, mengambilkan semua mail di Internet, mengirimkan mail ke Internet, maupun mengirimkan e-mail antar pengguna lokal.

Ada beberapa skenario yang dapat dikembangkan dalam memberikan fasilitas e-mail di sebuah sekolah / institusi. Tergantung pada jenis saluran komunikasi yang digunakan, ada yang menggunakan dedicated line (yang tersambung 24 jam), ada yang menggunakan dial-up (yang hanya sewaktu-waktu saja tersambung ke Internet). Lebih mudah urusannya jika anda memiliki dedicated line, akan berbeda & biasa cukup sulit urusannya jika sambungan anda berupa dial-up. Untuk e-mail lokal antar user di server yang sama, proses-nya amat sangat mudah & biasanya dapat beroperasi tanpa perlu banyak di setting.

Selain menset mailserver & software pengambil mail ke pop server di Internet, tentunya ada beberapa hal tambahan yang biasanya perlu di set di server Linux, seperti menambahkan user & memberikan mailbox untuk masing-masing user, menset dial-up ke Internet (untuk sambungan dial-up). Beberapa contoh praktis untuk menset hal tersebut pada Linux Mandrake akan di jelaskan pada tulisan ini.

Sebelum melanjutkan pembahasan teknisnya, ada baiknya kita pelajari teori / konsep cara kerja sebuah mailserver. Dalam proses pengiriman e-mail ada komponen utama yang akan bermain, yaitu:

  • Mail User Agent (MUA), seperti Microsoft Outlook, Kmail, Eudora Mail, pine dll.
  • Mail Transfer Agent (MTA), seperti qmail, sendmail, postfix.
  • Local Delivery Agent (LDA), seperti qmail, sendmail, postfix.

Umumnya MTA & LDA di sediakan di software mailserver yang sama.


Konsep mailserver dengan dedicated line

Pada mailserver yang tersambung ke Internet melalui dedicated line (24 jam), proses yang terjadi menjadi sangat sederhana. Seperti tampak pada gambar, Alice mentik berita yang di tangkap oleh MUA. MUA kemudian akan memanggil MTA untuk mengirimkan e-mail ke MTA di mesin penerima. Setelah mail di terima seluruhnya & diketahui bahwa mail tersebut di tujukan untuk user lokal mail tersebut, MTA di mesin penerima akan memanggil LDA di mesin penerima untuk meletakan e-mail yang dia terima di mailbox Bob di mesin penerima. Sesampainya mail dimailbox Bob, jika Bob mengaktifkan software untuk memberitahukan ada mail masuk (seperti biff) – maka Bob akan memperoleh pemberitahuan bahwa ada mail baru masuk ke mailbox-nya. Bob dapat membaca mail yang masuk menggunakan MUA di komputer Bob.

                   +---------+          +-------+
+-------+  types   | sending |  calls   |sending|  
| Alice |--------->|   MUA   |--------->|  MTA  |::::>::::
+-------+          |         |          |       |       ::   on the
                   +---------+          +-------+       ::   sending
                                                        ::   machine
.......................................................................
                             SMTP                       ::
 ::::::::::::::::::::::::::::<::::::::::::::::::::::::::::
 ::
 ::   +---------+          +-----+                +-------+
 ::   |receiving|  calls   |     |  delivers to   | Bob's |
 ::::>|   MTA   |--------->| LDA |===============>|mailbox|  on the
      |         |          |     |                |       |  receiving
      +---------+          +-----+                +-------+  machine
                                                    |   |
                                                    |   |
                     +----------------<-------------+   |
                     |                                  |
                +---------+         +-------+           |
                |  Bob's  |         | Bob's |<----------+
                | notifier|         |  MUA  |
                +---------+         +-------+
                     |                  |
                     |      +-----+     |
                     +----->| Bob |<----+
                            +-----+


Konsep mailserver pada hubungan dial-up

Untuk hubungan dial-up, kita menyelipkan satu proses antar pengirim & penerima mail yaitu mail server di Internet. Yang pada kenyataannya bisa berupa mail server freemail seperti yahoo.com atau mail server ISP. Hal ini diperlukan agar mail kita dapat di tampung sementara di Internet, selama hubungan dial-up belum dilakukan.

Pada saat hubungan dial-up di lakukan, maka server mail lokal akan menjalankan program untuk mengambil mail di mail server Internet menggunakan protokol POP3 atau IMAP untuk di distribusikan ke mailbox lokal. Biasanya di Linux, kita menggunakan program fetchmail untuk mengambil mail server di Internet. Proses selanjutnya mirip dengan proses yang terjadi pada mailserver lokal yang tersambung ke dedicated line.

                   +---------+          +-------+
+-------+  types   | sending |  calls   |sending|  
| Alice |--------->|   MUA   |--------->|  MTA  |::::>::::
+-------+          |         |          |       |       ::
                   +---------+          +-------+       ::   on the
                                                        ::   sending
                             SMTP                       ::   machine
 ::::::::::::::::::::::::::::<::::::::::::::::::::::::::::
 ::
.::.......................................................................
 ::
 ::   +---------+          +-----+             +-------+
 ::   |receiving|  calls   |     |  delivers   | Bob's |
 ::::>|   MTA   |--------->| LDA |============>|server |::::>::::
      |         |          |     |    to       |mailbox|       ::  on the
      +---------+          +-----+             +-------+       ::   mail
                                                               ::  server
                          POP or IMAP                          ::
 ::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::::::
 ::
.::........................................................................
 ::
 ::                  +-----------+ 
 ::                  |           |
 :::::::>::::::::::::| fetchmail |::::::::               on the
 ::                  |           |      ::              receiving
 ::                  +-----------+      ::               machine,
 ::                                     ::             with fetchmail
 ::   ::::::::::::::::<:::::::::::::::::::
 ::   :: 
 ::   ::   +---------+          +-----+                +-------+
 ::   ::   |receiving|  calls   |     |  delivers to   | Bob's |
 ::   ::::>|   MTA   |--------->| LDA |===============>|mailbox|
 ::        |         |          |     |                |       |
 ::        +---------+          +-----+                +-------+
 ::                                                      |   |
 ::                                                      |   |
 ::                       +----------------<-------------+   |
 ::                       |                                  |
 ::                  +---------+         +-------+           |
 ::                  |  Bob's  |         | Bob's |<----------+
 ::                  | notifier|         |  MUA  |
 ::                  +---------+         +-------+
 ::                       |                  |
.::........................................................................
 ::                   .   |                  |
 ::     without       .   |                  |
 ::    fetchmail      .   |                  |
 ::                   .   |      +-----+     |
 ::   +----------+    .   +----->|     |<----+
 ::   |  Bob's   |    .          | Bob |
 :::::| POP/IMAP |----.--------->|     |
      |   MUA    |    .          +-----+
      +----------+    .

Setup user Linux

Untuk memberikan mailbox untuk setiap orang / user, cara yang paling sederhana dengan menambahkan user di Linux server. Sebagai contoh, program userdrake (start à configuration à userdrake) adalah program utility untuk menambahkan (Add), mengedit (Edit), dan membuang (Delete) user. Jangan lupa jika proses telah di lakukan tekan tombol Save. Jika Save tidak di tekan, proses yang kia lakukan tidak akan terjadi.


Pada saat kita menambakan user di Linux, ada beberapa hal yang perlu di isi seperti, login, nama user (biasanya ada di kolom Comment), dan terakhir password. Kita juga akan memperoleh informasi dimana lokasi directory si user, biasanya ada di bawah directory /home.


Setup mailserver untuk e-mail lokal.

Untuk menerima & mengirimkan e-mail ke user lokal, sebetulnya sebuah mailserver tidak perlu di set apa-apa. Yang di perlukan hanya:

  • Memastikan bahwa ada software mailserver yang di install. Biasanya kalau kita menggunakan Mandrake 8.0 ke atas, software yang di install adalah Postfix yang amat sangat mudah menggunakannya.

  • Check apakah mailserver tersebut sudah langsung jalan di background pada saat booting. Cara mencheck yang paling sederhana adalah dengan melakukan perintah:

$ telnet localhost 25

dengan menggunakan perintah tersebut maka kita akan masuk ke mailserver. Biasanya software Telnet tidak di install pada setting default Mandrake, jadi kita harus memastikan agar telnet terinstall; atau di install melalui software manager.


Setup mailserver untuk mengirim e-mail ke Internet.

Pada Linux Mandrake 8.0 ke atas, yang biasanya menggunakan mailserver postfix. File yang perlu diperhatikan pada saat setup mail server adalah:

/etc/postfix/main.cf

Jika mailserver tersambung ke LAN, dan kita menginginkan aga semua workstation / PC di LAN dapat merelay mail ke Internet melalui mailserver, ada baiknya dibuka ijin untuk merelay dengan cara menulis parameter:

mynetworks = 192.168.0.0/24, 127.0.0.0/8

dengan cara ini, maka semua workstation di LAN dengan IP 192.168.0.x dapat merelay mail ke Internet.

Untuk mensetup agar mailserver dapat langsung mengirim ke Internet tidak sukar. Jika anda menggunakan dedicated line (24 jam), praktis mail server yang anda gunakan hampir tidak perlu di apa-apakan.

Untuk mailserver yang menggunakan hubungan dial-up ke Internet, agar proses pengiriman mail dapat dipercepat, ada baiknya di set parameter relayhost ke SMTP server milik ISP. Sebagai contoh relayhost saya yang menggunakan ISP indo.net.id, adalah:

relayhost = smtp.indo.net.id


Setup fetchmail untuk mengambil e-mail dari Internet.

Langkah paling seru adalah untuk mengambil e-mail dari Internet. Jika anda mempunyai dedicated line, maka anda bisa memiliki domain sendiri & mail akan masuk langsung ke mailserver anda dan di distribusikan ke mailbox lokal oleh LDA tanpa puisng-pusing.

Bila anda menggunakan hubungan dial-up, maka teknik e-mail dengan domain sendiri menjadi lumayan sulit & membuat kepala pusing. Karena anda meminta ISP untuk menjalankan teknik ETRN atau domain forwarding, yang memungkinkan anda untuk mengambil semua mail domain anda dari Internet walaupun menggunakan hubungan dial-up.

Bagi anda yang menggunakan hubungan dial-up, saya sarankan untuk menggunakan mail di yahoo.com atau sebangsa-nya yang memberikan fasilitas POP kepada kita. Memang tidak terlalu wah tampaknya, karena kita tidak mempunyai domain sendiri – tapi tidak apa-apa karena semua komunikasi akan berjalan lancar.

Untuk mem-POP semua mail user di yahoo.com, pada Linux Mandrake 8.0 saya menggunakan program fetchmail yang memungkinkan untuk mem-POP-kan beberapa mailbox sekaligus secara bersamaan.

Yang perlu dilakukan adalah:

  • Buat / edit file /root/.fetchmailrc isikan informasi di bawah ini, untuk masing-masing user-nya, misalnya:

poll pop.mail.yahoo.com protocol pop3

user "ani" password "rahasia_ani" is "ani" here;

poll pop.mail.yahoo.com protocol pop3

user "ayu" password "rahasia_ayu" is "ayu" here;

poll pop.mail.yahoo.com protocol pop3

user "paijo" password "rahasia" is "paijo" here;

poll pop.mail.yahoo.com protocol pop3

user "carox" password "gombal" is "carox” here;

Dengan cara demikian e-mail ani@yahoo.com, ayu@yahoo.com, paijo@yahoo.com dan carox@yahoo.com akan di ambil oleh fetchmail dan akan di simpan di mailbox lokal ani, ayu, paijo dan carox.

  • Agar fetchmail dapat jalan dengan baik, ganti permission .fetchmailrc ke 710 dengan cara:

# chmod 710 .fetchmailrc

  • Pengambilan semua mail tersebut dapat dilakukan dengan mudah, dengan menjalankan perintah:

# fetchmail –v


User di Linux Server membaca e-mail.

Bagi user yang menggunakan workstation Linux & Server Linux, membaca e-mail dapat sangat dimudahkan dengan menggunakan Kmail. Tampilannya akan sangat mirip dengan Microsoft Outlook Express.

Beberapa hal yang perlu di setup dapat dilakukan pada bagian setup / konfigurasi Kmail-nya. Pertama-tama pada bagian identitas, kita dapat memasukan nama, organisasi, e-mail address kita.

Pada bagian network adalah bagian yang cukup penting, di sini kita menset SMTP server mana yang dapat kita gunakan untuk mengirimkan mail. Jika kita tahu hostname atau IP address dari server mail yang kita gunakan untuk mengirimkan mail ke Internet, maka kita dapat mengisikan hostname atau IP address server mail-nya. Dalam contoh, saya masukan server mail-nya adalah localhost.

Incoming mail juga dapat di set apakah akan membaca local mailbox atau mengambil-nya melalui POP server tertentu. Jika kita menggunakan fetchmail untuk mengambil mail semua user, maka kita cukup menset agar mengambil mail lokal saja di Kmail.

Tampilan berikut adalah setting untuk mengambil mail lokal. Praktis tidak ada yang perlu di set, hanya tekan tombol OK saja.

User di Workstation di LAN membaca e-mail.

Bagi workstation Windows yang terkait ke LAN, pembacaan mail dapat dilakukan menggunakan Microsoft Outlook Express (OE). Hati-hati menggunakan Microsoft Outlook Express (OE), karena walaupun mailserver anda Linux, virus akan tetap tembus ke Microsoft Outlook Express (OE). Berbeda jika anda menggunakan Kmail di Linux, kalaupun ada virus yang masuk dia tidak akan bisa jalan.

Untuk menset mail di OE, anda perlu masuk ke Tools à Accounts à Mail. Di situ kita bisa menambah (Add), Remove account mail anda.

Jika anda menambahkan Mail account, pada bagian general kita bisa menset identitas seperti nama, organisasi, e-mail address sangat mirip dengan Kmail.

Pada bagian server, kita bisa menset POP3 (atau IMAP) server mana yang akan di pakai untukn mengambil mail. Disini kita bisa isi hostname atau IP address mesin Linux yang menjalankan mail server lokal tersebut. Dan tidak lupa hostname / IP address dari SMTP server untuk membuang mail ke luar. Untuk mengambil e-mail di POP3 / IMAP server, perlu dimasukan username & password-nya.

Dial Up Connection di Linux

Pada Linux Mandrake yang menjalankan KDE sebagai Window Manager-nya, tersedia KPPP untuk hubungan dial-up ke ISP.

Pada bagian setup kita bisa menset hal yang berkaitan dengan account dial-up di ISP maupun modem yang digunakan.

Pada bagian device configuration, hal yang berkaitan dengan kecepatan, serial port mana yang digunakan apakah ttyS0 (COM1), ttyS1 (COM2), ttyS2 (COM3) atau ttyS3 (COM4).

Pada bagian account, kita bisa menset nomor telepon ISP tempat kita masuk ke Internet.