Cara Install Postal pada VPS
0 people liked this article
Pendahuluan
Dalam dunia komunikasi digital, sistem email yang andal dan efisien menjadi kebutuhan penting bagi banyak organisasi. Salah satu platform yang populer untuk mengelola server email adalah Postal, sebuah perangkat lunak sumber terbuka yang dirancang untuk menangani pengiriman email dalam jumlah besar dengan performa tinggi.
Postal menawarkan berbagai fitur unggulan, seperti kemampuan pengelolaan email yang mudah, integrasi API, dukungan untuk email transaksional, serta monitoring yang detail. Dengan menggunakan Postal, Anda dapat membangun server email mandiri yang fleksibel dan hemat biaya.
Artikel ini akan membahas langkah-langkah install Postal di Ubuntu, mulai dari persiapan lingkungan server hingga konfigurasi dasar untuk memastikan Postal berjalan optimal. Panduan ini cocok untuk pemula maupun pengguna berpengalaman yang ingin meningkatkan kemampuan sistem email mereka.
Persiapan
Sebelum melakukan installasi Postal melalui VPS, kita perlu mengetahui System Requirement untuk installasi Postal, berikut untuk minimal system requirement installasi Postal :
- At least 4GB of RAM
- At least 2 CPU cores
- At least 100GB of disk space
Memiliki akses atau privilege sebagai Root dan akses ke server melalui SSH.
Proses Installasi
Setelah sudah melakukan persiapan untuk installasi Postal, kita bisa langsung melakukan Installasi Postal dengan Workaround berikut :
1. Update System
Untuk update system dapat menggunakan command berikut :
# apt update

2. Install Git
Setelah melakukan update system, untuk selanjutnya dapat melakukan installasi Git.
# apt -y install git jq

3. Install Docker dan Docker Compose
Setelah installasi Git, lakukan installasi Docker dan Docker Compose dengan cara berikut :
A. Repository Docker
Tambahkan repository docker untuk installasi nantinya.
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Setelah itu dapat melakukan update system, dengan menggunakan command :
# apt update
B. Install Docker
Setelah menambahkan docker ke repo, kita dapat melakukan installasi docker dengan command berikut :
# apt install docker-ce docker-ce-cli containerd.io

Setelah melakukan installasi docker, kita dapat menambahkan user ke group docker.
# usermod -aG docker $USER
# newgrp docker

Apabila sudah dilakukan installasi docker, kita dapat melakukan pengecekan apakah docker sudah benar terinstall atau belum, dengan menggunakan command berikut :
# docker version

C. Install Docker Composer
Setelah installasi docker, kita dapat melakukan installasi Docker Composer dengan menggunakan command berikut :
# apt install docker-compose

Apabila sudah dilakukan installasi docker compose, kita dapat melakukan pengecekan apakah docker compose sudah benar terinstall atau belum, dengan menggunakan command berikut :
# docker-compose version

4. Install MySQL / MariaDB database server
Pada Postal Mail Server, kita membutuhkan database server untuk menyimpan data dan konfigurasi dari Mail Server, pada Artikel ini kita menggunakan MySQL/Mariadb untuk databasenya, berikut untuk installasi nya :
A. Install mariadb
Untuk installasi mariadb, dapat menggunakan command berikut :
# apt install mariadb-server

B. Install libmysqlclient-dev
Setelah itu lakukan juga installasi libmysqlclient-dev , dengan menggunakan command berikut :
# apt install libmysqlclient-dev

C. Mysql Secure Installation
Setelah melakukan installasi Mysql, kita dapat melakukan konfigurasi MySQL Secure Installation, agar database server lebih aman. Dengan menggunakan command berikut :
# mysql_secure_installation
Dan nantinya akan muncul beberapa pertanyaan untuk konfigurasi MySQL, dan pembuatan password Root untuk akses database, seperti berikut :

D. Membuat Database Postal
Akses database server melalui Localhost dengan Root, seperti berikut :
# mysql -u root -p

Membuat database Postal, dengan command berikut :
# CREATE DATABASE postal CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

Membuat database user, dan berikan akses untuk membuat database, seperti berikut :
# CREATE USER 'postal'@'localhost' IDENTIFIED BY 'StrongPassword';
# GRANT ALL ON postal.* TO 'postal'@'localhost';
*Note : Untuk StrongPassword, silahkan dapat diubah menggunakan password sesuai dengan kebutuhan di sisi Anda.

Postal akan menangani pembuatan database untuk server email Anda, namun Anda perlu memberikan akses untuk melakukan hal ini. Izinkan pengguna postal untuk mengelola semua database yang diawali dengan postal- , seperti berikut :
# GRANT ALL PRIVILEGES ON `postal-%`.* to `postal`@`localhost` IDENTIFIED BY "StrongPassword";
# FLUSH PRIVILEGES;
# QUIT

Verifikasi untuk user Postal yang sudah dibuat sebelumnya, seperti berikut :

5. Install RabbitMQ
Postal menggunakan RabbitMQ untuk queue, untuk installasinya dapat mengikuti Workaround berikut :
A. Install Erlang/OTP
RabbitMQ membutuhkan Erlang untuk diinstal terlebih dahulu sebelum dapat dijalankan. Bahasa pemrograman Erlang dibangun untuk konkurensi, toleransi kesalahan, dan arsitektur aplikasi terdistribusi. OTP (Open Telecom Platform) adalah kumpulan library dan middleware untuk Erlang.
Sebelum melakukan installasi Erlang, dapat menambahkan erlang ke repo terlebih dahulu, seperti berikut :
# apt install curl software-properties-common apt-transport-https lsb-release
# curl -1sLf 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.deb.sh' | sudo -E bash


Setelah itu dapat melakukan update system, dan lakukan installasi Erlang dengan command berikut :
# apt update
# apt install erlang

B. Install RabbitMQ
Sebelum melakukan installasi RabbitMQ, dapat menambahkan RabbitMQ ke repo terlebih dahulu, seperti berikut :
# curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
# apt update

Setelah itu dapat lakukan installasi RabbitMQ
# apt install rabbitmq-server

verifikasi installasi RabbitMQ, seperti berikut :
# systemctl status rabbitmq-server.service

C. Konfigurasi RabbitMQ
Setelah melakukan installasi RabbitMQ, dapat melakukan konfigurasi seperti berikut :
# rabbitmqctl add_vhost postal
# rabbitmqctl add_user postal StrongPassword
# rabbitmqctl set_permissions -p postal postal ".*" ".*" ".*"
*Note : Untuk StrongPassword, silahkan dapat diubah menggunakan password sesuai dengan kebutuhan di sisi Anda.

6. Install dan Konfigurasi Postal
Untuk installasi dan Konfigurasi Postal, dapat mengikuti Workaround berikut :
A. Git Clone Postal
Sebelum melakukan installasi Postal, kita perlu melakukan git clone Postal dari repo github, dengan command berikut :
# git clone https://postalserver.io/start/install /opt/postal/install

Setelah itu dapat membuat symlink untuk Postal Binary
# ln -s /opt/postal/install/bin/postal /usr/bin/postal

B. DNS Record Setup
Untuk DNS Record, silahkan dapat melakukan pointing domain ke IP Pyblic Mail Server, seperti berikut :
B.1. A Record
Untuk A record, dapat melakukan pointing seperti berikut :
Hostname |
Type |
Value |
postal.example.com |
A |
103.x.x.x |
*NOTE : Untuk Hostname dan Value, dapat disesuaikan dengan konfigurasi dan keadaan di Server.
B.2. SPF Record
Untuk SPF record, dapat melakukan pointing seperti berikut :
Hostname |
Type |
Value |
spf.postal.example.com |
TXT |
v=spf1 +mx +a +ip4:103.x.x.x +include:_spf.google.com +include:spf.protection.outlook.com ~all |
*NOTE : Untuk Hostname dan Value, dapat disesuaikan dengan konfigurasi dan keadaan di Server.
B.3. Route Domain
Untuk Route Domain, dapat melakukan pointing seperti berikut :
Hostname |
Type |
Value |
routes.postal.example.com |
MX |
v=spf1 +mx +a +ip4:103.x.x.x +include:_spf.google.com +include:spf.protection.outlook.com ~all |
*NOTE : Untuk Hostname dan Value, dapat disesuaikan dengan konfigurasi dan keadaan di Server.
B.4. Rerturn Path
Untuk Rerturn Path, dapat melakukan pointing seperti berikut :
Hostname |
Type |
Value |
rp.postal.example.com |
A |
103.x.x.x |
rp.postal.example.com |
TXT |
v=spf1 +a +mx +include:spf.postal.example.com ~all |
*NOTE : Untuk Hostname dan Value, dapat disesuaikan dengan konfigurasi dan keadaan di Server.
C. Generate Web Interface
Setelah melakukan pointing DNS Record, lakukan generate Web Interface Postal, menggunakan command berikut :
# postal bootstrap postal.example.com
*NOTE : untuk postal.example.com silahkan dapat menggantinya dengan domain Mail Server yang dimiliki.

Ini akan melakukan generate file di /opt/postal/config , untuk file nya adalah berikut :
- postal.yml is the main postal configuration file
- signing.key is the private key used to sign various things in Postal
- Caddyfile is the configuration for the Caddy webserver
D. Konfigurasi Postal
Untuk konfigurasi Postal, dapat menggunakan command berikut :
# vim /opt/postal/config/postal.yml
Nantinya akan terdapat file konfigurasi seperti berikut :
web:
# The host that the management interface will be available on
host: postal.example.com
# The protocol that requests to the management interface should happen on
protocol: https
main_db:
# Specify the connection details for your MySQL database
host: localhost
username: postal
password: StrongPassword
database: postal
message_db:
# Specify the connection details for your MySQL server that will be house the
# message databases for mail servers.
host: localhost
username: postal
password: StrongPassword
prefix: postal
rabbitmq:
# Specify the connection details for your RabbitMQ server.
host: 127.0.0.1
username: postal
password: StrongPassword
vhost: postal
dns:
# Specifies the DNS record that you have configured. Refer to the documentation at
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
# information about these.
mx_records:
- mx.postal.example.com
smtp_server_hostname: postal.example.com
spf_include: spf.postal.example.com
return_path: rp.postal.example.com
route_domain: routes.postal.example.com
track_domain: track.postal.example.com
smtp:
# Specify an SMTP server that can be used to send messages from the Postal management
# system to users. You can configure this to use a Postal mail server once the
# your installation has been set up.
host: 127.0.0.1
port: 2525
username: # Complete when Postal is running and you can
password: # generate the credentials within the interface.
from_name: Postal
from_address: postal.example.com
Silahkan dapat menyesuiakan untuk konfigurasi Postal dengan credential dan record yang sudah dibuat sebelumnya.
E. Start Postal
Setelah selesai konfigurasi postal, kita perlu initialize database Postal Mail Service, dengan command berikut :
# postal initialize

Kemudian membuat User untuk akses Postal Dashboard nantinya, dengan menggunakan command berikut :
# postal make-user

Setelah membuat User, kita dapat mengaktifkan Postal, dengan command berikut :
# postal start

Nantinya akan running beberapa container, untuk melakukan pengecekan pada Postal yang sudah running, dapat menggunakan command berikut :
# postal status

F. Konfigurasi Caddy Postal
Web Proxy diperlukan untuk semua traffic web dan SSL Termination. Ada banyak pilihan untuk Proxy, yaitu ada Nginx, Apache, HAProxy, dsb. Dalam panduan ini kita akan menggunakan Caddy.
Untuk running Caddy Web Server, kita dapat menggunakan docker, dengan command berikut :
docker run -d \
--name postal-caddy \
--restart always \
--network host \
-v /opt/postal/config/Caddyfile:/etc/caddy/Caddyfile \
-v /opt/postal/caddy-data:/data \
caddy

Untuk melakukan pengecekan apakah sudah Running atau belum, dapat menggunakan command berikut :
# docker ps -a

G. Upgrade Postal
Setelah Anda menginstal Postal, Anda bisa meng-upgrade ke rilis terbaru dengan menggunakan command berikut :
# postal upgrade

7. Akses Postal
Setelah melakukan installasi dan konfigurasi postal, kita dapat mengakses Postal menggunakan domain yang sudah kita pointing sebelumnya, berikut untuk dashboard Postal :

Setelah itu, dapat menggunakan credential User yang sudah dibuat sebelumnya, untuk akses Postal.

Penutup
Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
10 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
3 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
2 people say this guide was helpful
-
Instalasi DNS Server Menggunakan Service Bind di CentOS 7
4 people say this guide was helpful