Skip to content

Install Kong Server dan Konga UI ​

Step by step install Kong Server sebagai API Gateway dan menggunakan Admin dashboard Konga.

Outline dan Spesifikasi Server ​

  • Siapkan Database Postgre
  • Install Kong Server
  • Install Konga Web UI

Kebutuhan server

  • 1 x VM CentOS 7 untuk Kong Server
  • 1 x Docker host untuk container Postgre dan Konga UI

Siapkan Database Postgre ​

Untuk database bisa install atau pakai yang sudah ada. Butuh 2 database untuk Kong Server dan Konga Web UI. Pada tutorial ini, saya gunakan database Postgre yang di build di Container Docker.

1. Buat volume di docker ​

shell
docker volume create postgres_kong

2. Run container postgre ​

Berikut adalah keterangan dari database yang dibuat :

Keterangan mengenai container yang akan dibuat

Nama Container = postgres_kong
User database = kongdb
Port database = 54321
Password database = thisissecret
Host database = 10.10.10.131

shell
docker run -d \
    -e POSTGRES_PASSWORD=thisissecret \
    -e POSTGRES_USER=kongdb \
    -p 54321:5432 \
    -v postgres_kong:/var/lib/postgresql/data \
    -v ${PWD}/initdb:/docker-entrypoint-initdb.d \
    --name postgres_kong postgres

3. Buat database untuk Kong dan Konga UI ​

  • Masuk di container-nya dulu docker exec -it postgres_kong bash
  • Masuk ke db admin-nya psql -h localhost -p 5432 -U kongdb
  • Buat 2 database postgres_kong dan postgres_konga :
sql
CREATE DATABASE postgres_kong OWNER kongdb;
CREATE DATABASE postgres_konga OWNER kongdb;

Beberapa command line postgre yang digunakan :

  • Show database \l
  • Show user \du
  • Create user CREATE USER namauser SUPERUSER CREATEDB;

Referensi


Install Kong Server ​

Install Kong server dapat dilakukan dengan berbagai cara, seperti docker atau langsung di baremetal. Panduan ada di web dokumentasinya. Berikut tutorial install Kong server di CentOS.

1. Installing ​

shell
curl -Lo kong-3.2.1.rpm $(rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/Packages/k/kong-3.2.1.rhel%{rhel}.amd64.rpm")
shell
rpm -iv kong-3.2.1.rpm

atau

shell
yum install kong-3.2.1.rpm

Alternatif install

shell
curl $(rpm --eval "https://download.konghq.com/gateway-3.x-rhel-%{rhel}/config.repo") | sudo tee /etc/yum.repos.d/kong.repo
shell
yum install kong-3.2.1

2. Konfigurasi Kong Server ​

Konfigurasi ditujukan untuk kong server yang menggunakan database Postgre, selain itu ada juga yang menggunakan .yml (databaseless). Setelah install, konfigurasi file kong.conf.

shell
nano /etc/kong/kong.conf

Konfigurasi Database :

database = postgres
pg_host = 10.10.10.131
pg_port = 54321
pg_user = kongdb
pg_password = thisissecret
pg_database = postgres_kong

Enable Admin Listen untuk menghubungkan kong server dan konga (Web UI) nya. Perlu diperhatikan bahwa IP dan Port berikut tidak boleh di-publish di public.

admin_listen = 10.11.2.158:8001 reuseport backlog=16384, 10.11.2.158:8444 http2 ssl reuseport backlog=16384

Enable SSL

ssl_cert = /etc/ssl/certs/kong.crt
ssl_cert_key = /etc/ssl/certs/kong.key

Untuk mengaktifkan dashboard bawaan Kong di file kong.conf

Untuk alasan keamanan, disable saja baris berikut

shell
admin_gui_url = http://localhost:8002
admin_gui_listen = 0.0.0.0:8002, 0.0.0.0:8445 ssl

Setup Kong agar connect ke database

kong migrations bootstrap -c /etc/kong/kong.conf

Start Kong server

kong start -c /etc/kong/kong.conf

3. Test Kong Server ​

Akses browser ke alamat ip kong server di http://localhost:8001 atau melalui curl

curl localhost:8001

Untuk mengakses Kong Manager di http://localhost:8002Kong Manager

Referensi


Install Web UI Konga ​

shell
docker run -d -p 13372:1337 -e "TOKEN_SECRET=somerandomstring" -e "NODE_ENV=production" -v /etc/localtime:/etc/localtime:ro --restart=always -h konga-dev --name konga pantsel/konga

Kalau perintah yang ada di dokumentasi seperti dibawah ini :

shell
docker run -p 13371:1337 -e "TOKEN_SECRET=somerandomstring" -e "NODE_ENV=production" --name konga pantsel/konga

Referensi

Built with VitePress