Banyak aplikasi web yang masih digunakan hingga saat ini dibangun menggunakan pendekatan yang lazim pada masanya: struktur file sederhana, koneksi database langsung dari script PHP, penggunaan fungsi mysql_*, konfigurasi hardcoded, serta proses pengiriman email menggunakan fungsi bawaan mail().
Pendekatan tersebut tidak selalu salah jika dilihat dari konteks sejarahnya. Justru banyak aplikasi legacy yang berhasil bertahan karena desainnya sederhana, mudah dipahami, dan memiliki business logic yang jelas.
Salah satu contoh yang sedang saya kembangkan kembali adalah sebuah aplikasi PHP Autoresponder sederhana yang memiliki fungsi utama untuk menyimpan leads, mengirim welcome email, menjalankan drip email berdasarkan jumlah hari sejak user melakukan subscription, serta menyediakan mekanisme unsubscribe.
Project ini awalnya dibangun sebagai aplikasi PHP monolitik sederhana. Sekarang saya berencana memodernisasinya menjadi sebuah:
Lightweight, self-hosted email automation platform yang modern, aman, mudah di-deploy, dan dapat diintegrasikan dengan berbagai platform automation tanpa vendor lock-in.
Modernisasi ini tidak dilakukan dengan membuang seluruh aplikasi lama dan menulis ulang semuanya dari nol. Fokus utamanya adalah mempertahankan business logic yang masih relevan, lalu melakukan refactoring secara bertahap.
Kalau Anda pernah kehilangan proses penting karena koneksi SSH tiba-tiba putus di tengah deployment, Anda pasti paham betapa menyebalkannya itu. Setelah lebih dari dua dekade bergelut dengan server fisik, VM, dan berbagai platform cloud — dari VMware vSphere on-premise sampai instance di AWS, Alibaba Cloud, dan Huawei Cloud — salah satu tool sederhana yang tidak pernah saya tinggalkan adalah tmux.
Artikel ini membahas apa itu tmux, cara instalasinya, shortcut yang paling sering dipakai, serta bagaimana tool ini benar-benar membantu pekerjaan sehari-hari sebagai administrator sistem maupun cloud engineer.
Apa Itu tmux?
tmux (terminal multiplexer) adalah aplikasi yang memungkinkan satu koneksi terminal menjalankan banyak sesi shell sekaligus, masing-masing berjalan independen. Setiap sesi bisa dipecah lagi menjadi beberapa window dan pane, sehingga satu layar terminal bisa menampung banyak “ruang kerja” terisolasi tanpa saling mengganggu.
Keunggulan utamanya dibanding terminal biasa: proses yang berjalan di dalam sesi tmux tetap hidup meskipun koneksi SSH terputus. Ini krusial ketika mengelola server remote atau VPS — pekerjaan seperti restore database besar, kompilasi, atau monitoring log tidak akan berhenti hanya karena laptop Anda kehilangan koneksi WiFi di tengah jalan.
Instalasi tmux
Di server berbasis Debian/Ubuntu, instalasi cukup dengan dua baris perintah:
sudo apt update
sudo apt install tmux
Untuk distro berbasis RHEL/CentOS, ganti apt dengan yum atau dnf sesuai versinya. Setelah proses selesai, verifikasi instalasi dengan mengecek versinya:
tmux -V
Jika muncul nomor versi, instalasi berhasil. Praktik baik: jangan menjalankan tmux sebagai root pada server produksi — gunakan user biasa dengan su username atau sudo -u username terlebih dahulu, sesuai standar keamanan yang biasa saya terapkan di lingkungan enterprise.
Konsep Dasar: Sesi, Window, dan Pane
Ada tiga tingkatan struktur di tmux:
Sesi (session) — wadah paling luar, biasanya satu sesi untuk satu konteks pekerjaan (misalnya satu sesi untuk maintenance database, satu lagi untuk monitoring log).
Window — mirip tab di browser, satu sesi bisa berisi banyak window.
Pane — pembagian layar di dalam satu window, bisa horizontal atau vertikal.
Semua interaksi dengan tmux memakai kombinasi tombol prefix, yang secara default adalah Ctrl-b. Artinya, hampir semua shortcut diawali dengan menekan Ctrl-b, lepas, baru menekan tombol berikutnya.
Shortcut yang Paling Sering Dipakai
Berikut kombinasi yang paling sering saya gunakan di lapangan:
Shortcut
Fungsi
Ctrl-b d
Detach dari sesi aktif (proses tetap berjalan di background)
Ctrl-b c
Membuat window baru
Ctrl-b n / Ctrl-b p
Pindah ke window berikutnya / sebelumnya
Ctrl-b %
Split pane secara vertikal
Ctrl-b "
Split pane secara horizontal
Ctrl-b + panah
Berpindah antar-pane
Ctrl-b x
Menutup pane aktif (dengan konfirmasi)
Ctrl-b ,
Mengganti nama window
Ctrl-b w
Menampilkan daftar semua window dalam sesi
Ctrl-b ?
Menampilkan seluruh daftar shortcut
Alur Kerja Praktis
Memulai sesi baru dengan nama. Alih-alih membiarkan tmux memberi nomor ID default, biasakan memberi nama sesi yang jelas — misalnya per proyek atau per klien:
tmux new-session -s deploy-amt-dw
Ini sangat membantu ketika Anda mengelola banyak sesi sekaligus untuk klien atau proyek berbeda, sesuatu yang lumrah terjadi kalau sehari-hari menangani beberapa environment cloud sekaligus.
Detach dan attach kembali. Setelah pekerjaan berjalan, tekan Ctrl-b d untuk keluar tanpa menghentikan proses. Untuk kembali:
tmux attach-session -t deploy-amt-dw
Melihat semua sesi aktif:
tmux ls
Mengakhiri sesi tertentu:
tmux kill-session -t deploy-amt-dw
Kustomisasi lewat tmux.conf
Konfigurasi tmux bisa disesuaikan lewat file ~/.tmux.conf (per user) atau /etc/tmux.conf (global). Dua kustomisasi yang paling umum dilakukan administrator berpengalaman:
Mengubah prefix default dari Ctrl-b menjadi Ctrl-a (lebih mudah dijangkau, mengikuti gaya GNU Screen):
Mengubah penomoran window dan pane agar dimulai dari 1, bukan 0 — supaya lebih intuitif saat menekan shortcut angka:
set -g base-index 1
setw -g pane-base-index 1
Mengapa tmux Penting untuk Pekerjaan Cloud dan Presales Teknis
Dalam konteks pekerjaan yang berhubungan dengan ECS, VPS, atau instance compute di berbagai penyedia cloud, tmux punya beberapa manfaat konkret:
Proses long-running tetap aman. Deploy aplikasi, instalasi dependency besar, atau backup data tidak akan terputus hanya karena koneksi SSH putus.
Multitasking dalam satu koneksi. Anda bisa memonitor log aplikasi di satu pane, menjalankan command di pane lain, tanpa membuka banyak sesi SSH terpisah — menghemat resource, penting terutama di VPS dengan spesifikasi terbatas.
Kolaborasi tim. Sesi tmux bisa di-share antar-user yang login ke server yang sama, memudahkan pair troubleshooting saat insiden produksi.
Konsistensi lintas platform cloud. Baik Anda mengelola instance di Huawei Cloud ECS, Alibaba Cloud ECS, atau EC2 di AWS, cara kerja tmux sama persis — tidak tergantung penyedia cloud tertentu.
Penutup
tmux adalah salah satu tool yang dampaknya sering diremehkan sampai Anda benar-benar mengandalkannya saat koneksi tidak stabil atau harus menjalankan proses berjam-jam di server remote. Investasi waktu belajar shortcut dasarnya — detach, split pane, rename window — akan langsung terasa manfaatnya di pekerjaan sehari-hari, baik sebagai system administrator, cloud engineer, maupun presales yang sering demo langsung dari terminal.
Selama bertahun-tahun, ketika AI agent atau skrip web scraping perlu membaca halaman web, para pengembang hampir selalu mengandalkan Chromium (mesin di balik Google Chrome) secara headless. Namun, Chromium sejatinya dirancang untuk manusia—lengkap dengan tab, ekstensi, manajemen memori yang besar, dan rendering grafis tinggi.
Cloudflare Kitesurf hadir sebagai browser stateless yang dibangun khusus untuk kebutuhan AI agent, bukan manusia.
Mengapa Kitesurf Berbeda dari Browser Biasa?
Kitesurf tidak menjalankan codebase Chromium. Cloudflare membangun mesin ini menggunakan bahasa Rust dan WebAssembly yang berjalan langsung di atas infrastruktur V8 isolates (Cloudflare Workers).
AI agent tidak membutuhkan tampilan piksel yang sempurna, CSS animasi, atau navigasi antar-tab. Yang dibutuhkan AI adalah ekstraksi teks, pengambilan tangkapan layar (screenshot), konversi PDF, dan manipulasi DOM secara cepat dan efisien.