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).
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.
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 : - 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
- Install paket SMTP AUTH melalui perintah :
yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain
- 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/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365
- 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
#mydestination = $myhostname, localhost.$mydomain, localhost
- 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
- 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 :
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
- 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
- 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
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
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
- 32 bit :
- Install EPEL repository
- 32 bit :
rpm -ivh epel-release-6-8.noarch.rpm
- 64 bit :
rpm -ivh epel-release-6-8.noarch.rpm
- 32 bit :
- Install Squirrelmail
yum install squirrelmail
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.
- 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.
- Masukkan huruf D dan ketikkan dovecot lalu enter.
- 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.
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.
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.