Cara Membuat Mail Server di Centos 6 (Postfix, Dovecot dan Squirrelmail)

Salah satu cara membuat mail server di Centos 6 adalah dengan menginstall Postfix, Dovecot dan Squirrelmail. Postfix akan difungsikan untuk mengirim email (Mail Transfer Agent) menggunakan Simple Mail Transfer Protocol (SMTP) dan Dovecot akan digunakan untuk memberikan layanan IMAP dan POP3. IMAP (Internet Mail Access Protocol) dan POP3 (Post Office Protocol) merupakan 2 protokol umum standar internet yang biasa digunakan untuk menerima email atau mengambil email yang tersimpan pada server. Sedangkan Squirrelmail akan digunakan untuk mempermudah dalam mengakses email melalui tampilan web (webmail access).cara membuat mail server di centos, mail server di vps centos, membuat mail server di centos 6 baru, tutorial mail server untuk pemula, belajar membuat mail server sendiri, membuat email domain sendiri di centos 6

Sebenarnya masih banyak aplikasi lain yang dapat anda gunakan untuk memenuhi kebutuhan mail server anda. Sebut saja sendmail, yang merupakan aplikasi Mail Transfer Agent (MTA) bawaan (default) yang biasa digunakan dalam distro Centos dan RedHat. Disamping itu, ada juga aplikasi MTA lain seperti Qmail, Zimbra, Exim, Courier Mail Server, Meldware, ESMTP dan sebagainya. Dari banyaknya program MTA yang ada, saya lebih tertarik untuk menggunakan postfix. Selain karena terkenal lebih aman dan cepat, saya juga lebih terbiasa mengatur konfigurasi postfix daripada aplikasi Mail Transfer Agent lainnya.

Untuk urusan aplikasi IMAP/POP3, selain Dovecot sebenarnya masih ada aplikasi lain yang dapat dipilih seperti Citadel, Bongo, Indimail, Open-Xchange, XMail dan lain sebagainya. Namun demikian, saya lebih terbiasa memakai dovecot, karena aplikasi IMAP dan POP3 open-source yang satu ini terbilang lebih cepat dalam proses instalasinya, lebih mudah mengkonfigurasinya serta lebih dapat menghemat memori (RAM) pada saat menjalankannya.

Adapun untuk webmail access, masih ada aplikasi lain seperti Horde dan RoundCube yang dapat anda pilih untuk diinstall pada server anda. Namun lagi-lagi karena saya lebih menyukai aplikasi-aplikasi yang hemat memori (RAM), tapi bisa dimanfaatkan dengan maksimal, maka pilihan saya jatuh pada squirrelmail. Saya sudah terbiasa menggunakan webmail access yang satu ini untuk berbagai distro linux yang pernah saya gunakan seperti Ubuntu, Debian dan sekarang Centos.

Baiklah, sebelum melakukan proses instalasi dan konfigurasi mail server (postfix, dovecot dan squirrelmail) di VPS Centos anda, beberapa hal berikut ini wajib anda lakukan terlebih dahulu :

  • Membuat A record dan MX record.
    Untuk membuat A record dan MX record, anda bisa gunakan aplikasi bind9, NSD dan lain-lain atau dengan menggunakan DNS hosting pihak ketiga. Saya sendiri menggunakan DNS hosting dari freenom, karena kebetulan domain yang saya gunakan adalah domain gratis dari freenom.
    Disana saya membuat 2 A record yaitu ibeka.ga IN A 185.82.202.21 dan server.ibeka.ga IN A 185.82.202.21. Sedangkan untuk MX record saya buat ibeka.ga IN MX 10 server.ibeka.ga.cara membuat mx record, mx record di freenom, mail exchanger adalah
    Setelah berhasil membuat A record dan MX record, silahkan anda cek terlebih dahulu apakah A record dan MX record yang anda buat sudah aktif atau belum. Anda bisa cek melalui situs mxtoolbox.com.
  • Membuat PTR record.
    Setelah anda hubungkan domain (subdomain) ke IP server (VPS) dengan membuat A record, maka selanjutnya anda juga harus menghubungkan IP server ke domain (subdomain) tersebut dengan membuat PTR (pointer) record. Silahkan anda baca artikel cara menghubungkan IP VPS ke domain untuk mengetahui petunjuk cara membuat PTR record di VPS. Saya sendiri membuat PTR record untuk IP 185.82.202.21 ke subdomain server.ibeka.ga.
    Berikut adalah hasil test mxtoolbox untuk A record, PTR record dan MX record server (VPS) Centos saya :cara cek dns record, cara mengetahui dns record, membuat a record, cara membuat mx record
  • Setting hostname dan FQDN.
    Aturlah terlebih dahulu hostname dan FQDN di centos anda sebelum melakukan instalasi postfix, dovecot dan squirrelmail. Saya sendiri sudah mengatur hostname dan FQDN VPS centos saya ke server.ibeka.ga. Pastikan anda mengatur hostname dan FQDN dengan benar, karena jika tidak, maka mail server anda tidak akan dapat digunakan.
  • Menghapus sendmail
    Sendmail adalah aplikasi MTA default yang biasanya terdapat pada distro Centos dan RedHat. Oleh karena dalam tutorial ini anda akan menggunakan postfix sebagai Mail Transfer Agent (MTA) Centos anda, maka sebaiknya anda buang saja aplikasi sendmail dengan command :

    yum remove sendmail
  • Install LAMP stack
    Linux, Apache, MySQL dan PHP (LAMP) merupakan paket instalasi website dinamis paling banyak digunakan saat ini. LAMP akan digunakan untuk menampilkan halaman squirrelmail di browser. Untuk menginstall paket LAMP, silahkan anda baca artikel cara install LAMP di Centos.
  •  Optional
    • Mungkin anda harus mengatur setting iptables supaya memperkenankan penggunaan port yang akan dipakai oleh postfix dan dovecot (port 25, 110, 143, 993 dan 995). Atau silahkan anda stop service iptables jika anda tidak mau repot. Saya sendiri tidak ada masalah meskipun tidak mengatur atau menghentikan layanan iptables sama sekali.
    • Dalam tutorial ini saya menggunakan editor nano. Jika anda belum install nano editor, silahkan install terlebih dahulu dengan perintah :
      yum install nano
      
      

Berikut ini adalah data skenario lengkap yang saya gunakan dalam tutorial kali ini  :
IP Server : 185.82.202.21
Sistem Operasi : Centos 6 32 bit
A Record : IN A 185.82.202.21 dan server IN A 185.82.202.21
PTR Record : 185.82.202.21 IN PTR server.ibeka.ga
MX Record : IN MX 10 server.ibeka.ga
Hostname : server.ibeka.ga
FQDN : server.ibeka.ga

Cara Install dan Konfigurasi Postfix di Centos 6

  • Install postfix di Centos 6 dengan command :
    yum install postfix

    postfix di vps centos, postfix di centos 6

  • Install paket SMTP AUTH melalui perintah :
    yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain

    cara install smtp di vps centos, smtp di centos 6

  • Proses instalasi postfix dan SMTP AUTH telah selesai. Selanjutnya buatlah Sertifikat SSL dengan menggunakan command dibawah ini satu persatu :
    mkdir /etc/postfix/ssl
    cd /etc/postfix/ssl/

    membuat direktori baru centos, cara menambahkan direktori baru di centos 6. cara membuat folder baru di vps centos

    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

    membuat openssl di centos 6, cara menginstall openssl di vps centos

    chmod 600 smtpd.key
    openssl req -new -key smtpd.key -out smtpd.csr

    fungsi chmod, chmod adalah, mengatur chmod di vps centos, setting chmod centos, chmod 600

    openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

    permintaan sertifikat ssl, membuat file key csr dan crt

    openssl rsa -in smtpd.key -out smtpd.key.unencrypted

    cara mendapatkan ssl gratis, free ssl certificate, membuat sertifikat ssl gratis

    mv -f smtpd.key.unencrypted smtpd.key
    openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365

    membuat ssl smtpd, memindahkan sertifikat ssl smtpd. ssl certificate postfix

  • Buka dan edit file /etc/postfix/main.cf menggunakan nano editor :
    nano /etc/postfix/main.cf

    Lalu temukan kedua baris berikut ini :

    inet_interfaces = localhost #baris ke 116
    mydestination = $myhostname, localhost.$mydomain, localhost #baris ke 164

    Gunakan CTRL+W untuk mempercepat menemukan baris-baris tersebut. Jika sudah ketemu, silahkan berikan tanda pagar (comment) pada awal baris-baris tersebut, sehingga menjadi seperti berikut ini:

    #inet_interfaces = localhost

    cara konfigurasi postfix di centos, konfigurasi postfix di vps centos

    #mydestination = $myhostname, localhost.$mydomain, localhost

    cara setting postfix di vps centos, setting postfix di redhat, cara setting postfix untuk pemula

  • Scroll ke bagian bawah (akhir) file tersebut, lalu tambahkan baris-baris berikut ini :
    myhostname = server.ibeka.ga
    mydomain = ibeka.ga
    myorigin = $mydomain
    home_mailbox = mail/
    mynetworks = 127.0.0.0/8
    inet_interfaces = all
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_type = cyrus
    smtpd_sasl_security_options = noanonymous
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
    smtpd_tls_auth_only = no
    smtp_use_tls = yes
    smtpd_use_tls = yes
    smtp_tls_note_starttls_offer = yes
    smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
    smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
    smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_timeout = 3600s
    tls_random_source = dev:/dev/urandom

    Ganti hostname server.ibeka.ga dan domain ibeka.ga dengan hostname dan domain yang anda gunakan.
    Simpan file tersebut dengan CTRL+X, Y.

  • Buka dan edit file /etc/postfix/master.cf :
    nano /etc/postfix/master.cf

    Hilangkan tanda pagar pada :

    smtps inet n - n - - smtpd

    Dan tambahkan baris berikut dibawahnya :

    -o smtpd_sasl_auth_enable=yes
    -o smtpd_reject_unlisted_sender=yes
    -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
    -o broken_sasl_auth_clients=yes

    cara menggunakan postfix, belajar memakai postfix
    Simpan file hasil editan anda dengan CTRL+X, Y.

  • Jalankan postfix dan saslauthd dengan perintah :
    service postfix start
    service saslauthd start
  • Supaya postfix dan saslauthd dapat beroperasi otomatis setelah restart, maka silahkan berikan perintah :
    chkconfig --level 235 postfix on
    chkconfig --level 235 saslauthd on
  • Silahkan cek koneksi SMTP anda dengan menggunakan telnet localhost 25 dan mengetikkan ehlo localhost seperti berikut ini :
    membuat email postfix centos, menggunakan email postfix di centos 6, cara atur email postfix di vps centos
    Jika anda mendapatkan output seperti diatas, berarti sudah anda sudah bisa menggunakan port 25 untuk mengirim email.

Cara Install dan Konfigurasi Dovecot di Centos 6

  • Install Dovecot di Centos 6 melalui command :
    yum -y install dovecot

    cara install dovecot di centos, cara install aplikasi dovecot di vps centos, dovecot pada centos 6

  • Setelah selesai melakukan instalasi dovecot, silahkan buka file /etc/dovecot/dovecot.conf :
    nano /etc/dovecot/dovecot.conf

    Masukkan baris-baris berikut di akhir file tersebut :

    protocols = imap pop3
    mail_location = maildir:~/mail
    pop3_uidl_format = %08Xu%08Xv

    menambahkan protokol imap di dovecot, memnambahkan protokol pop3 pada dovecot, atur port dovecot, cara setting dovecot di centos
    Simpan dengan CTRL+X, Y seperti biasa.

  • Start dovecot dengan perintah :
     service dovecot start
  • Supaya dovecot dapat berjalan otomatis setelah restart, silahkan berikan perintah :
    chkconfig --level 235 dovecot on
  • Test koneksi protokol POP3 (110) dengan telnet
    telnet localhost 110

    cara cek port pop3, cara cek pop imap, menggunakan telnet di centos, cara memakai telnet di vps centos

Sampai disini sebenarnya anda sudah bisa mengirim dan menerima email, tapi anda tidak bisa mengakses email melalui web browser. Sebagai gantinya anda bisa menggunakan mail client lain yang dapat diinstall di PC anda seperti Outlook Express, Thunderbird, Opera Mail dan sebagainya.

Namun sebelum itu, anda harusnya sudah membuat user baru di VPS anda dengan perintah :

useradd -m erik -s /sbin/nologin

Buat password untuk user tersebut dengan :

passwd erik

cara membuat user baru centos, user email baru centos, membuat alamat email baru di centos
Sekarang anda bisa login di aplikasi email client yang anda gunakan dengan user dan password yang anda buat diatas.

Cara Install Squirrelmail di Centos 6

Supaya anda dapat mengakses email melalui browser layaknya anda mengakses email yahoo, gmail, outlook dan sejenisnya, maka anda harus menginstall webmail access seperti Squirrelmail, Horde, RoundCube dan sebagainya.

Karena keterbatasan waktu, maka dalam artikel ini, saya hanya akan mengupas cara install dan konfigurasi squirrelmail di Centos 6. Untuk webmail access lainnya mungkin saya akan membuatkan artikel khusus di kemudian hari.

Berikut adalah cara install squirrelmail di Centos 6 :

  • Download EPEL repository
    • 32 bit :
      wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    • 64 bit :
      wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  • Install EPEL repository
    • 32 bit :
      rpm -ivh epel-release-6-8.noarch.rpm
    • 64 bit :
      rpm -ivh epel-release-6-8.noarch.rpm
  • Install Squirrelmail
    yum install squirrelmail

    cara install squirrelmail di centos, install squirrelmail di vps centos terbaru

Berikut adalah Cara konfigurasi squirrelmail di Centos 6 :

Berikan command berikut untuk mengkonfigurasi squirrelmail yang sudah berhasil anda install :

perl /usr/share/squirrelmail/config/conf.pl
  • Ketikan 1 kemudian 1 lagi untuk mengganti nama organisasi squirrelmail. Nama organisasi adalah nama yang akan tampil pada halaman login squirrelmail. Jika anda tidak merubahnya, maka nama yang akan muncul adalah squirrelmail. Saya sendiri merubahnya menjadi Ibeka Member Center. Setelah itu ketikan R untuk kembali ke menu utama.cara konfigurasi squirrelmail centos, merubah nama organisasi squirrelmail
  • Masukkan angka 2 lalu angka 1 dan ganti localhost dengan domain yang anda gunakan. Selanjutnya, masukkan angka 3 dan pilih SMTP. Setelah itu, silahkan kembali ke menu utama dengan mengetikkan R.setting smtp di squirrelmail, cara konfigurasi smtp di squirrelmail
  • Masukkan huruf D dan ketikkan dovecot lalu enter.setting dovecot di squirrelmail, atur dovecot squirrelmail terbaru, cara konfigurasi dovecot di squirrelmail
  • Ketik S untuk save dan Q untuk keluar.

Setelah selesai mengkonfigurasi squirrelmail, selanjutnya anda harus menambahkan baris-baris di bawah ini pada file /etc/httpd/conf/httpd.conf.

nano /etc/httpd/conf/httpd.conf

Berikut adalah baris-baris yang harus anda tambahkan di akhir file tersebut :

Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
 Options Indexes FollowSymLinks
 RewriteEngine On
 AllowOverride All
 DirectoryIndex index.php
 Order allow,deny
 Allow from all
</Directory>

Simpan dengan CTRL+X, Y.

setting apache untuk squirrelmail, cara mengatur konfig apache dan squirrelmail, squirrelmail di apache centos, squirrelmail dan httpd
Terakhir, silahkan anda restart layanan apache httpd dengan command :

service httpd restart

Buka browser dan ketikan http://IP/webmail atau http://domain.com/webmail. Seharusnya anda mendapati halaman login squirrelmail.

cara login email squirrelmail, cara login di squirrelmail, masuk ke halaman squirrelmail, tampilan squirrelmail
Untuk login, silahkan anda masukkan user dan password yang sudah anda buat tadi. Anda bisa langsung mencoba mengirim pesan ke user lain di server tersebut atau ke luar server seperti ke akun email dari gmail, yahoo mail, outlook dan sebagainya. Jika email yang anda kirim ke server luar seperti gmail dan yahoo mail tidak bisa anda temukan di kotak masuk (inbox), silahkan coba anda cek di kotak spam.

Supaya anda bisa memastikan bahwa alamat email anda dapat menerima pesan (email) dari luar, silahkan anda balas saja pesan yang anda kirim. Lalu cek di kotak masuk squirrelmail anda, apakah ada atau tidak ada. Jika ada, berarti anda sudah sukses membuat mail server di Centos 6 anda.

cek kotak masuk squirrelmail, test kirim email squirrelmail, test cek email di squirrelmail, menu utama squirrelmail

Leave a Reply

Your email address will not be published. Required fields are marked *