Setup Domain Name Server(Linux-Bind-DNS) untuk perusahaan ISP di Jawa Tengah

Saya dikontak adik nya teman saya yang pernah saya buatin Warnet tahun 2000 an di Pekalongan. Sekarang mereka merintis usaha Internet Service Provider di Batang, Jawa Tengah dimana masih proses Uji Laik Operasi (ULO) ke Kominfo.

Singkat cerita saya bantu remote ke server IBM yang sudah mereka siapkan dengan sistem operasi Linux Ubuntu 20.04.5 LTS jadi ada 2 DNS Server pertama untuk Primary dan Secondary.

Untuk ini yang reliable dan pernah saya setup di perusahaan ISP tempat saya bekerja tahun 2006 memakai BIND 9 Internet Systems Consortium.

-Setup Linux Bind 9 Round Robin (nameserver primary dan secondary).

-Setup Bind RPZ Domain Name Service Response Policy Zones (Trustpositif Kominfo).

-Linux hardening.

Project selesai dan sudah berhasil di testing di client2 mereka. Jika ada didaerah Batang yang tertarik memakai layanan internet mereka bisa kontak mereka di

Kubernetes, Docker, Vagrant and Nginx.

Keep the history of Kubernetes, Docker, Vagrant, and Nginx.

hostnamectl set-hostname
vim /etc/hosts
free -m
swapoff -a
vim /etc/hosts
vim /etc/fstab
setenforce 0
vim /etc/sysconfig/selinux
modprobe br_netfilter
echo “1” > /proc/sys/net/bridge/bridge-nf-call-iptables
curl -fsSL | sh
usermod -aG docker vagrant
id vagrant
vim /etc/yum.repos.d/kubernetes.repo
yum install -y kubelet kubeadm kubectl
systemctl enable docker
systemctl enable kubelet
systemctl start docker
systemctl status docker
kubeadm init –apiserver-advertise-address= –pod-network-cidr=
docker info | grep -i cgroup
vim /etc/docker/daemon.json
systemctl restart docker
vim /etc/docker/daemon.json
systemctl restart docker
vim /etc/docker/daemon.json
systemctl restart docker
systemctl status docker
cat /etc/docker/daemon.json
kubeadm reset
kubeadm init –apiserver-advertise-address= –pod-network-cidr=
vim join.txt
su – vagrant
kubectl apply -f
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf
sudo chown $(id -u):$(id -g)
ls -ld /home/vagrant/.kube/
kubectl apply -f
kubectl get nodes
sudo cat /root/join.txt
cat /etc/docker/daemon.json
{ “exec-opts”: [“native.cgroupdriver=systemd”]
kubectl get nodes
kubectl create deployment nginx –image=nginx
kubectl get pods
kubectl get pods -o wide
kubectl scale deployment nginx –replicas=4
kubectl get pods -o wide
kubectl create namespace dev
kubectl create namespace test
kubectl create deployment
httpd-dev –image=httpd -n dev
kubectl create deployment
tomcat-dev –image=tomcat -n dev
kubectl create deployment
mongo-dev –image=mongo -n dev
kubectl create deployment
httpd-test –image=httpd -n test
kubectl create deployment
tomcat-test –image=tomcat -n test
kubectl create deployment
mongo-test –image=mongo -n test
kubectl get pods -n dev
kubectl get pods -n test
kubectl get pods –all-namespaces
kubectl get pods
kubectl get pod
nginx-6799fc88d8-8tk4t –show-labels
kubectl label pod
nginx-6799fc88d8-8tk4t version=v1
kubectl get pod nginx-6799fc88d8-8tk4t –show-labels
vi nginx-deployment.yaml
cat nginx-deployment.yaml
kubectl create -f nginx-deployment.yaml
kubectl get pods
cat nginx-deployment.yaml

Keep learning !

Tigergraph Installation with Docker

Let’s Connect, Analyze, and Learn from Data.!

TigerGraph is the world’s fastest graph analytics platform designed to unleash the power of interconnected data for deeper insights and better outcomes. The company supports applications such as IoT, AI, and machine learning to make sense of ever-changing big data.

TigerGraph’s massively parallel processing (MPP) architecture combined with an efficient query processing engine allow for analyzing entities and their relationships at scale. TigerGraph is fully ACID compliant, giving the ability to perform both transactional and analytic workloads on the same platform. As with data lakes, TigerGraph’s scalability and flexible schema allow the joining of diverse data sets.

This is my first time using and install the Tiger Graph. Prerequisites, my local setup:

-macOS Catalina 10.15.7

-Docker Desktop 3.6.0 on Mac

TigerGraph Enterprise Edition docker image

Step 1: Install Docker on Mac follow this link.

Step 2: Open Terminal on your Mac and follow these steps:

-Prepare a Shared Folder on Host OS to be shared with Docker Container:

henrygultom@MacBook-Pro ~ % mkdir tigergraph
henrygultom@MacBook-Pro ~ % cd tigergraph
henrygultom@MacBook-Pro tigergraph % mkdir data
henrygultom@MacBook-Pro tigergraph % chmod 777 data
henrygultom@MacBook-Pro tigergraph % ls

-Run TigerGraph Docker image as a daemon:

henrygultom@MacBook-Pro tigergraph % docker run -d -p 14022:22 -p 9000:9000 -p 14240:14240 –name tigergraph –ulimit nofile=1000000:1000000 -v ~/tigergraph/data:/home/tigergraph/mydata -t
Unable to find image ‘’ locally
latest: Pulling from tigergraph
528184910841: Pull complete
8a9df81d603d: Pull complete
636d9303bf66: Pull complete
672b5bdcef61: Pull complete
5d1235f9b296: Pull complete
819f1e6e507e: Pull complete
Digest: sha256:4f16402f6cece37de98911ff286d4b6c996e7a7dab0cab996f36a77ede304010
Status: Downloaded newer image for
henrygultom@MacBook-Pro tigergraph %
henrygultom@MacBook-Pro tigergraph % docker ps
b3f33c6f7d75 “/bin/sh -c ‘/usr/sb…” 48 minutes ago Up 48 minutes>9000/tcp, :::9000->9000/tcp,>14240/tcp, :::14240->14240/tcp,>22/tcp, :::14022->22/tcp tigergraph
henrygultom@MacBook-Pro tigergraph %

henrygultom@MacBook-Pro tigergraph % uname -a
Darwin MacBook-Pro.local 19.6.0 Darwin Kernel Version 19.6.0: Tue Jun 22 19:49:55 PDT 2021; root:xnu-6153.141.35~1/RELEASE_X86_64 x86_64
henrygultom@MacBook-Pro tigergraph %

-Use SSH to connect to your container:

henrygultom@MacBook-Pro tigergraph % ssh -p 14022 tigergraph@localhost
The authenticity of host ‘[localhost]:14022 ([::1]:14022)’ can’t be established.
ECDSA key fingerprint is SHA256:yxJX13+vAPeEMuhhUE6Ni0qVMGzeUzci29Buv7qvZ6U.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘[localhost]:14022’ (ECDSA) to the list of known hosts.
tigergraph@localhost’s password:
Connection closed by ::1 port 14022
henrygultom@MacBook-Pro tigergraph %
henrygultom@MacBook-Pro tigergraph % ssh -p 14022 tigergraph@localhost
tigergraph@localhost’s password:
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 5.10.47-linuxkit x86_64)

* Documentation:
* Management:
* Support:

-Start TigerGraph:

tigergraph@b3f33c6f7d75:~$ gadmin start
[ Info] If no serviceID is specified, it only starts services excluding the infrastructure. Use ‘gadmin start all’ to start all services.
[ Error] ConnectionClosed (Unable to talk to ctrl, are all infrastructure services up? You can start them by ‘gadmin start infra’)
tigergraph@b3f33c6f7d75:~$ gadmin start all
[ Info] Starting EXE
[ Info] Starting CTRL

tigergraph@b3f33c6f7d75:~$ gsql
Welcome to TigerGraph.
GSQL > show v
vertex values var
GSQL > alter
GSQL > alter
GSQL > ls
—- Global vertices, edges, and all graphs
Vertex Types:
Edge Types:


JSON API version: v2
Syntax version: v1

GSQL > quit

tigergraph@b3f33c6f7d75:~$ ls
gsql-graph-algorithms mydata tigergraph tutorial
tigergraph@b3f33c6f7d75:~$ cd tutorial
tigergraph@b3f33c6f7d75:~/tutorial$ ls
2.x 3.x
tigergraph@b3f33c6f7d75:~/tutorial$ cd 2.x/
tigergraph@b3f33c6f7d75:~/tutorial/2.x$ ls
gsql101 gsql102
tigergraph@b3f33c6f7d75:~/tutorial/2.x$ cd gsql101
tigergraph@b3f33c6f7d75:~/tutorial/2.x/gsql101$ ls
friendship.csv gsql101.gsql person.csv
tigergraph@b3f33c6f7d75:~/tutorial/2.x/gsql101$ vim

tigergraph@b3f33c6f7d75:~/tutorial/2.x/gsql101$ gsql gsql101.gsql
Dropping all, about 1 minute …
Abort all active loading jobs
Resetting GPE…
Successfully reset GPE
Stopping GPE GSE
Successfully stopped GPE GSE in 0.495 seconds
Clearing graph store…
Successfully cleared graph store
Successfully started GPE GSE RESTPP in 0.075 seconds
Everything is dropped.
The vertex type person is created.
The edge type friendship is created.
Successfully stopped GPE GSE RESTPP in 17.650 seconds
Successfully started GPE GSE RESTPP in 0.071 seconds
The graph social is created.
Semantic Check Fails: File or directory ‘$HOME/tutorial/gsql101/person.csv’ does not exist!
Semantic Check Fails: The FILENAME = ‘m1:/home/tigergraph/tutorial/gsql101/person.csv’ is not in a valid path format.

The job load_social could not be created!

tigergraph@b3f33c6f7d75:~/tutorial/2.x/gsql101$ gsql version
GSQL version: 3.1
GSQL commit number: 06c9098c895d88a30daf3ee307a428ee38f0a7b4
GSQL commit date: 2021-07-19 09:18:25 -0700
Copyright (c) 2014-2021 TigerGraph. All rights reserved.
This product is protected by U.S. and international copyright and intellectual property laws.

Continue – next tutorial:

Installing Kubernetes on Alibaba Cloud Elastic Compute Service

Baru sadar sekarang ternyata sudah ada 186 artikel/tutorial sejak tahun 2003 yang sudah saya tulis(author) dan publish di internet melalui blog saya di . Saya belajar  di komunitas jadi kita harus giving back ke komunitas kembali dan jangan simpan sendiri ilmunya nanti tidak menjadi berkat.

Era platform open-source masih terus digunakan sampai sekarang dan menjadi sangat populer, sejak 25 August 1991 Linus Benedict Torvalds mempublish Linux kernel pertama kali dan berkembang sampai Linux Distribution pertama di release. Tahun 1993 distribusi Linux Slackware lahir dan diikuti di tahun yang sama Linux Debian.  Oke cukup bicara histori, kita lanjut ke pendatang baru yang lagi sangat tenar sekarang yaitu Kubernetes.

Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi, serta menyediakan konfigurasi dan otomatisasi secara deklaratif. Kubernetes berada di dalam ekosistem yang besar dan berkembang cepat. Servicesupport, dan perkakas Kubernetes tersedia secara meluas Kubernetes menyediakan manajemen environment yang berpusat pada kontainer. Kubernetes melakukan orkestrasi terhadap computingnetworking, dan inftrastruktur penyimpanan. Fitur inilah yang kemudian membuat konsep Platform as a Service (PaaS) menjadi lebih sederhana dilengkapi dengan fleksibilitas yang dimiliki oleh Infrastructure as a Service (IaaS).

Mau cepat paham ayo di coba/test/produce/reproduce jangan baca teori saja. Orang kita kadang malas mencoba, tapi maunya banyakin sertifikat saja.

Ujicoba saya kali ini menggunakan :
– Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-198-generic x86_64)
– Kubernetes dan Docker
– VM CPU and Memory 2Cores 4GiB running di Alibaba Cloud (sorry ini bukan promosi).

Let’s start, logged to VM using ssh :

sh-3.2# ssh root@
The authenticity of host ‘ (’ can’t be established.
ECDSA key fingerprint is SHA256:RveCyz8yQAJeS4dMElxwK3cWSUnZGdHirKrLmzIMRtc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘’ (ECDSA) to the list of known hosts.
root@’s password:
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-198-generic x86_64)

* Documentation:
* Management:
* Support:

38 packages can be updated.
38 of these updates are security updates.
To see these additional updates run: apt list –upgradable

Welcome to Alibaba Cloud Elastic Compute Service !

Last login: Thu Feb 18 17:01:24 2021

root@iZrj95zw0q0jnwnzbep2nxZ:~# apt-get update
Hit:1 xenial InRelease
Hit:2 xenial-updates InRelease
Hit:3 xenial-security InRelease
Reading package lists… Done

Install Docker :

Continue reading

Mewujudkan kawasan Danau Toba berstatus zero blankspot akses internet

Saya diundang menjadi pembicara narasumber untuk acara Webinar dengan topic “Mewujudkan kawasan Danau Toba berstatus zero blankspot akses internet”

Kaldera Toba atau yang lebih dikenal sebagai Danau Toba ditetapkan sebagai UNESCO Global Geopark pada Sidang ke-209 Dewan Eksekutif UNESCO di Paris, Prancis (2/7/2020).

Ada 24 titik blankspot internet tersebar di 9 kecamatan di Kawasan Danau Toba. Ini harus segera di review dan ditingkatkan kembali agar bisa meningkatkan sebaran internet di Pulau Samosir. Perlu sinergi kerjasama dari stakeholder lokal dan penyedia layanan telekomunikasi dan internet di tanah air. Event2 internasional akan segera hadir di Danau Toba so kita harus membangun infrastruktur Telco dan Internet di Pulau Samosir.


#danautoba #samosir #palaparingbarat #googleballoon #thecalderatobanomadicescape

Contact me:

3 Ways to Set Up a Linux Server on Alibaba Cloud

Alibaba Cloud Elastic Compute Service (ECS) provides a faster and more powerful way to run your cloud applications as compared with traditional physical servers. You can achieve great results on your cloud needs. With ECS, you can achieve more with the latest generation of CPUs as well as protect your instance from DDoS and Trojan attacks.

In this guide, we will talk about the best practices for provisioning your CentOS 6 server hosted on an Alibaba Cloud Elastic Compute Service (ECS) instance.


  1. A valid Alibaba Cloud account. If you don’t have one already, sign up to the Free Trial to enjoy up to $300 worth in Alibaba Cloud products.
  2. An ECS instance running CentOS 6. You can select your preferred region and configurations; this will not affect the outcome of the server setup.
  3. A root password for your server.

Step 1: Connect to your Alibaba Cloud CentOS 6 Server

Locate the Internet IP address (Public IP address) associated with your Alibaba Cloud ECS Instance.

Continue reading

Membuat dashboards di Azure portal

Jika sudah memiliki subscription di Azure portal dan kita memiliki virtual machine yang sudah kita setup didalamnya makan kita dapat menbuat Dashboards yang dapat melihat cloud resources secara terorganisasi dan fokus.  Dengan dashboards ini menjadi workspace kita dapat mengakses task operasional setiap hari dan memonitor resources.

Pada Azure portal kita bisa mengcustom dahsboard tersebut dan mempublish serta share dengan pengguna lain. Berikut cara untuk memulainya :

  1. Login ke Azure portal :
  2. Pada menu dropdown sebelah kiri Azure portal, pilih Dashboard.Azure Portal menu dropdown
  3. Di dashboard panel, pilih New dashboard dan Blank dashboard.New dashboard
  4. Kita ketik nama dashboard yang kita inginkan.
  5. Pada bagian Tile Gallery ada berbagai macam pilihan add ons yang bisa kita drag and drop ke sisi kanan dashboard, bisa diexplore lebih lanjut.
  6. Contoh kita mau memasukkan Avg Percentage CPU untuk salah satu virtual machine kita.
    1. Klik Home pada Azure portal lalu pilih Virtual machine(VM) dan nama VM yang sudah kita definisikan.
    2. lalu pilih Metrics dan pilih AVG Percentage CPU
    3. lalu pilih Pin to dashboard.



How to Deploy a Node.js Application on CentOS with Alibaba Cloud Starter Package

By Roha Gagan, Alibaba Cloud Community Blog author.

If you are planning to host a Node.js application or dynamic website on Alibaba Cloud, then an optimal and economical solution with high bandwidth, SSD and powerful CPU might interests you. Introducing Alibaba Cloud’s Starter Package Program, which provides SSD Cloud servers powered by 2nd Generation Intel Xeon Scalable Processors at highly affordable prices compared to other cloud providers. It allows you to access a powerful CPU at a much lower cost and supports both, Linux and Windows servers worldwide.

Alibaba Cloud’s Starter Package helps you get started instantly through simple, scalable, and cost-effective Elastic Compute Service (ECS) that caters to all your cloud hosting needs. The new SSD Cloud Server Packages provide easy-to-use, high-performance virtual machines with higher data transfer plans at hugely discounted rates for enabling you to start from as low as $2.50 a month. Since it is available across 14 global regions, you can easily choose the Datacenter Region for your servers to meet any specific requirements. It allows each user to have up to five ECS instances with the simultaneous Data Transfer Plans.

So, once you have reserved your SSD Cloud Server via Starter Package 2.0, you can go ahead and easily deploy a Node.js project on CentOS operating system by following the instructions below:


To build your dynamic website by deploying a Node.js project on CentOS, you should meet the following requirements:

  • Alibaba Cloud account. In case you don’t already have one, set up an account before continuing
  • SSH like PuTTy or RDP client (optional) installed on your computer


Continue reading

Selamat Bu Khofifah, Gubernur Jatim 2019-2024

Ada rasa bangga melihat Presiden Joko Widodo (Jokowi) resmi melantik Khofifah Indar Parawansa-Emil Elestianto Dardak sebagai pasangan gubernur dan wakil gubernur Jawa Timur (Jatim) periode 2019-2024. Sebagai salah satu tim IT/Medsos/War Room di timses beliau,  ikut membantu kurang lebih 6 bulan memenangkan beliau dalam pilgub Jatim 2018.

Selamat Bu! Semoga amanah dan berkah untuk rakyat Jawa Timur.


System Big Data memverifikasi data DPS Pilgub Jatim 2018

Menjelang pilgub Jatim 2018, ada Data Daftar Pemilih Sementara dalam bentuk Excel. File ini saya olah dan analisa dengan memanfaatkan teknologi Big Data, untuk mengolah data besar calon pemilih. Penyusunan Daftar Pemilih merupakan salah satu tahapan yang terpenting dalam persiapan Penyelenggaraan Pemilu. Bagus juga ada input untuk memverifikasi dari data pemilih sementara. Sama-sama membantu untuk kebaikan bersama.

Hal ini dapat dilihat masih banyaknya pada DPT :
1.Data pemilih invalid
2.Data pemilih ganda
3.Manipulasi data pemilih
4.Data pemilih fiktif

Kita merubah proses pengecekan data yang melelahkan menggunakan Excel dan pengecekan manusia. Menjadi proses automatis menggunakan system Big Data :

Hasil temuan ini dapat menjadi masukan untuk perbaikan dalam pemutakhiran data pemilih tetap.