DIT.web.id

sementara biarlah begini...

Membangun Email Server dan Webmail Sendiri Berbasis Exim, Dovecot serta SquirrelMail

Nov 272010

Salah satu fitur dunia maya yang terkenal dan makin hari makin banyak penggunanya adalah email. Begitu banyaknya pengguna layanan yang satu ini, sampai² provider memberanikan diri memberikannya secara cuma². Sebut saja nama besar seperti Yahoo dan Google yang bersaing ketat memberikan layanan email gratis dengan ukuran kotak surat maksi.

Beberapa dari Anda mungkin mengawali dengan menggunakan jasa layanan mail gratisan, tapi jika kebetulan memiliki server sendiri yang dapat diakses secara global di internet, maka nda ada salahnya untuk memfungsikan server Anda sebagai email server. Setelah itu dilengkapi dengan antarmuka email berbasis situs yang biasa disebut webmail. Melalui artikel ini, saya akan coba sajikan panduan instalasi email server serta SquirrelMail sebagai aplikasi webmail-nya. Jika berminat untuk mencoba, silakan simak lebih lanjut di bawah ini.

undefined 

Intro

Sebelum melangkah ke webmail, terlebih dahulu sebuah server harus difungsikan sebagai email server agar dapat mengirimkan serta menerima email. Karena nantinya pengaksesan email akan dilakukan via situs, tentunya server juga harus difungsikan sebagai web server dan translasi IP address dengan DNS server. Diasumsikan server Anda telah terintegrasi web dan DNS server yang berfungsi dengan baik, jadi bahasan ini dimulai dari email server.

Adapun untuk kebutuhan uji coba ini saya menggunakan sistem operasi Linux CentOS 5.5 64 Bit. Sedangkan untuk email server saya mempercayakan kombinasi Exim dan Dovecot sebagai pelayanan fitur email SMTP, POP3 dan IMAP.

 

Instalasi Email Server

Salah satu keunggulan CentOS adalah kemudahan instalasi aplikasi menggunakan penginstal Yum. Untuk itu, silakan kunjungi konsol server Anda dan ikuti beberapa langkah di bawah ini untuk instalasinya.

  1. Masuklah ke direktori kerja Anda, lalu periksa ketersediaan Exim dan Dovecot di repository yang aktif di server Anda.

    [root@jangkrik xyz]# yum list available | grep exim ; yum list available | grep dovecot
  2. Kedua periksan di atas akan menampilkan beberapa nama aplikasi yang mengandung kata kunci Exim dan Dovecot. Anda bisa saja memilih dan menginstal aplikasi yang dibutuhkan, atau untuk mudahnya langsung instal saja.

    [root@jangkrik xyz]# yum -y install exim ; yum -y install dovecot
  3. Selesai dengan instalasi di atas, berikutnya Anda sudah bisa mengaktifkan kedua daemon-nya agar layanan mail siap digunakan.

    [root@jangkrik xyz]# service exim start
    Starting exim:                                             [  OK  ]
    [root@jangkrik xyz]# service dovecot start
    Starting Dovecot Imap:                                 [  OK  ]
    [root@jangkrik xyz]#
    Catatan : Agar kedua daemon tersebut diaktifkan secara otomatis bersamaan dengan sistem, konfigurasikanlah via chkconfig atau sematkanlah di /etc/rc.local.

Instalasi SquirrelMail

Tiba waktunya untuk mengintegrasikan SquirrelMail di sistem Anda. Agar lebih mudah memahami panduan kali ini, maka SquirrelMail akan disimpan di dalam direktori situs. Untuk itu, silakan beranjak ke /var/www/html atau sembarang lokasi lain dimana DocumentRoot situs Anda berada.

  1. Unduh SquirrelMail ke sistem Anda menggunakan wget yang rilis terbarunya tersedia di URL http://squirrelmail.org/download.php.

    [root@jangkrik html]# wget -c http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.zip
    --2010-11-26 22:50:48--  http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.zip
    Resolving squirrelmail.org... 82.94.230.148
    Connecting to squirrelmail.org|82.94.230.148|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: http://prdownloads.sourceforge.net/squirrelmail/squirrelmail-1.4.21.zip [following]
    --2010-11-26 22:50:49--  http://prdownloads.sourceforge.net/squirrelmail/squirrelmail-1.4.21.zip
    Resolving prdownloads.sourceforge.net... 216.34.181.59
    Connecting to prdownloads.sourceforge.net|216.34.181.59|:80... connected.
    HTTP request sent, awaiting response... 301 Moved Permanently
    Location: http://downloads.sourceforge.net/project/squirrelmail/stable/1.4.21/squirrelmail-1.4.21.zip [following]
    --2010-11-26 22:50:50--  http://downloads.sourceforge.net/project/squirrelmail/stable/1.4.21/squirrelmail-1.4.21.zip
    Resolving downloads.sourceforge.net... 216.34.181.59
    Reusing existing connection to prdownloads.sourceforge.net:80.
    HTTP request sent, awaiting response... 302 Found
    Location: http://voxel.dl.sourceforge.net/project/squirrelmail/stable/1.4.21/squirrelmail-1.4.21.zip [following]
    --2010-11-26 22:50:50--  http://voxel.dl.sourceforge.net/project/squirrelmail/stable/1.4.21/squirrelmail-1.4.21.zip
    Resolving voxel.dl.sourceforge.net... 208.122.62.226
    Connecting to voxel.dl.sourceforge.net|208.122.62.226|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 963064 (940K) [application/zip]
    Saving to: `squirrelmail-1.4.21.zip'
    
    100%[================================================================================================================>] 963,064      955K/s   in 1.0s
    
    2010-11-26 22:50:52 (955 KB/s) - `squirrelmail-1.4.21.zip' saved [963064/963064]
    
    [root@jangkrik html]#
    [*]Bongkar kompresinya, ubah nama direktori hasil ekstraksinya menjadi mail dan masuk ke dalamnya.
    [code]
    [root@jangkrik html]# unzip squirrelmail-1.4.21.zip
    [root@jangkrik html]# mv squirrelmail-1.4.21 mail
    [root@jangkrik html]# cd mail
  2. Picu halaman konfigurasi SquirrelMail.

    [root@jangkrik mail]# ./configure
    
    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Main Menu --
    1.  Organization Preferences
    2.  Server Settings
    3.  Folder Defaults
    4.  General Options
    5.  Themes
    6.  Address Books
    7.  Message of the Day (MOTD)
    8.  Plugins
    9.  Database
    10. Languages
    
    D.  Set pre-defined settings for specific IMAP servers
    
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >>

Konfigurasi Informasi Organisasi SquirrelMail

  1. Dari menu utama konfigurasi SquirrelMail, tekanlah tombol [1] diikuti tombol [Enter] di kibor untuk modifikasi informasi organisasi.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Organization Preferences
    1.  Organization Name      : SquirrelMail
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : SquirrelMail $version
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://squirrelmail.org/
    8.  Provider name          : SquirrelMail
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> 1
  2. Pilihlah opsi [1] untuk mengubah informasi organisasi.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Organization Preferences
    1.  Organization Name      : SquirrelMail
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : SquirrelMail $version
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://squirrelmail.org/
    8.  Provider name          : SquirrelMail
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> 1
    
    We have tried to make the name SquirrelMail as transparent as
    possible.  If you set up an organization name, most places where
    SquirrelMail would take credit will be credited to your organization.
    
    If your Organization Name includes a '$', please precede it with a .
    Other '$' will be considered the beginning of a variable that
    must be defined before the $org_name is printed.
    $version, for example, is included by default, and will print the
    string representing the current SquirrelMail version.
    
    [SquirrelMail]: morat-marit enterprise
  3. Dengan cara serupa, pilihlah opsi [4] untuk mengubah informasi yang nantinya muncul di halaman login webmail.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Organization Preferences
    1.  Organization Name      : morat-marit enterprise
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : SquirrelMail $version
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://squirrelmail.org/
    8.  Provider name          : SquirrelMail
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> 4
    
    A title is what is displayed at the top of the browser window in
    the titlebar.  Usually this will end up looking something like:
    "Netscape: SquirrelMail $version"
    
    If your Organization Title includes a '$', please precede it with a .
    Other '$' will be considered the beginning of a variable that
    must be defined before the $org_title is printed.
    $version, for example, is included by default, and will print the
    string representing the current SquirrelMail version.
    
    [SquirrelMail $version]: ditMail $version
  4. Opsi [2] dan [3] untuk modifikasi logo dan menentukan dimensi file gambarnya yang nanti akan muncul di halaman login webmail. Jika dibutuhkan, silakan ubah opsi² lainnya sesuai dengan kebutuhan Anda.
  5. Selesai dengan konfigurasi, tekanlah tombol [s] diikuti tombol [Enter] untuk menyimpan modifikasi yang telah dilakukan. Setelah itu tekan tombol [r] diikuti [Enter] untuk kembali ke menu utama konfigurasi SquirrelMail dan melakukan modifikasi lainnya.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Organization Preferences
    1.  Organization Name      : morat-marit enterprise
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : ditMail $version
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://squirrelmail.org/
    8.  Provider name          : SquirrelMail
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> s
    
    Data saved in config.php
    Press enter to continue...

Konfigurasi Server SquirrelMail

  1. Pilihlah opsi [2] untuk mengubah konfigurasi server.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Server Settings
    
    General
    -------
    1.  Domain                 : example.com
    2.  Invert Time            : false
    3.  Sendmail or SMTP       : SMTP
    
    A.  Update IMAP Settings   : localhost:143 (other)
    B.  Update SMTP Settings   : localhost:25
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> 
  2. Pilih opsi [1] untuk mengisikan nama domain Anda.

    SquirrelMail Configuration : Read: config_default.php (1.4.0)
    ---------------------------------------------------------
    Server Settings
    
    General
    -------
    1.  Domain                 : example.com
    2.  Invert Time            : false
    3.  Sendmail or SMTP       : SMTP
    
    A.  Update IMAP Settings   : localhost:143 (other)
    B.  Update SMTP Settings   : localhost:25
    
    R   Return to Main Menu
    C   Turn color on
    S   Save data
    Q   Quit
    
    Command >> 1
    
    The domain name is the suffix at the end of all email addresses.  If
    for example, your email address is jdoe@example.com, then your domain
    would be example.com.
    
    [example.com]: dit.web.id
  3. Selesai dengan konfigurasi, tekanlah tombol [s] diikuti tombol [Enter] untuk menyimpan modifikasi yang telah dilakukan. Setelah itu tekan tombol [r] diikuti [Enter] untuk kembali ke menu utama konfigurasi SquirrelMail dan melakukan modifikasi lainnya.

 

Konfigurasi Server IMAP SquirrelMail

  1. Pilihlah opsi [d] untuk menentukan server IMAP yang digunakan.

    SquirrelMail Configuration : Read: config_default.php
    ---------------------------------------------------------
    While we have been building SquirrelMail, we have discovered some
    preferences that work better with some servers that don't work so
    well with others.  If you select your IMAP server, this option will
    set some pre-defined settings for that server.
    
    Please note that you will still need to go through and make sure
    everything is correct.  This does not change everything.  There are
    only a few settings that this will change.
    
    Please select your IMAP server:
        bincimap    = Binc IMAP server
        courier     = Courier IMAP server
        cyrus       = Cyrus IMAP server
        dovecot     = Dovecot Secure IMAP server
        exchange    = Microsoft Exchange IMAP server
        hmailserver = hMailServer
        macosx      = Mac OS X Mailserver
        mercury32   = Mercury/32
        uw          = University of Washington's IMAP server
        gmail       = IMAP access to Google mail (Gmail) accounts
    
        quit        = Do not change anything
    Command >>
  2. Sesuai dengan contoh kasus kali ini, pilihlah Dovecot sebagai server IMAP dengan cara mengetikkan dovecot diikuti tombol [Enter].

    SquirrelMail Configuration : Read: config_default.php
    ---------------------------------------------------------
    While we have been building SquirrelMail, we have discovered some
    preferences that work better with some servers that don't work so
    well with others.  If you select your IMAP server, this option will
    set some pre-defined settings for that server.
    
    Please note that you will still need to go through and make sure
    everything is correct.  This does not change everything.  There are
    only a few settings that this will change.
    
    Please select your IMAP server:
        bincimap    = Binc IMAP server
        courier     = Courier IMAP server
        cyrus       = Cyrus IMAP server
        dovecot     = Dovecot Secure IMAP server
        exchange    = Microsoft Exchange IMAP server
        hmailserver = hMailServer
        macosx      = Mac OS X Mailserver
        mercury32   = Mercury/32
        uw          = University of Washington's IMAP server
        gmail       = IMAP access to Google mail (Gmail) accounts
    
        quit        = Do not change anything
    Command >> dovecot
    
                  imap_server_type = dovecot
             default_folder_prefix = <none>
                      trash_folder = Trash
                       sent_folder = Sent
                      draft_folder = Drafts
                show_prefix_option = false
              default_sub_of_inbox = false
    show_contain_subfolders_option = false
                optional_delimiter = detect
                     delete_folder = false
    
    Press any key to continue...
  3. Tekan sembarang tombol setelahnya untuk kembali ke menu utama konfigurasi SquirrelMail.

 

Menyimpan, Menyudahi & Menguji Konfigurasi SquirrelMail

Selesai dengan semua konfigurasi dasar di atas, tekanlah kembali tombol [s] diikuti [Enter] untuk menyimpan semua modifikasi ke dalam file konfigurasi SquirrelMail.

SquirrelMail Configuration : Read: config_default.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> s

Data saved in config.php
Press enter to continue...

Tekan tombol [q] untuk menyudahi dan keluar dari menu konfigurasi SquirrelMail.

SquirrelMail Configuration : Read: config_default.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> q

Exiting conf.pl.
You might want to test your configuration by browsing to
http://your-squirrelmail-location/src/configtest.php
Happy SquirrelMailing!

[root@jangkrik mail]#

Ujilah modifikasi konfigurasi yang telah dilakukan melalui sembarang browser kegemaran Anda. Akseslah format URL http://domain.apa/mail/src/configtest.php agar halaman penguji SquirrelMail ditampilkan. Pastikan tidak ada konfigurasi yang salah yang contohnya seperti di bawah ini.

SquirrelMail configtest

This script will try to check some aspects of your SquirrelMail configuration and point you to errors whereever it can find them. You need to go run conf.pl in the config/ directory first before you run this script.

SquirrelMail version:	1.4.21
Config file version:	1.4.0
Config file last modified:	26 November 2010 09:14:11
Checking PHP configuration...
    PHP version 5.2.10 OK.
    Running as apache(48) / apache(48)
    display_errors:
    error_reporting: 6143
    variables_order OK: EGPCS.
    PHP extensions OK. Dynamic loading is enabled.
Checking paths...
    Data dir OK.
    Attachment dir OK.
    Plugins are not enabled in config.
    Themes OK.
    Default language OK.
    Base URL detected as: http://dit.web.id/mail/src (location base autodetected)
Checking outgoing mail service....
    SMTP server OK (220 jangkrik.dit.web.id ESMTP Sendmail 8.13.8/8.13.8; Fri, 26 Nov 2010 23:37:30 +0300)
Checking IMAP service....
    IMAP server ready (* OK Dovecot ready.)
    Capabilities: * CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS AUTH=PLAIN
Checking internationalization (i18n) settings...
     gettext - Gettext functions are available. On some systems you must have appropriate system locales compiled.
     mbstring - Mbstring functions are available.
     recode - Recode functions are unavailable.
     iconv - Iconv functions are available.
     timezone - Webmail users can change their time zone settings.
Checking database functions...
    not using database functionality.

Congratulations, your SquirrelMail setup looks fine to me!

Login now

 

Pembuatan Akun Email

Setelah menempuh semua tahapan di atas, kini tiba waktunya untuk membuat akun email percobaan yang nantinya digunakan untuk login di webmail.

  1. Masih dari konsol server, buatlah sembarang user. Sebagai contoh, nama akun yang dibuat adalah surat.

    [root@jangkrik mail]# useradd surat
  2. Tentukan juga kata sandi untuk user surat.

    [root@jangkrik mail]# passwd surat
    Changing password for user surat.
    New UNIX password:
    BAD PASSWORD: it is based on a dictionary word
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    [root@jangkrik mail]# 
  3. Pembuatan akun email percobaan sudah selesai dan akun tersebut siap dipakai di webmail.

 

Pengaksesan Akun Email Via Webmail

Sampailah ditahap pamungkas bahasan kali ini, yaitu menuai hasilnya. Beranjaklah ke browser kesayangan Anda, lalu akses format URL http://domain.apa/mail agar halaman validasi akun webmail ditampilkan. Tidak berselang lama, Anda akan disuguhkan antarmuka webmail standar ala SquirrelMail. Lakukan validasi akunnya dengan cara mengisikan surat sebagai username diikuti kata sandi yang telah ditentukan sebelumnya.

Semua fitur email sudah tersedia dan siap dipakai. Kliklah [Compose] untuk pembuatan dan pengiriman email baru. Opsi [Check mail] digunakan untuk memperbaharui tampilan webmail dan menampilkan informasi jika ada email baru yang masuk ke kotak surat Anda. Gunakan opsi lainnya layaknya Anda menggunakan layanan mail gratisan yang selama ini dipakai. Untuk menyudahi penggunaan webmail, kliklah opsi [Sign Out] di pojok kanan-atas.

 

Outro

Sudah cukup lama saya menggandeng SquirrelMail sebagai aplikasi terpilih untuk urusan webmail. Disamping lisensi gratis, aplikasi ini juga menyediakan berbagai macam asupan yang juga dengan mudah dapat diintegrasikan. Akseslah URL http://squirrelmail.org/plugins.php untuk melihat serta mengunduh sembarang asupan yang diinginkan agar webmail Anda makin kaya fitur.

Nah, setelah membaca, mempelajari dan menerapkan artikel kali ini tentunya sekarang Anda dapat memahami instalasi webmail serta berbagai konfigurasi yang dibutuhkan. Ternyata nda susah² amat kan setelah mencobanya langsung? Sekarang server Anda lebih diperkaya lagi dengan layanan email yang dapat diakses kapanpun dan dimanapun melalui webmail. Selamat mencoba.

There are no published comments.

New comment

Atom

morat-marit enterprise - since 2004