Cloudflare Tunnel untuk Self Hosting

Saya sudah memakai Cloudflare sejak sekitar 10 tahun yang lalu dan tiap tahun biasanya selalu ada fitur baru. Tahun 2020, Cloudflare memperkenalkan Cloudflare Tunnel, yang salah satu kegunaanya adalah untuk membuat situs lokal kita bisa diakses internet. Ada banyak kegunaan lainnya, misalnya bisa untuk melakukan SSH atau remote desktop ke mesin lokal dari Internet atau untuk mengakses intranet, tapi yang akan saya bahas di tulisan ini hanya untuk web hosting saja.

Tunnel cloudflare

Saya sudah pernah menjelaskan apa itu Cloudflare Tunnel di posting Blog ini sekarang bertenaga surya. Secara singkat: salah satu kegunaan Cloudflare Tunnel adalah membuat website di server internal (tidak memiliki IP public) bisa diakses dengan nama domain publik. Caranya dengan menjalankan program cloudflared yang akan melakukan koneksi ke server cloudflare dan koneksi dari IP publik akan masuk melalui cloudflared.

Ini berarti:

  • Tidak mungkin salah konfigurasi sehingga website bisa diakses melalui public IP membypass cloudflare (karena web servernya memang tidak punya IP publik)
  • Kita bisa memakai server di rumah yang memakai dynamic IP (atau bahkan di Android dengan termux)

Selain itu Cloudflare tunnel mendukung autentikasi, jadi misalnya sebuah website punya area /admin yang hanya boleh diakses admin. Kita bisa mensetup agar ketika diakses akan muncul halaman autentikasi dari cloudflare.

Autentikasi Cloudflare bisa berdasarkan email, melalui login Google, login Github ataupun yang lain. Ini merupakan layer keamanan tambahan, andaikan penyerang ingin membrute force password, atau ada kelemahan SQL Injection atau yang lain di halaman login admin, maka penyerang harus bisa membypass dulu autentikasi dari Cloudflare.

Lanjutkan membaca “Cloudflare Tunnel untuk Self Hosting”

Blog ini sekarang bertenaga surya

Blog ini sudah 19 tahun umurnya. Hari ini blognya pindah ke server rumah, memakai tenaga surya (belum seluruh rumah memakai tenaga surya, tapi server dan modem internetnya bertenaga surya). Dulu kami mulai blog ini menyewa shared hosting yang cuma 5 ribu rupiah per bulan, lalu naik ke level harga lebih tinggi, sampai memakai VPS, dan bahkan dedicated server.

Blog ini sekarang dihost di Orange Pi 5.

Dari dulu saya memakai dedicated server karena ada proyek-proyek yang saya kerjakan. Ada proyek yang saya ceritakan di sini (misalnya BarInstall dan Tinycontroller) dan banyak yang tidak dituliskan. Dulu dedicated server 20an USD/bulan sudah cukup, tapi sekarang harga bulanan dedicated server makin naik. Hosting dedicated termurah ada di Eropa (Hetzner, Online.net), tapi di Eropa harga listrik makin mahal, jadi tahun lalu semua menaikkan harga.

Walau mahal, akhir-akhir ini saya masih hosting blog di dedicated server karena sekalian dipakai di proyek lain. Sekarang ini karena saya tidak lagi ada proyek yang butuh dedicated server dengan spesifikasi tinggi, saya tidak ingin membayar server mahal cuma untuk blog saja. Setelah banyak pertimbangan, akhirnya hostingnya dipindahkan ke rumah saja sekalian memakai tenaga matahari.

Ini merupakan pengembangan dari eksperimen website bertenaga matahari di akhir tahun 2021. Waktu itu saya bereksperimen dengan satu blog kecil bertenaga surya memakai Pi Zero W. Sekarang bukan cuma satu blog kecil, tapi hampir semua website yang kami miliki sudah pindah ke rumah, dengan tenaga surya. Plus modem fiber optiknya juga bertenaga surya.

Lanjutkan membaca “Blog ini sekarang bertenaga surya”

Mengenal Mastodon

Berbagai media sosial yang dimiliki berbagai perusahaan sudah datang dan pergi silih berganti (Friendster, Multiply, Google Plus, dsb). Saat ini Twitter dikhawatirkan akan mulai tenggelam di era Elon Musk, dan banyak orang mulai mempertimbangkan media sosial yang tidak dimiliki orang atau perusahaan tertentu dan saat ini yang populer adalah: Mastodon.

Tulisan ini tujuannya untuk orang awam, jadi saya tidak akan dalam membahas bagian teknis berbagai istilah seperti FediVerse, ActivityPub, dsb. Saya hanya akan membahas apa itu Mastodon, bagaimana caranya bergabung, dan kemiripannya dengan Twitter dan Blog.

Berita Mastodon sedang marak
Lanjutkan membaca “Mengenal Mastodon”

Mengenal Registrar, Domain, DNS, dan web hosting

Banyak yang sudah berkecimpung di dunia IT, tapi masih sering bingung dengan masalah nama domain sampai hosting, di tulisan ini saya akan berusaha menjelaskan dengan sederhana. Hal yang membuat bingung adalah karena satu perusahaan kadang menyediakan semua layanan sekaligus.

Masalah satu perusahaan melakukan banyak hal yang sama ini bisa dianalogikan dengan tukang jahit. Jika saya ingin membuat baju di tukang jahit, saya akan menyerahkan saja semuanya, termasuk membeli bahan, mengukur dsb, bahkan andaikan ada jasa laundry setelah jahitannya selesai, akan saya minta lakukan sekalian. Padahal untuk yang mengerti kain, mereka bisa membeli kain sendiri. Sebagian orang punya polanya sendiri, sehingga tukang jahit tinggal memotong dan menjahitkannya. Sebagian mungkin datang cuma ingin minta tolong bagian tertentu karena tidak punya mesinnya di rumah.

Nama domain dan registrar

Kita membeli nama domain di sebuah registrar. Ini sekedar seperti mendaftarkan nama perusahaan pada pemerintah. Mereka sekedar mengecek: namanya sudah dipakai atau belum dan memberi hak untuk memakai nama perusahaan itu. Dengan membeli domain, kita cuma memiliki hak untuk memakai nama itu. Sama seperti pemerintah yang sekedar memberi hak memakai nama perusahaan saja, kita tetap perlu menyewa (atau membeli) kantor sendiri, mendaftarkan nomor telepon, dsb.

Saat ini ada jasa mendirikan perusahaan, mulai dari jasa notaris, sampai memberikan alamat kantor (dishare dengan banyak peruashaan lain) dan nomor telepon. Kebanyakan jasa hosting domain memberikan layanan lengkap seperti ini, tapi saya ingin menjelaskan di sini tiap langkahnya supaya jelas.

Ketika registrasi domain (membeli domain), kita akan diminta mengisi data diri, dan apa nama domain yang kita mau. Setelah membeli, kita dapat nama domainnya, dan diberi isian: mau diisi dengan name server mana . Jadi tugas dan fungsi registrar hanya itu saja.

Nanti akan saya jelaskan apa itu name server (atau lebih lengkapnya: name server pada DNS). Analogi sederhana setting DNS seperti ini: ketika mendaftarkan nama perusahaan, akan ditanya nomor kontaknya, jika ada yang bertanya nama perusahaan ini (alamatnya di mana, teleponnya berapa, dsb) siapa yang harus dihubungi.

Kalau kita tidak mengisi name server mana yang akan dipakai, maka domain itu terdaftar tapi tidak bisa diakses. Biasanya karena registrar juga punya layanan lain, ini akan diisi secara default dengan name server milik perusahan tempat Anda membeli domain.

Jangan bingung jika ditanya dua name server, tujuannya adalah supaya ada cadangan kalau salah satu tidak bisa diakses.

Contoh isian di sebuah registrar

Nama domain ini bisa ditransfer ke registrar lain. Biasanya kita akan diminta mendapatkan key dari registrar lama, untuk dimasukkan ke registrar baru. Registrar yang baik tidak akan menghalangi proses ini, tapi yang nakal akan berusaha mempersulit proses pindah domain ke registrar lain.

Lanjutkan membaca “Mengenal Registrar, Domain, DNS, dan web hosting”

Berbagai cara murah hosting aplikasi web

Sekarang ini ada banyak sekali alternatif untuk menaruh aplikasi kita di web agar bisa diakses publik. Harganya hosting mulai dari yang gratis, sampai yang mahal, tapi di sini saya ingin memfokuskan ke:

  • cara yang murah atau gratis
  • terpercaya, reliable, bebas iklan
  • bisa menjalankan skrip/aplikasi, bukan hosting file statik

VPS Gratis dan Murah

Jika ingin bisa menjalankan apa saja, maka VPS adalah solusi terbaik. Dengan VPS Anda bisa menjalankan semua software terbaru dan bahkan menggunakan OS Alternatif bukan hanya Windows/Linux. Ada banyak penyedia VPS saat ini, dan sebagian cloud hosting menyediakan VPS gratis dalam jangka waktu tertentu atau dengan batasan tertentu. Contoh yang gratis:

  • Amazon memberikan instance EC2 gratis setahun (t2.micro atau t3.micro tergantung region)
  • Google memberikan Compute Engine gratis instance f1-micro (tapi limit bandwithnya sangat kecil: 1 GB egress)
  • Azure memberikan gratis VM Windows atau Linux selama 12 bulan
  • Oracle Cloud memberikan VM Gratis (dengan batas yang cukup besar)
Lanjutkan membaca “Berbagai cara murah hosting aplikasi web”

Meninggalkan Flickr

Sebenarnya dari sekitar 5 tahun yang lalu kami sudah tidak mengupload lagi foto ke Flickr, tapi ada banyak foto di blog ini yang melink ke Flickr. Waktu itu kami masih berlangganan Flickr Pro (25 USD/tahun). Flickr kemudian menggratiskan foto sampai 1TB, dan kemudian merugi jadi akhirnya dijual ke perusahaan lain.

Sekarang jumlah foto pengguna gratis dibatasi (1000 foto saja) dan Flickr Pro sekarang 60 USD/tahun (jika dibayar per tahun, atau 6.99 jika dibayar bulanan). Jika kami beralih ke free, maka kami hanya bisa menyisakan 1000 foto (dan otomatis foto terlama yang dihapus), tapi rasanya kurang berguna juga langganan pro. Mereka memberi kesempatan untuk mendownload semua foto, tapi mensortir lagi semua foto tersebut akan butuh waktu. Jadi sekarang saya putuskan:

  • Langganan dulu pro selama beberapa bulan
  • Semua foto yang dilink dari semua blog kami akan didownload dan diupload kembali ke blog
  • Semua album yang banyak isinya diupload ulang ke Google Photos
  • Setelah selesai, hentikan langganan Flickr Pro

Hari ini sudah beres membersihkan blog ini dari link Flickr. Ketika bersih-bersih saya menemukan juga beberapa foto link eksternal (multiply dan beberapa layanan lain) yang sudah tutup jadi tidak bisa diakses lagi. Sepertinya cara yang paling aman melink sekarang ini:

  • Upload ulang fotonya di blog ini
  • Link ke sumber original

Jadi andaikan sumber aslinya sudah hilang pun, tetap ada arsipnya. Sebenarnya ini tidak penting bagi pengguna blog, karena jarang ada yang membaca posting lama, tapi ini penting bagi kami yang ingin punya arsip digital hidup ini.

Email Alias

Sejak tahun lalu saya mulai mendaftar ke berbagai layanan dengan menggunakan salah satu domain saya sendiri menggunakan fitur email Gandi (tidak saya sebut domain yang mana agar tidak menambah spam). Dengan fitur gandi, saya bisa memiliki alias yang tak terbatas, misalnya acc*@example.com (artinya semua yang diawali dengan acc), yohanes*@example.com (semua yang diawali yohanes), dsb.

Jadi kalau misalnya saya mendaftar ke layanan baru, saya bisa langsung memakai yohanes<namalayanan>@example.com. Ini memiliki banyak kelebihan:

  • Jika ada kebocoran user/password, saya tau persis situs mana yang kebocoran
  • Jika ada situs bandel (mengirim spam), saya bisa memblokir email dari situs itu saja
  • Jika ada yang berusaha mengambil alih account saya, mereka harus menebak juga email mana yang saya pakai

Dalam hal menebak account: jika saya memakai selalu prefix yang sama (misalnya prefix acc, jadi ‘yohanesgojek’, ‘yohanesgrab’ dsb), maka jika ada ornag yang menjebol lebih dari satu situs bisa melihat polanya. Supaya aman, saya memakai beberapa prefix tergantung seberapa penting situsnya. Untuk situs super penting (misalnya Amazon), saya memakai alias yang benar-benar berbeda dari yang lain.

Sejauh ini saya belum menemukan masalah dengan pendekatan ini. Sejauh ini Gandi juga masih lancar sehingga tidak pernah kesulitan mengakses email ketika dibutuhkan. Sekarang ini saya sudah menemukan beberapa layanan yang bandel dan mengirim spam kepada saya. Mungkin lain kali akan saya tulis pelakunya di posting lain agar mereka jera.