Sebelumnya sudah saya jelaskan cara install mail server pada CentOS 7, nah sekarang saya akan berbagi hal tentang cara menggunakan webmail pada mail server yang sudah dibuat pada posingan saya sebelumnya.
Penggunaan webmail ini penting juga karena untuk memudahkan user dalam bertransaksi emailnya secara mudah karena disediakan secara grafik (GUI). Pada kali ini saya akan menggunakan SnappyMail.
Apa itu SnappyMail ?
SnappyMail merupakan salah satu webmail client yang simpel, modern, ringat dan cepat juga. SnappyMail hasil upgrade dari webmail RainLoop. Kenapa dikatakan mudah ? Karena menggunakannya tidak perlu membuat database terlebih dahulu seperti halnya RainLoop dan RoundCube.
Langsung saja berikut penjelasan instalasi dan konfigurasinya :
Persyaratan :
a. SnappyMail membutuhkan PHP 7.4 atau versi diatasnya dengan ekstensi berikut ini :
- mbstring
- Zlib
- json
- libxml
- dom
Ekstensi PHP opsional :
- cURL
- exif
- gd
- gnupg
- iconv
- intl
- ldap
- openssl
- PDO
- redis
- Sodium
- Tidy
- uuid
- xxte
- zip
Jika Anda belum install PHP 7.4 bisa melihatnya pada post saya sebelumnya yakni Install LEMPP pada CentOs 7.
b. Pointing webmail ke IP server Anda
Karena aksesnya nanti kita menggunakan webmail. maka silakan pointing record A untuk webmail ke IP server Anda.
Instalasi
- Download SnappyMail nya terlebih dahulu pada link berikut.
- Lalu ekstrak file tersebut dan pindahkan ke folder /var/www/html/snappymail. Jika belum membuat folder snappymail, buat terlebih dahulu dengan perintah
sudo mkdir /var/www/html/snappymail
sudo unzip snappymail-2.16.1.zip -d /var/www/html/snappymail
- Kemudian set owner dan permission pada folder snappymail :
sudo find /var/www/html/snappymail -type d -exec chmod 755 {} \; sudo find /var/www/html/snappymail -type f -exec chmod 644 {} \; sudo chown -R nginx:nginx /var/www/html/snappymail
Ket :
- Maksud dari
-type d -exec chmod 755
adalah tipe direktori dengan permission 755 secara rekursif- Maksud dari
-type f -exec chmod 644
adalah tipe file dengan permission 644 secara rekursif
Untuk metode instalasi SnappyMail ini cukup beragam dilihat dari referensi officialnya mulai dari instruksi secara general, menggunakan debian/devuan, konfigurasi web server bahkan opsi upgrade dari RainLoop.
Nah karena saya sudah install LEMPP Stack maka metode instalasi yang saya bagikan disini adalah menggunakan konfigurasi web server yaitu Nginx.
- Gunakan certbot untuk install sertifikat SSL webmail Anda.
sudo certbot --nginx -d webmail.example.id
Ket :
Ganti webmail.example.id dengan domain Anda (contoh : webmail.nuya.my.id)
Jika instalasi sudah selesai, maka file private key (privkey.pem) dan certificate (fullchain.pem) akan disimpan pada folder /etc/letsencrypt/live/$domain
.
- Pastikan service nginx Anda berstatus running dan kemudian buat konfigurasi server block untuk SnappyMail Anda dengan perintah :
sudo vim /etc/nginx/conf.d/snappy.conf
dan paste file berikut ini :
###
# Redirect insecure HTTP to the more secure HTTPS
server {
server_name webmail.nuya.my.id;
return 301 https://$host$request_uri;
}
###
# Actual domain configuration
server {
# TLS for the win!
listen 443 ssl http2;
# Domain name
server_name webmail.nuya.my.id;
# SSL configuration
ssl_certificate /etc/letsencrypt/live/webmail.nuya.my.id/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/webmail.nuya.my.id/privkey.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:AES-256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM";
ssl_ecdh_curve secp521r1:secp384r1;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_prefer_server_ciphers on;
# Security headers
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Robots-Tag "none" always;
add_header X-Download-Options "noopen" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header Referrer-Policy "no-referrer" always;
add_header X-Frame-Options "SAMEORIGIN" always;
fastcgi_hide_header X-Powered-By;
###
# GZIP / compression settings
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application
/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
###
# Define the document root
root /var/www/html/snappymail;
index index.php;
client_max_body_size 50M;
# Forbid access to dotfiles
location ~ (^|/)\. {
return 403;
}
# The actual root location
location / {
try_files $uri $uri/ /index.php?$args;
}
# Last but not least, the PHP-FPM settings
location ~* \.php$ {
fastcgi_pass unix:/run/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Ket :
Ganti webmail.example.id dengan domain Anda (contoh : webmail.nuya.my.id)
Pastikan Anda membuat socket pada php-fpm juga seperti/run/php-fpm.sock
Trending
-
Lalu silakan restart service nginx Anda.
sudo systemctl restart nginx
-
Buka webmail Anda dan lakukan beberapa konfigurasi mail server. Namun Anda perlu login sebagai admin terlebih dahulu, caranya akses di browser dengan url berikut ini :
https://webmail.example.id/?admin
Login : admin
Password : Isi password pada file .txt
Untuk password silakan membuka pada file /var/www/html/snappymail/data/_data_/_default_/admin_password.txt
Jika Anda terdapat kendala pada saat membuka webmail, silakan akses menggunakan private browser untuk menghindari adanya cache/cookies.
Apabila berhasil maka akan login ke menu dashboardnya dan saran saya ubah terlebih dahulu password default dari admin tersebut.
- Lakukan konfigurasi domain dengan cara pergi ke menu Domains dan tambahkan domain yang sudah Anda buat pada konfigurasi mail server sebelumnya.
Kemudian klik Add Domain dan isi form berikut ini :
Server IMAP : mail.example.id
Secure IMAP : SSL/TLS
Port IMAP : 993Server SMTP : mail.example.id
Secure SMTP : STARTTLS
Port SMTP : 587
Lalu klik Test.
Jika berhasil maka akan muncul warna hijau seperti gambar berikut ini :
Untuk konfigurasi webmail secara sederhana sudah cukup sampai disini, saatnya sekarang kita akan coba test pengiriman dan penerimaan emailnya.
Uji Coba
Akses webmail Anda dengan user biasa dan login menggunakan user/akun email yang sudah dibuat sebelumnya :
https://webmail.example.id/
Disini saya akan mengilustrasikan pengiriman dan penerimaan email menggunakan akun test3 dan test4 yang sudah saya buat sebelumnya.
- Pengiriman email dari user test3 ke user test4
- User test4 melihat inbox dan membalas email ke user test3
Dan pengujian pengiriman dan penerimaan email berhasil/sukses berikut capturenya :
Kirim email dengan user3
Log mail :
Pengecekan email dari sisi user4 :
User4 membalas email dari user3 :
Itulah cara install dan konfigurasi webmail SnappyMail pada CentOS 7 dengan konfigurasi web server Nginx. Secara garis besar harusnya sama dengan web server Apache. Dari referensinya sudah detail dan dicantumkan juga konfigurasi virtualhostnya.
Dari tampilann SnappyMail ini sudah modern ya menurut saya dan memang mirip dengan RainLoop, semoga bisa membuat Anda lebih nyaman dalam bertransaksi email ya.
Referensi :
SnappyMail
Semoga bermanfaat !